0001558370-24-014875.txt : 20241107 0001558370-24-014875.hdr.sgml : 20241107 20241107162246 ACCESSION NUMBER: 0001558370-24-014875 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 79 CONFORMED PERIOD OF REPORT: 20240930 FILED AS OF DATE: 20241107 DATE AS OF CHANGE: 20241107 FILER: COMPANY DATA: COMPANY CONFORMED NAME: PDF SOLUTIONS INC CENTRAL INDEX KEY: 0001120914 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-PREPACKAGED SOFTWARE [7372] ORGANIZATION NAME: 06 Technology IRS NUMBER: 251701361 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 000-31311 FILM NUMBER: 241436197 BUSINESS ADDRESS: STREET 1: 2858 DE LA CRUZ BOULEVARD CITY: SANTA CLARA STATE: CA ZIP: 95050 BUSINESS PHONE: 4082807900 MAIL ADDRESS: STREET 1: 2858 DE LA CRUZ BOULEVARD CITY: SANTA CLARA STATE: CA ZIP: 95050 10-Q 1 pdfs-20240930x10q.htm 10-Q
0001120914--12-312024Q30089000022200000000.000.000642000001false0001120914us-gaap:AccountsReceivableMember2024-09-300001120914us-gaap:AccountsReceivableMember2023-12-310001120914pdfs:StockRepurchaseProgram2024Member2024-04-152024-04-150001120914pdfs:StockRepurchaseProgram2022Member2022-04-112022-04-110001120914us-gaap:CommonStockMember2024-04-012024-06-300001120914us-gaap:CommonStockMember2023-04-012023-06-300001120914us-gaap:CommonStockMember2024-07-012024-09-300001120914us-gaap:CommonStockMember2024-01-012024-03-310001120914us-gaap:CommonStockMember2023-07-012023-09-300001120914us-gaap:CommonStockMember2023-01-012023-03-310001120914us-gaap:RetainedEarningsMember2024-09-300001120914us-gaap:AdditionalPaidInCapitalMember2024-09-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-09-300001120914us-gaap:RetainedEarningsMember2024-06-300001120914us-gaap:AdditionalPaidInCapitalMember2024-06-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-06-3000011209142024-06-300001120914us-gaap:RetainedEarningsMember2024-03-310001120914us-gaap:AdditionalPaidInCapitalMember2024-03-310001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-3100011209142024-03-310001120914us-gaap:RetainedEarningsMember2023-12-310001120914us-gaap:AdditionalPaidInCapitalMember2023-12-310001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001120914us-gaap:RetainedEarningsMember2023-09-300001120914us-gaap:AdditionalPaidInCapitalMember2023-09-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-09-300001120914us-gaap:RetainedEarningsMember2023-06-300001120914us-gaap:AdditionalPaidInCapitalMember2023-06-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-06-3000011209142023-06-300001120914us-gaap:RetainedEarningsMember2023-03-310001120914us-gaap:AdditionalPaidInCapitalMember2023-03-310001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-3100011209142023-03-310001120914us-gaap:RetainedEarningsMember2022-12-310001120914us-gaap:AdditionalPaidInCapitalMember2022-12-310001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001120914us-gaap:TreasuryStockCommonMember2024-09-300001120914us-gaap:CommonStockMember2024-09-300001120914us-gaap:TreasuryStockCommonMember2024-06-300001120914us-gaap:CommonStockMember2024-06-300001120914us-gaap:TreasuryStockCommonMember2024-03-310001120914us-gaap:CommonStockMember2024-03-310001120914us-gaap:TreasuryStockCommonMember2023-12-310001120914us-gaap:CommonStockMember2023-12-310001120914us-gaap:TreasuryStockCommonMember2023-09-300001120914us-gaap:CommonStockMember2023-09-300001120914us-gaap:TreasuryStockCommonMember2023-06-300001120914us-gaap:CommonStockMember2023-06-300001120914us-gaap:TreasuryStockCommonMember2023-03-310001120914us-gaap:CommonStockMember2023-03-310001120914us-gaap:TreasuryStockCommonMember2022-12-310001120914us-gaap:CommonStockMember2022-12-310001120914pdfs:EmployeeStockPurchasePlanMember2023-12-310001120914pdfs:IncentivePlanYear2011Member2024-01-012024-09-300001120914pdfs:IncentivePlanYear2011Member2023-01-012023-09-300001120914pdfs:EmployeeStockPurchasePlanMember2023-01-012023-09-300001120914pdfs:EmployeeStockPurchasePlanMember2024-01-012024-09-300001120914pdfs:EmployeeStockPurchasePlanMember2024-09-300001120914us-gaap:RestrictedStockUnitsRSUMember2023-12-310001120914us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-09-300001120914pdfs:AdvantestAmericaIncMemberpdfs:SoftwareLicenseAndRelatedServicesAgreementMember2024-09-302024-09-300001120914pdfs:IntegratedYieldRampMember2024-07-012024-09-300001120914pdfs:AnalyticsMember2024-07-012024-09-300001120914pdfs:IntegratedYieldRampMember2024-01-012024-09-300001120914pdfs:AnalyticsMember2024-01-012024-09-300001120914pdfs:IntegratedYieldRampMember2023-07-012023-09-300001120914pdfs:AnalyticsMember2023-07-012023-09-300001120914pdfs:IntegratedYieldRampMember2023-01-012023-09-300001120914pdfs:AnalyticsMember2023-01-012023-09-300001120914pdfs:PurchaseObligationsMember2024-09-300001120914us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2024-09-300001120914us-gaap:LeaseholdImprovementsMember2024-09-300001120914us-gaap:FurnitureAndFixturesMember2024-09-300001120914us-gaap:ComputerEquipmentMember2024-09-300001120914pdfs:TestEquipmentMember2024-09-300001120914pdfs:LaboratoryAndTestEquipmentMember2024-09-300001120914pdfs:InProgressDfiSystemAssetsMember2024-09-300001120914pdfs:InProgressCvSystemAndOtherAssetsMember2024-09-300001120914us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2023-12-310001120914us-gaap:LeaseholdImprovementsMember2023-12-310001120914us-gaap:FurnitureAndFixturesMember2023-12-310001120914us-gaap:ComputerEquipmentMember2023-12-310001120914pdfs:TestEquipmentMember2023-12-310001120914pdfs:LaboratoryAndTestEquipmentMember2023-12-310001120914pdfs:InProgressDfiSystemAssetsMember2023-12-310001120914pdfs:InProgressCvSystemAndOtherAssetsMember2023-12-310001120914us-gaap:FairValueInputsLevel3Member2024-09-300001120914pdfs:RestOfTheWorldMember2024-09-300001120914country:US2024-09-300001120914pdfs:RestOfTheWorldMember2023-12-310001120914country:US2023-12-310001120914srt:AffiliatedEntityMemberus-gaap:CollaborativeArrangementMember2020-07-012020-07-310001120914us-gaap:TrademarksAndTradeNamesMember2024-09-300001120914us-gaap:PatentsMember2024-09-300001120914us-gaap:NoncompeteAgreementsMember2024-09-300001120914us-gaap:DevelopedTechnologyRightsMember2024-09-300001120914us-gaap:CustomerRelationshipsMember2024-09-300001120914us-gaap:TrademarksAndTradeNamesMember2023-12-310001120914us-gaap:PatentsMember2023-12-310001120914us-gaap:NoncompeteAgreementsMember2023-12-310001120914us-gaap:DevelopedTechnologyRightsMember2023-12-310001120914us-gaap:CustomerRelationshipsMember2023-12-310001120914pdfs:PurchasePlanYear2021Member2024-07-012024-09-300001120914pdfs:PurchasePlanYear2021Member2023-07-012023-09-300001120914pdfs:PurchasePlanYear2021Member2023-01-012023-09-300001120914us-gaap:RestrictedStockUnitsRSUMember2024-01-012024-09-300001120914pdfs:PurchasePlanYear2021Member2024-01-012024-09-300001120914us-gaap:RestrictedStockUnitsRSUMember2024-09-300001120914pdfs:AdvantestAmericaIncMemberpdfs:SoftwareLicenseAndRelatedServicesAgreementMember2024-07-012024-09-300001120914pdfs:AdvantestAmericaIncMemberpdfs:SoftwareLicenseAndRelatedServicesAgreementMember2024-01-012024-09-300001120914pdfs:AdvantestAmericaIncMemberpdfs:SoftwareLicenseAndRelatedServicesAgreementMember2023-07-012023-09-300001120914pdfs:AdvantestAmericaIncMemberpdfs:SoftwareLicenseAndRelatedServicesAgreementMember2023-01-012023-09-300001120914pdfs:AnalyticsMembersrt:AffiliatedEntityMember2024-09-300001120914pdfs:AnalyticsMembersrt:AffiliatedEntityMember2023-12-310001120914us-gaap:NonUsMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-07-012024-09-300001120914pdfs:RestOfTheWorldMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-07-012024-09-300001120914pdfs:CustomerDMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-07-012024-09-300001120914pdfs:CustomerAMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-07-012024-09-300001120914country:USus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-07-012024-09-300001120914country:TWus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-07-012024-09-300001120914country:JPus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-07-012024-09-300001120914country:CNus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-07-012024-09-300001120914us-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-07-012024-09-300001120914us-gaap:NonUsMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-01-012024-09-300001120914pdfs:RestOfTheWorldMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-01-012024-09-300001120914pdfs:CustomerDMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-09-300001120914pdfs:CustomerBMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-09-300001120914pdfs:CustomerAMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-09-300001120914pdfs:CustomerAMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-09-300001120914country:USus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-01-012024-09-300001120914country:TWus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-01-012024-09-300001120914country:JPus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-01-012024-09-300001120914country:CNus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-01-012024-09-300001120914us-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-01-012024-09-300001120914us-gaap:NonUsMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-07-012023-09-300001120914pdfs:RestOfTheWorldMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-07-012023-09-300001120914pdfs:CustomerAMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-07-012023-09-300001120914country:USus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-07-012023-09-300001120914country:TWus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-07-012023-09-300001120914country:JPus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-07-012023-09-300001120914country:CNus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-07-012023-09-300001120914us-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-07-012023-09-300001120914pdfs:CustomerDMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001120914pdfs:CustomerAMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001120914us-gaap:NonUsMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-01-012023-09-300001120914pdfs:RestOfTheWorldMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-01-012023-09-300001120914pdfs:CustomerAMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-09-300001120914country:USus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-01-012023-09-300001120914country:TWus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-01-012023-09-300001120914country:JPus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-01-012023-09-300001120914country:CNus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-01-012023-09-300001120914us-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-01-012023-09-300001120914us-gaap:RetainedEarningsMember2024-07-012024-09-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-07-012024-09-300001120914us-gaap:RetainedEarningsMember2024-04-012024-06-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-04-012024-06-300001120914us-gaap:RetainedEarningsMember2024-01-012024-03-310001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-012024-03-310001120914us-gaap:RetainedEarningsMember2023-07-012023-09-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-012023-09-300001120914us-gaap:RetainedEarningsMember2023-04-012023-06-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-04-012023-06-300001120914us-gaap:RetainedEarningsMember2023-01-012023-03-310001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310001120914pdfs:PurchasePlanYear2021Member2024-09-3000011209142023-09-3000011209142022-12-310001120914us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Member2024-09-300001120914us-gaap:MoneyMarketFundsMember2024-09-300001120914us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Member2023-12-310001120914us-gaap:MoneyMarketFundsMember2023-12-310001120914us-gaap:OtherNoncurrentAssetsMember2024-09-300001120914us-gaap:OtherNoncurrentAssetsMember2023-12-310001120914us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember2024-09-300001120914us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember2023-12-310001120914us-gaap:FairValueInputsLevel1Member2024-09-300001120914us-gaap:FairValueInputsLevel1Member2023-12-310001120914us-gaap:RestrictedStockUnitsRSUMember2024-07-012024-09-300001120914us-gaap:RestrictedStockUnitsRSUMember2024-01-012024-09-300001120914us-gaap:RestrictedStockUnitsRSUMember2023-07-012023-09-300001120914us-gaap:EmployeeStockOptionMember2023-07-012023-09-300001120914pdfs:EmployeeStockPlansMember2023-07-012023-09-300001120914us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-09-300001120914us-gaap:SellingGeneralAndAdministrativeExpensesMember2024-07-012024-09-300001120914us-gaap:ResearchAndDevelopmentExpenseMember2024-07-012024-09-300001120914us-gaap:SellingGeneralAndAdministrativeExpensesMember2024-01-012024-09-300001120914us-gaap:ResearchAndDevelopmentExpenseMember2024-01-012024-09-300001120914us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-07-012023-09-300001120914us-gaap:ResearchAndDevelopmentExpenseMember2023-07-012023-09-300001120914us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-01-012023-09-300001120914us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-09-300001120914us-gaap:AdditionalPaidInCapitalMember2024-07-012024-09-300001120914us-gaap:AdditionalPaidInCapitalMember2024-04-012024-06-300001120914us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310001120914us-gaap:AdditionalPaidInCapitalMember2023-07-012023-09-300001120914us-gaap:AdditionalPaidInCapitalMember2023-04-012023-06-300001120914us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001120914us-gaap:TreasuryStockCommonMember2024-07-012024-09-300001120914us-gaap:TreasuryStockCommonMember2024-04-012024-06-3000011209142024-04-012024-06-300001120914us-gaap:TreasuryStockCommonMember2024-01-012024-03-3100011209142024-01-012024-03-310001120914us-gaap:TreasuryStockCommonMember2023-07-012023-09-300001120914us-gaap:TreasuryStockCommonMember2023-04-012023-06-3000011209142023-04-012023-06-300001120914us-gaap:TreasuryStockCommonMember2023-01-012023-03-3100011209142023-01-012023-03-310001120914pdfs:StockRepurchaseProgram2024Member2024-04-150001120914pdfs:StockRepurchaseProgram2022Member2022-04-110001120914pdfs:PurchaseObligationsMember2024-01-012024-09-300001120914pdfs:IndemnificationsMember2024-01-012024-09-300001120914srt:MaximumMemberpdfs:ExpiredStockPlansMember2011-11-160001120914us-gaap:EmployeeStockOptionMemberpdfs:IncentivePlanYear2011Member2011-11-162011-11-160001120914pdfs:StockRepurchaseProgram2022Member2024-01-012024-09-300001120914pdfs:StockRepurchaseProgram2022Member2022-04-112024-09-300001120914us-gaap:TransferredOverTimeMember2024-07-012024-09-300001120914us-gaap:TransferredAtPointInTimeMember2024-07-012024-09-300001120914us-gaap:TransferredOverTimeMember2024-01-012024-09-300001120914us-gaap:TransferredAtPointInTimeMember2024-01-012024-09-300001120914us-gaap:TransferredOverTimeMember2023-07-012023-09-300001120914us-gaap:TransferredAtPointInTimeMember2023-07-012023-09-300001120914us-gaap:TransferredOverTimeMember2023-01-012023-09-300001120914us-gaap:TransferredAtPointInTimeMember2023-01-012023-09-300001120914pdfs:PurchasePlanYear2021Member2021-08-012024-09-300001120914srt:MinimumMember2024-01-012024-09-300001120914pdfs:IncentivePlanYear2011Member2024-09-3000011209142024-09-3000011209142023-12-310001120914srt:MinimumMemberus-gaap:TrademarksAndTradeNamesMember2024-01-012024-09-300001120914srt:MinimumMemberus-gaap:PatentsMember2024-01-012024-09-300001120914srt:MinimumMemberus-gaap:DevelopedTechnologyRightsMember2024-01-012024-09-300001120914srt:MinimumMemberus-gaap:CustomerRelationshipsMember2024-01-012024-09-300001120914srt:MaximumMemberus-gaap:TrademarksAndTradeNamesMember2024-01-012024-09-300001120914srt:MaximumMemberus-gaap:PatentsMember2024-01-012024-09-300001120914srt:MaximumMemberus-gaap:DevelopedTechnologyRightsMember2024-01-012024-09-300001120914srt:MaximumMemberus-gaap:CustomerRelationshipsMember2024-01-012024-09-300001120914us-gaap:NoncompeteAgreementsMember2024-01-012024-09-300001120914us-gaap:CostOfSalesMember2024-07-012024-09-300001120914us-gaap:CostOfSalesMember2024-01-012024-09-300001120914us-gaap:CostOfSalesMember2023-07-012023-09-300001120914us-gaap:CostOfSalesMember2023-01-012023-09-300001120914pdfs:CostsAndExpensesMember2024-07-012024-09-300001120914pdfs:CostsAndExpensesMember2024-01-012024-09-300001120914pdfs:CostsAndExpensesMember2023-07-012023-09-300001120914pdfs:CostsAndExpensesMember2023-01-012023-09-3000011209142024-07-012024-09-3000011209142023-07-012023-09-300001120914pdfs:AnalyticsMembersrt:AffiliatedEntityMember2024-07-012024-09-300001120914pdfs:AnalyticsMembersrt:AffiliatedEntityMember2024-01-012024-09-300001120914pdfs:AnalyticsMembersrt:AffiliatedEntityMember2023-07-012023-09-300001120914pdfs:AnalyticsMembersrt:AffiliatedEntityMember2023-01-012023-09-3000011209142023-01-012023-09-3000011209142024-11-0100011209142024-01-012024-09-30xbrli:sharesiso4217:USDxbrli:pureiso4217:USDxbrli:shares

g

UNITED STATES SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

FORM 10-Q

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

 

 

For the Quarterly Period ended September 30, 2024

or

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

 

 

 

For the transition period from _______________ to ______________   

Commission File Number 000-31311

PDF SOLUTIONS, INC.

(Exact name of Registrant as Specified in its Charter)

Delaware

25-1701361

(State or Other Jurisdiction of Incorporation or Organization)

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

  

  

2858 De La Cruz Blvd.

  

Santa Clara, California 

95050 

(Address of Principal Executive Offices)

(Zip Code)

(408) 280-7900

(Registrant’s Telephone Number, Including Area Code)

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

Title of each class

Trading Symbol(s)

Name of each exchange on which registered

Common Stock, $0.00015 par value

PDFS

The Nasdaq Stock Market LLC

Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. Yes No

Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). Yes  No  

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

Large accelerated filer 

Accelerated filer 

Non-accelerated filer

Smaller reporting company 

 

Emerging growth company 

If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.

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

There were 38,772,864 shares of the Registrant’s Common Stock outstanding as of November 1, 2024.

TABLE OF CONTENTS

 

    

Page

PART I   FINANCIAL INFORMATION

Item 1. Financial Statements (Unaudited)

Condensed Consolidated Balance Sheets

3

Condensed Consolidated Statements of Comprehensive Income (Loss)

4

Condensed Consolidated Statements of Stockholders’ Equity

5

Condensed Consolidated Statements of Cash Flows

7

Notes to Condensed Consolidated Financial Statements

9

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

30

Item 3. Quantitative and Qualitative Disclosures About Market Risk

46

Item 4. Controls and Procedures

46

PART II  OTHER INFORMATION

Item 1. Legal Proceedings

47

Item 1A. Risk Factors

47

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

47

Item 3. Defaults Upon Senior Securities

48

Item 4. Mine Safety Disclosures

48

Item 5. Other Information

48

Item 6. Exhibits

48

INDEX TO EXHIBITS

48

SIGNATURES

49

2

PART I — FINANCIAL INFORMATION

Item 1. Financial Statements

PDF SOLUTIONS, INC.

CONDENSED CONSOLIDATED BALANCE SHEETS

(Unaudited)

(in thousands, except par value)

September 30, 

December 31, 

    

2024

    

2023

ASSETS

 

  

 

  

Current assets:

 

  

 

  

Cash and cash equivalents

$

96,428

$

98,978

Short-term investments

 

23,724

 

36,544

Accounts receivable, net of allowance for credit losses of $890 as of September 30, 2024, and December 31, 2023

 

46,668

 

44,904

Prepaid expenses and other current assets

 

24,575

 

17,422

Total current assets

 

191,395

 

197,848

Property and equipment, net

 

46,019

 

37,338

Operating lease right-of-use assets, net

 

4,360

 

4,926

Goodwill

 

15,011

 

15,029

Intangible assets, net

 

13,133

 

15,620

Deferred tax assets, net

 

173

 

157

Other non-current assets

 

37,260

 

19,218

Total assets

$

307,351

$

290,136

LIABILITIES AND STOCKHOLDERS’ EQUITY

 

  

 

  

Current liabilities:

 

  

 

  

Accounts payable

$

7,504

$

2,561

Accrued compensation and related benefits

 

13,191

 

14,800

Accrued and other current liabilities

 

6,510

 

4,633

Operating lease liabilities – current portion

 

1,706

 

1,529

Deferred revenues – current portion

 

28,728

 

25,750

Billings in excess of recognized revenues

 

91

 

1,570

Total current liabilities

 

57,730

 

50,843

Long-term income taxes

 

2,883

 

2,972

Non-current portion of operating lease liabilities

 

3,870

 

4,657

Other non-current liabilities

 

2,404

 

2,718

Total liabilities

 

66,887

 

61,190

Commitments and contingencies (Note 11)

 

  

 

  

Stockholders’ equity:

 

  

 

  

Preferred stock, $0.00015 par value, 5,000 shares authorized, no shares issued and outstanding

Common stock, $0.00015 par value, 70,000 shares authorized; shares issued 50,668 and 49,749, respectively; shares outstanding 38,763 and 38,289, respectively

 

6

 

6

Additional paid-in capital

 

496,255

 

473,295

Treasury stock, at cost, 11,905 and 11,460 shares, respectively

 

(159,018)

 

(143,923)

Accumulated deficit

 

(94,527)

 

(98,045)

Accumulated other comprehensive loss

 

(2,252)

 

(2,387)

Total stockholders’ equity

 

240,464

 

228,946

Total liabilities and stockholders’ equity

$

307,351

$

290,136

See accompanying Notes to Condensed Consolidated Financial Statements (Unaudited)

3

PDF SOLUTIONS, INC.

CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)

(Unaudited)

(in thousands, except per share amounts)

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

   

2023

    

2024

  

2023

Revenues:

 

  

 

  

 

  

 

  

Analytics

$

44,750

$

39,497

$

121,327

$

112,957

Integrated Yield Ramp

 

1,659

 

2,853

 

8,053

 

11,753

Total revenues

 

46,409

 

42,350

 

129,380

 

124,710

Costs and Expenses:

 

  

 

  

 

  

 

  

Costs of revenues

 

12,484

 

14,282

 

38,243

 

38,555

Research and development

 

13,516

 

13,113

 

39,149

 

38,428

Selling, general, and administrative

 

18,094

 

15,611

 

50,851

 

46,022

Amortization of acquired intangible assets

 

196

 

328

 

714

 

979

Interest and other expense (income), net

 

(1,511)

 

(2,018)

 

(4,682)

 

(4,000)

Income before income tax expense

 

3,630

 

1,034

 

5,105

 

4,726

Income tax expense

 

(1,424)

 

(6,006)

 

(1,587)

 

(2,508)

Net income (loss)

2,206

(4,972)

3,518

2,218

Other comprehensive income (loss):

 

  

 

 

Foreign currency translation adjustments, net of tax

975

(552)

123

(679)

Change in unrealized gain (loss) related to available-for-sale debt securities, net of tax

 

28

 

(5)

 

12

 

2

Total other comprehensive (income) loss

1,003

(557)

135

(677)

Comprehensive income (loss)

$

3,209

$

(5,529)

$

3,653

$

1,541

Net income (loss) per share:

Basic

$

0.06

$

(0.13)

$

0.09

$

0.06

Diluted

$

0.06

$

(0.13)

$

0.09

$

0.06

Weighted average common shares used to calculate net income (loss) per share:

 

Basic

 

38,710

 

38,187

 

38,542

 

37,930

Diluted

 

39,105

 

38,187

 

39,028

 

38,977

See accompanying Notes to Condensed Consolidated Financial Statements (Unaudited)

4

PDF SOLUTIONS, INC.

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(Unaudited)

(in thousands)

Three-Month Periods in the Nine Months Ended September 30, 2024

Accumulated

Additional

Other

Total

Common Stock

Paid-In

Treasury Stock

Accumulated

Comprehensive

Stockholders’

   

Shares

   

Amount

   

Capital

   

Shares

   

Amount

   

Deficit

   

Loss

   

Equity

Balances, December 31, 2023

38,289

$

6

$

473,295

11,460

$

(143,923)

$

(98,045)

$

(2,387)

$

228,946

Repurchase of common stock

(202)

202

(6,899)

(6,899)

Issuance of common stock in connection with employee stock purchase plan

 

74

 

 

1,916

 

 

 

 

 

1,916

Issuance of common stock in connection with exercise of options

 

1

 

 

25

 

 

 

 

 

25

Vesting of restricted stock units

 

231

 

 

 

 

 

 

 

Purchases of treasury stock in connection with tax withholdings on restricted stock awards

 

 

 

 

118

 

(3,794)

 

 

 

(3,794)

Stock-based compensation expense

 

 

 

6,154

 

 

 

 

 

6,154

Comprehensive loss

 

 

 

(393)

 

(542)

 

(935)

Balances, March 31, 2024

 

38,393

6

481,390

 

11,780

(154,616)

(98,438)

(2,929)

225,413

Issuance of common stock in connection with exercise of options

 

4

67

 

 

 

 

67

Vesting of restricted stock units

 

34

 

 

 

 

 

 

Purchases of treasury stock in connection with tax withholdings on restricted stock awards

 

 

 

13

(468)

 

 

(468)

Stock-based compensation expense

 

 

5,762

 

5,762

Comprehensive income (loss)

 

 

 

1,705

(326)

 

1,379

Balances, June 30, 2024

 

38,431

6

487,219

 

11,793

(155,084)

(96,733)

(3,255)

232,153

Issuance of common stock in connection with employee stock purchase plan

 

82

 

 

2,157

 

 

 

 

 

2,157

Issuance of common stock in connection with exercise of options

 

2

 

 

22

 

 

 

 

 

22

Vesting of restricted stock units

 

248

 

 

 

 

 

 

 

Purchases of treasury stock in connection with tax withholdings on restricted stock grants

 

 

 

 

112

 

(3,934)

 

 

 

(3,934)

Stock-based compensation expense

 

 

 

6,857

 

 

 

 

 

6,857

Comprehensive income

 

 

 

 

 

 

2,206

 

1,003

 

3,209

Balances, September 30, 2024

 

38,763

$

6

$

496,255

 

11,905

$

(159,018)

$

(94,527)

$

(2,252)

$

240,464

Continued on next page.

5

PDF SOLUTIONS, INC.

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY - CONTINUED

(Unaudited)

(in thousands)

Three-Month Periods in the Nine Months Ended September 30, 2023

Accumulated

Additional

Other

Total

Common Stock

Paid-In

Treasury Stock

Accumulated

Comprehensive

Stockholders’

   

Shares

   

Amount

   

Capital

   

Shares

   

Amount

   

Deficit

   

Loss

   

Equity

Balances, December 31, 2022

37,431

$

6

$

447,415

11,182

$

(133,709)

$

(101,150)

$

(2,550)

$

210,012

Issuance of common stock in connection with employee stock purchase plan

 

98

 

 

1,663

 

 

 

 

 

1,663

Issuance of common stock in connection with exercise of options

 

21

 

 

345

 

 

 

 

 

345

Vesting of restricted stock units

 

286

 

 

 

 

 

 

 

Purchases of treasury stock in connection with tax withholdings on restricted stock awards

 

 

 

 

133

 

(4,101)

 

 

 

(4,101)

Stock-based compensation expense

 

 

 

4,884

 

 

 

 

 

4,884

Comprehensive income

 

 

 

 

 

 

355

 

267

 

622

Balances, March 31, 2023

 

37,836

6

454,307

 

11,315

(137,810)

(100,795)

(2,283)

213,425

Issuance of common stock in connection with exercise of options

 

6

 

 

87

 

 

 

 

 

87

Vesting of restricted stock units

 

37

 

 

 

 

 

 

 

Purchases of treasury stock in connection with tax withholdings on restricted stock awards

 

 

 

 

11

 

(468)

 

 

 

(468)

Stock-based compensation expense

 

 

 

4,678

 

 

 

 

 

4,678

Comprehensive income (loss)

 

 

 

 

 

 

6,835

 

(387)

 

6,448

Balances, June 30, 2023

 

37,879

6

459,072

11,326

(138,278)

(93,960)

$

(2,670)

224,170

Issuance of common stock in connection with employee stock purchase plan

 

125

 

 

2,169

 

 

 

 

 

2,169

Issuance of common stock in connection with exercise of options

2

 

37

 

 

 

 

 

37

Vesting of restricted stock units

 

260

 

 

 

 

 

 

 

Purchases of treasury stock in connection with tax withholdings on restricted stock grants

 

 

 

 

102

 

(4,566)

 

 

 

(4,566)

Repurchase of common stock

(21)

 

21

(743)

 

(743)

Stock-based compensation expense

 

 

 

6,026

 

 

 

 

 

6,026

Comprehensive loss

 

 

 

 

 

 

(4,972)

 

(557)

 

(5,529)

Balances, September 30, 2023

 

38,245

$

6

$

467,304

 

11,449

$

(143,587)

$

(98,932)

$

(3,227)

$

221,564

See accompanying Notes to Condensed Consolidated Financial Statements (Unaudited)

6

PDF SOLUTIONS, INC.

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(Unaudited)

(in thousands)

Nine Months Ended September 30, 

    

2024

    

2023

Cash flows from operating activities:

Net income

$

3,518

$

2,218

Adjustments to reconcile net income to net cash provided by operating activities:

 

 

Depreciation and amortization

 

2,895

 

3,778

Stock-based compensation expense

 

18,540

 

15,561

Amortization of acquired intangible assets

 

2,466

 

2,659

Amortization of costs capitalized to obtain revenue contracts

 

1,941

 

1,494

Net accretion of discounts on short-term investments

(1,239)

(734)

Accretion of unguaranteed residual assets

(488)

(51)

Deferred taxes

 

(35)

 

43

Other

 

(68)

 

(55)

Changes in operating assets and liabilities:

 

 

Accounts receivable

 

(1,743)

 

1,185

Prepaid expenses and other current assets

 

(8,831)

 

(7,038)

Operating lease right-of-use assets

 

1,241

 

904

Other non-current assets

 

(11,478)

 

(928)

Accounts payable

 

2,995

 

(2,697)

Accrued compensation and related benefits

 

(1,608)

 

(5,342)

Accrued and other liabilities

 

(16)

 

393

Deferred revenues

 

2,771

 

3,681

Billings in excess of recognized revenues

 

(1,479)

 

(1,612)

Operating lease liabilities

 

(1,285)

 

(888)

Net cash provided by operating activities

 

8,097

 

12,571

Cash flows from investing activities:

Proceeds from maturities and sales of short-term investments

 

57,125

 

28,800

Purchases of short-term investments

(43,054)

(32,250)

Purchase of convertible promissory note

(2,000)

Proceeds from sale of property and equipment

55

105

Purchases of property and equipment

(11,573)

(8,574)

Prepayment for the purchase of property and equipment

(365)

(343)

Purchases of intangible assets

(150)

Payment for business acquisition, net of cash acquired

(1,823)

Net cash provided by (used in) investing activities

 

188

 

(14,235)

Cash flows from financing activities:

 

 

  

Proceeds from exercise of stock options

 

114

 

469

Proceeds from employee stock purchase plan

 

4,073

 

3,832

Payments for taxes related to net share settlement of equity awards

 

(8,196)

 

(9,135)

Repurchases of common stock

 

(6,899)

 

(743)

Net cash used in financing activities

 

(10,908)

 

(5,577)

Effect of exchange rate changes on cash and cash equivalents

 

73

 

(763)

Net change in cash and cash equivalents

 

(2,550)

 

(8,004)

Cash and cash equivalents at beginning of period

 

98,978

 

119,624

Cash and cash equivalents at end of period

$

96,428

$

111,620

Continued on next page.

7

PDF SOLUTIONS, INC.

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS – CONTINUED

(Unaudited)

(in thousands)

Nine Months Ended September 30, 

2024

    

2023

Supplemental disclosure of cash flow information:

Cash paid during the year for income taxes

$

2,064

$

3,568

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

$

1,290

$

1,160

Supplemental disclosure of noncash information:

Property and equipment received and accrued in accounts payable and accrued and other current liabilities

$

4,774

$

697

Advances for purchase of property and equipment transferred from prepaid assets to property and equipment

$

89

$

66

Operating lease liabilities arising from obtaining right-of-use assets

$

679

$

Property and equipment transferred to sales-type leases

$

4,021

$

6,002

Stock-based compensation capitalized as part of the cost of property and equipment, net

$

233

$

See accompanying Notes to Condensed Consolidated Financial Statements (Unaudited)

8

PDF SOLUTIONS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

1. BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

Basis of Presentation

The interim unaudited condensed consolidated financial statements included herein have been prepared by PDF Solutions, Inc. (the “Company”) pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”), including the instructions to the Quarterly Report on Form 10-Q and Article 10 of Regulation S-X. Certain information and footnote disclosures normally included in annual consolidated financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been condensed or omitted. The interim unaudited condensed consolidated financial statements reflect, in the opinion of management, all adjustments necessary (consisting only of normal recurring adjustments) to present a fair statement of results for the interim periods presented. The operating results for any interim period are not necessarily indicative of the results that may be expected for other interim periods or the full fiscal year. The accompanying interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023, filed with the SEC on February 27, 2024.

The interim unaudited condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries after the elimination of all intercompany balances and transactions.

The accompanying interim unaudited condensed consolidated balance sheet as of December 31, 2023, has been derived from the audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America.

Use of Estimates

The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates in these condensed consolidated financial statements include revenue recognition, the estimated useful lives of property and equipment and intangible assets, fair value of convertible note receivable, assumptions made in analysis of allowance for credit losses, impairment of goodwill and long-lived assets, realization of deferred tax assets (“DTAs”), and accounting for lease obligations, stock-based compensation expense, and income tax uncertainties and contingencies. Actual results could differ from those estimates and may result in material effects on the Company’s operating results and financial position.

Recent Accounting Standards

In November 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which requires disclosure of incremental segment information on an annual and interim basis. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, and requires retrospective application to all prior periods presented in the financial statements. Early adoption is permitted. The Company is currently evaluating the impact of the new standard on the consolidated financial statements and related disclosures.

9

In December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures. This ASU is intended to improve the transparency of income tax disclosures by requiring (1) consistent categories and greater disaggregation of information in the rate reconciliation and (2) income taxes paid disaggregated by jurisdiction. It also includes certain other amendments to improve the effectiveness of income tax disclosures. The ASU’s amendments are effective for public business entities for annual periods beginning after December 15, 2024. Entities are permitted to early adopt the standard for “annual financial statements that have not yet been issued or made available for issuance.” Adoption is either prospectively or retrospectively, the Company will adopt this ASU on a prospective basis. The Company is currently evaluating the impact of the new standard on the consolidated financial statements and related disclosures.

Management has reviewed other recently issued accounting pronouncements issued or proposed by the FASB and does not believe any of these accounting pronouncements has had or will have a material impact on the condensed unaudited consolidated financial statements.

2. REVENUE FROM CONTRACTS WITH CUSTOMERS

The Company derives revenue from two sources: Analytics and Integrated Yield Ramp.

The Company recognizes revenue in accordance with FASB Accounting Standards Codification (“ASC”) Topic 606, Revenue from Contracts with Customers, and its related amendments (collectively known as “ASC 606”). ASC 606 outlines a single comprehensive model to use in accounting for revenue arising from contracts with customers. Revenue is recognized when control of products or services is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those promised products or services.

The Company determines revenue recognition through the following five steps:

Identification of the contract, or contracts, with a customer
Identification of the performance obligations in the contract
Determination of the transaction price
Allocation of the transaction price to the performance obligations in the contract
Recognition of revenue when, or as, performance obligations are satisfied

The Company accounts for a contract when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance, and collectibility of consideration is probable.

Contracts with Multiple Performance Obligations

The Company enters into contracts that can include various combinations of licenses, products and services, some of which are distinct and are accounted for as separate performance obligations. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price (“SSP”).

Analytics Revenue

Analytics revenue is derived from the following primary offerings: licenses and services for standalone software (which is primarily Exensio® and Cimetrix® products), software-as-a-service (“SaaS”) (which is primarily Exensio® products), and Design-for-Inspection™ (“DFI™”) systems and Characterization Vehicle® (“CV®”) systems that do not include performance incentives based on customers’ yield achievement.

10

Revenue from standalone software is recognized depending on whether the license is perpetual or time-based. Perpetual (one-time charge) license software is recognized at the time of the inception of the arrangement when control transfers to the customers if the software license is considered as a separate performance obligation from the services offered by the Company. Revenue from post-contract support is recognized over the contract term on a straight-line basis, because the Company is providing (i) support and (ii) unspecified software updates on a when-and-if available basis over the contract term. Revenue from time-based-licensed software is allocated to each performance obligation and is recognized either at a point in time or over time as follows. The license component is recognized at the time when control transfers to customers, with the post-contract support component recognized ratably over the committed term of the contract. For contracts with any combination of licenses, support, and other services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation.

Revenue from SaaS arrangements, which allow for the use of a cloud-based software product or service over a contractually determined period of time without the customer having to take possession of the software, is accounted for as a subscription and is recognized as revenue ratably, on a straight-line basis, over the subscription period beginning on the date the service is first made available to customers. For contracts with any combination of SaaS and related services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation.

Revenue from DFI systems and CV systems (including Characterization services) that do not include performance incentives based on customers’ yield achievement is recognized primarily as services are performed. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs. For those contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation. Where there are not discrete performance obligations, historically, revenue is primarily recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. The estimation of percentage of completion method is complex and subject to many variables that require significant judgment. Please refer to the “Significant Judgments” section of this Note for further discussion.

The Company also leases some of its DFI system and CV system assets to some customers. The Company determines the existence of a lease when the customer controls the use of these identified assets for a period of time defined in the lease agreement and classifies such leases as operating leases or sales-type leases. A lease is classified as a sales-type lease if it meets certain criteria under ASC Topic 842, Leases; otherwise, it is classified as an operating lease. Operating lease revenue is recognized on a straight-line basis over the lease term. Sales-type lease revenue and corresponding lease receivables are recognized at lease commencement based on the present value of the future lease payments, and related interest income on lease receivable is recognized over the lease term and are recorded under Analytics revenue in the accompanying unaudited condensed consolidated statements of comprehensive income (loss). Payments under sales-type leases are discounted using the interest rate implicit in the lease. When the Company’s leases are embedded in contracts with customers that include non-lease performance obligations, the Company allocates consideration in the contract between lease and non-lease components based on their relative SSPs. Assets subject to operating leases remain in property and equipment and continue to be depreciated. Assets subject to sales-type leases are derecognized from property and equipment, net at lease commencement and a net investment in the lease asset is recognized in prepaid expenses and other current assets and other non-current assets in the accompanying unaudited condensed consolidated balance sheets.

11

Integrated Yield Ramp Revenue

Integrated Yield Ramp revenue is derived from the Company’s fixed-fee engagements that include performance incentives based on customers’ yield achievement (which consists primarily of Gainshare royalties) typically based on customer’s wafer shipments, pertaining to these fixed-price contracts, which royalties are variable.

Revenue under these project-based contracts, which are delivered over a specific period of time, typically for a fixed-fee component paid on a set schedule, is recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs and allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP. Similar to the services provided in connection with DFI systems and CV systems that are contributing to Analytics revenue, due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex and subject to many variables that require significant judgment. Please refer to the “Significant Judgments” section of this Note for further discussion.

The Gainshare contained in Integrated Yield Ramp contracts is a variable fee related to continued usage of the Company’s intellectual property after the fixed-fee service period ends, based on a customer’s yield achievement. Revenue derived from Gainshare is contingent upon the Company’s customers reaching certain defined production yield levels. Gainshare periods are generally subsequent to the delivery of all contractual services and performance obligations. The Company records Gainshare as a usage-based royalty derived from customers’ usage of intellectual property and records it in the same period in which the usage occurs.

Disaggregation of Revenue

The Company disaggregates revenue from contracts with customers into the timing of the transfer of goods and services and the geographical regions. The Company determined that disaggregating revenue into these categories achieves the disclosure objective to depict how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.

The Company’s performance obligations are satisfied either over time or at a point-in-time. The following table represents a disaggregation of revenue percentage by timing of revenue:

Three Months Ended September 30, 

 

Nine Months Ended September 30, 

    

2024

    

2023

2024

    

2023

Over time

64

%  

68

%

67

%  

74

%

Point-in-time

 

36

%  

32

%

33

%  

26

%

Total

 

100

%  

100

%

100

%  

100

%

International revenues accounted for approximately 55% and 42% of the Company’s total revenues during the three months ended September 30, 2024 and 2023, respectively, and approximately 55% and 44% of the Company’s total revenues during the nine months ended September 30, 2024 and 2023, respectively. See Note 9, Customer and Geographic Information.

Significant Judgments

Judgments and estimates are required under ASC 606. Due to the complexity of certain contracts, the actual revenue recognition treatment required under ASC 606 for the Company’s arrangements may be dependent on contract-specific terms and may vary in some instances.

12

For revenue under project-based contracts for fixed-price services, revenue is recognized as services are performed using a percentage-of-completion method based on costs or labor-hours input method, whichever is the most appropriate measure of the progress towards completion of the contract. Due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex, subject to many variables and requires significant judgment. Key factors reviewed by the Company to estimate costs to complete each contract are future labor and product costs and expected productivity efficiencies. If circumstances arise that change the original estimates of revenues, costs, or extent of progress toward completion, revisions to the estimates are made. These revisions may result in increases or decreases in estimated revenues or costs, and such revisions are reflected in revenue on a cumulative catch-up basis in the period in which the circumstances that gave rise to the revision become known.

The Company’s contracts with customers often include promises to transfer products, software licenses and provide services, including professional services, technical support services, and rights to unspecified updates to a customer. Determining whether licenses and services are distinct performance obligations that should be accounted for separately, or not distinct and thus accounted for together, requires significant judgment. The Company rarely licenses software on a standalone basis, so the Company is required to estimate the range of the SSPs for each performance obligation. In instances where the SSP is not directly observable because the Company does not license the software or sell the service separately, the Company determines the SSP using information that may include market conditions and other observable inputs.

The Company is required to record Gainshare revenue in the same period in which the usage occurs. Because the Company generally does not receive the acknowledgment reports from its customers during a given quarter within the time frame necessary to adequately review the reports and include the actual amounts in quarterly results for such quarter, the Company accrues the related revenue based on estimates of customers underlying sales achievement. The Company’s estimation process can be based on historical data, trends, seasonality, changes in the contract rate, knowledge of the changes in the industry and changes in the customer’s manufacturing environment learned through discussions with customers and sales personnel. As a result of accruing revenue for the quarter based on such estimates, adjustments will be required in the following quarter to true-up revenue to the actual amounts reported.

Contract Balances

The Company performs its obligations under a contract with a customer primarily by licensing software or providing services in exchange for consideration from the customer. The timing of the Company’s performance often differs from the timing of the customer’s payment, which results in the recognition of a receivable, a contract asset or a contract liability.

The Company classifies the right to consideration in exchange for software or services transferred to a customer as either a receivable or a contract asset. A receivable is a right to consideration that is unconditional, as compared to a contract asset, which is a right to consideration that is conditional upon factors other than the passage of time. The majority of the Company’s contract assets represent unbilled amounts related to fixed-price service contracts when the revenue recognized exceeds the amount billed to the customer.

13

The contract assets are recorded on a net basis with deferred revenue (i.e., contract liabilities) at the contract level. The contract assets consist of the following (in thousands):

September 30, 

December 31, 

    

2024

2023

Current portion included in prepaid expenses and other current assets

$

9,193

$

6,787

Non-current portion included in other non-current assets

 

611

 

933

Total contract assets

$

9,804

$

7,720

The Company did not record any asset impairment charges related to contract assets for the periods presented.

Deferred revenues and billings in excess of recognized revenues consist substantially of amounts invoiced in advance of revenue recognition and are recognized as the revenue recognition criteria are met. Deferred revenues that will be recognized during the succeeding twelve-month period are recorded as current deferred revenues and the remaining portion is recorded in other non-current liabilities in the accompanying condensed consolidated balance sheets.

Deferred revenues were the following (in thousands):

September 30, 

December 31, 

    

2024

2023

Current portion

$

28,728

$

25,750

Non-current portion (1)

1,599

1,802

Total deferred revenues

$

30,327

$

27,552

(1)Included in other non-current liabilities.

Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each reporting period was the following (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each period

$

12,040

$

13,129

$

24,669

$

23,836

As of September 30, 2024, the aggregate amount of the transaction price allocated to the remaining performance obligations related to customer contracts that were unsatisfied or partially unsatisfied was approximately $239.2 million. Given the applicable contract terms with customers, more than half of this amount is expected to be recognized as revenue over the next two years with the remainder to be recognized thereafter. This amount does not include insignificant contracts to which the customer is not committed, nor significant contracts for which the Company recognizes revenue equal to the amount the Company has the right to invoice for services performed, or future sales-based or usage-based royalty payments in exchange for a license of intellectual property. This amount is subject to change due to future revaluations of variable consideration, terminations, other contract modifications, or currency adjustments. The estimated timing of the recognition of remaining unsatisfied performance obligations is subject to change and is affected by changes to the scope, change in timing of delivery of products and services, or contract modifications.

14

The adjustment to revenue recognized from performance obligations satisfied (or partially satisfied) in previous periods was a decrease of $0.7 million and a decrease of $0.6 million during the three months ended September 30, 2024 and 2023, respectively, and a decrease of $1.4 million and an increase of $4.3 million during the nine months ended September 30, 2024 and 2023, respectively. These amounts primarily represent changes in estimated percentage-of-completion based contracts and changes in actual versus estimated Gainshare.

Costs to Obtain or Fulfill a Contract

The Company capitalizes the incremental costs to obtain or fulfill a contract with a customer, including direct sales commissions and related fees, when it expects to recover those costs. Amortization expense related to these capitalized costs is recognized over the period associated with the revenue from which the cost was incurred.

Total capitalized direct sales commission costs were the following (in thousands):

September 30, 

December 31, 

    

2024

2023

Current portion included in prepaid expenses and other current assets

$

2,566

$

1,954

Non-current portion included in other non-current assets

 

3,059

 

2,587

Total capitalized direct sales commission costs

$

5,625

$

4,541

Amortization of capitalized direct sales commission costs was the following (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Amortization of capitalized direct sales commission costs

$

667

$

532

$

1,941

$

1,494

There was no impairment loss in relation to the costs capitalized for the periods presented.

Practical Expedient

The Company does not adjust the transaction price for the effects of a significant financing component when the period between the transfers of the promised good or service to the customer and payment for that good or service by the customer is expected to be one year or less. The Company assessed each of its revenue generating arrangements in order to determine whether a significant financing component exists, and determined its contracts did not include a material significant financing component during the three and nine months ended September 30, 2024 and 2023.

3. BALANCE SHEET COMPONENTS

Accounts Receivable

Accounts receivable include amounts that are unbilled at the end of the period that are expected to be billed and collected within a 12-month period. Unbilled accounts receivable, included in accounts receivable, totaled $20.7 million and $16.4 million as of September 30, 2024, and December 31, 2023, respectively. Unbilled accounts receivable that are not expected to be billed and collected during the succeeding 12-month period are recorded in other non-current assets and totaled $10.2 million and $1.1 million as of September 30, 2024, and December 31, 2023, respectively.

The Company performs ongoing credit evaluations of its customers’ financial condition. An allowance for credit losses is maintained for probable credit losses based upon the Company’s assessment of the expected

15

collectibility of the accounts receivable. The allowance for credit losses is reviewed on a quarterly basis to assess the adequacy of the allowance.

Property and Equipment

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

September 30, 

December 31, 

    

2024

    

2023

Computer equipment

$

11,919

$

12,515

Software

 

5,647

 

5,596

Furniture, fixtures, and equipment

 

2,543

 

2,501

Leasehold improvements

 

6,705

 

6,475

Laboratory and other equipment

 

5,621

 

4,891

Test equipment

 

26,286

 

25,044

Property and equipment in progress:

 

 

DFI™ system assets

27,991

22,864

CV® system and other assets

 

7,324

 

6,977

 

94,036

 

86,863

Less: Accumulated depreciation and amortization

 

(48,017)

 

(49,525)

Total

$

46,019

$

37,338

Test equipment mainly includes DFI™ system and CV® system assets at customer sites that are contributing to revenue. Property and equipment in progress represent the development or construction of property and equipment that have not yet been placed in service for the Company’s intended use and are not depreciated. 

Depreciation and amortization expense was $0.8 million and $1.2 million for the three months ended September 30, 2024 and 2023, respectively, and $2.9 million and $3.8 million for the nine months ended September 30, 2024 and 2023, respectively.

Goodwill and Intangible Assets, Net

As of each of September 30, 2024, and December 31, 2023, the carrying amount of goodwill was $15.0 million.

Intangible assets, net, consisted of the following (in thousands):

September 30, 2024

December 31, 2023

Amortization

Gross

Net

Gross

Net

Period

Carrying

Accumulated

Carrying

Carrying

Accumulated

Carrying

(Years)

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Acquired identifiable intangibles:

Customer relationships

 

1-10

$

9,506

$

(7,772)

$

1,734

$

9,508

$

(7,335)

$

2,173

Developed technology

 

4-9

 

34,631

 

(23,983)

 

10,648

 

34,650

 

(22,094)

 

12,556

Tradename and trademarks

 

2-10

 

1,598

 

(1,100)

 

498

 

1,598

 

(1,025)

 

573

Patent

 

6-10

 

2,100

 

(1,847)

 

253

 

2,100

 

(1,782)

 

318

Noncompetition agreements

 

3

 

848

 

(848)

 

 

848

 

(848)

 

Total

$

48,683

$

(35,550)

$

13,133

$

48,704

$

(33,084)

$

15,620

16

The weighted average amortization period for acquired identifiable intangible assets was 4.6 years as of September 30, 2024. The following table summarizes intangible assets amortization expense in the accompanying condensed consolidated statements of comprehensive income (loss) (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Amortization of acquired technology included under costs of revenues

$

584

$

574

$

1,752

$

1,680

Amortization of acquired intangible assets presented separately under costs and expenses

 

196

 

328

 

714

 

979

Total amortization of acquired intangible assets

$

780

$

902

$

2,466

$

2,659

The Company expects annual amortization of acquired identifiable intangible assets to be as follows (in thousands):

Year Ending December 31, 

    

Amount

2024 (remaining three months)

$

767

2025

 

3,069

2026

 

2,900

2027

 

2,747

2028

2,442

2029 and thereafter

 

1,208

Total future amortization expense

$

13,133

There were no impairment charges for goodwill and intangible assets during the three and nine months ended September 30, 2024 and 2023.

17

Other Non-current Assets

Other non-current assets consisted of the following (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Costs capitalized to obtain revenue contracts – non-current (1)

$

3,059

$

2,587

Unbilled accounts receivable – non-current (2)

10,216

1,069

Contract assets – non-current (1)

611

933

Net investments in sales-type leases – non-current (3)

18,778

12,196

Other

 

4,596

 

2,433

Total other non-current assets

$

37,260

$

19,218

(1)See Note 2, Revenue from Contracts with Customers.
(2)See Note 3, Balance Sheet Components – Accounts Receivable.
(3)The Company had net investments in sales-type leases for its DFI™ system and CV® system assets. The following table summarizes the components of the Company’s net investments in sales-type leases in the accompanying condensed consolidated balance sheets (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Lease receivables

$

16,455

$

9,460

Unguaranteed residual assets

7,525

4,717

Net investments in sales-type leases

23,980

14,177

Less: Current portion of lease receivables under prepaid expenses and other current assets

(5,202)

(1,981)

Net investments in sales-type leases – non-current

 

$

18,778

$

12,196

Maturities of leases payments under sales-type leases as of September 30, 2024, were as follows (in thousands):

Year Ending December 31, 

    

Amount

2024 (remaining three months)

$

1,541

2025

 

8,048

2026

 

7,672

2027

 

2,718

2028

 

68

Total future sales-type lease payments

20,047

Less: Present value adjustment (a)

 

(3,592)

Present value of lease receivables

$

16,455

(a)Calculated using the rate implicit in the lease determined for each lease.

There was no allowance for credit losses on lease receivables as of September 30, 2024, and December 31, 2023. The Company’s ongoing risk management strategy for residual assets includes performing regular reviews of estimated residual values.

18

4. LEASES

The Company leases administrative and sales offices and certain equipment under non-cancellable operating leases, which contain various renewal or termination options and, in some cases, require payment of common area costs, taxes and utilities. These operating leases expire at various dates through 2028. The Company had no leases that were classified as a financing lease as of September 30, 2024, and December 31, 2023.

Lease expense was comprised of the following (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Operating lease expense

$

401

$

382

$

1,161

$

1,153

Short-term lease and variable lease expense (1)

 

268

 

239

 

754

 

673

Total lease expense

$

669

$

621

$

1,915

$

1,826

(1)Leases with an initial term of 12 months or less are not recorded on the accompanying condensed consolidated balance sheets, and the Company recognizes lease expense for these leases on a straight-line basis over the lease term. Variable lease expense for the periods presented primarily included common area maintenance charges.

Supplemental condensed consolidated balance sheets information related to operating leases was as follows:

September 30, 

December 31, 

 

    

2024

    

2023

 

Weighted average remaining lease term under operating leases (in years)

3.5

4.4

Weighted average discount rate for operating lease liabilities

 

5.98

%  

4.96

%

Maturities of operating lease liabilities as of September 30, 2024, were as follows (in thousands):

Year Ending December 31, 

    

Amount

2024 (remaining three months)

$

492

2025

 

1,850

2026

 

1,551

2027

 

1,490

2028

 

847

Total future minimum lease payments

 

6,230

Less: Interest (1)

 

 

(654)

Present value of future minimum lease payments under operating lease liabilities (2)

$

5,576

(1)Calculated using incremental borrowing interest rate for each lease.
(2)Includes the current portion of operating lease liabilities of $1.7 million as of September 30, 2024.

19

5. STOCKHOLDERS’ EQUITY

Stock Repurchase Program

On April 11, 2022, the Board of Directors adopted a stock repurchase program (the “2022 Program”) to repurchase up to $35.0 million of the Company’s common stock both on the open market and in privately negotiated transactions, including through Rule 10b5-1 plans, from time to time, over the next two years. During the nine months ended September 30, 2024, 201,561 shares were repurchased by the Company under the 2022 Program at an average price of $34.23 per share for an aggregate total price of $6.9 million. In total, the Company repurchased 937,501 shares under the 2022 Program at an average price of $25.96 per share for an aggregate total price of $24.3 million.

The 2022 Program expired on April 11, 2024, and on April 15, 2024, the Board of Directors adopted a new program (the “2024 Program”) to repurchase up to $40.0 million of the Company’s common stock both on the open market and in privately negotiated transactions, including through Rule 10b5-1 plans, from time to time, over the next two years. The Company has not repurchased any shares under the 2024 Program.

6. EMPLOYEE BENEFIT PLANS

On September 30, 2024, the Company had the following stock-based compensation plans:

Employee Stock Purchase Plan

On June 15, 2021, the Company’s stockholders initially approved the 2021 Employee Stock Purchase Plan, which has been amended and restated by the Board of Directors and approved by the Company’s stockholders since then (as amended through the date of this report, the “2021 Purchase Plan”).

Under the 2021 Purchase Plan, eligible employees can contribute up to 10% of their compensation, as defined in the 2021 Purchase Plan, towards the purchase of shares of PDF common stock at a price of 85% of the lower of the fair market value at the beginning of the offering period or the end of the purchase period. The 2021 Purchase Plan commenced on August 1, 2021, and provided for twenty-four-month offering periods with four six-month purchase periods in each offering period.

The Company estimated the fair value of purchase rights granted under the 2021 Purchase Plan during the period using the Black-Scholes-Merton option-pricing model with the following weighted average assumptions, resulting in the following weighted average fair values:

Nine Months Ended September 30, 

2024

    

2023

Expected life (in years)

1.25

 

1.25

Volatility

40.97

%  

43.66

%  

Risk-free interest rate

4.61

%  

5.15

%  

Expected dividend

 

Weighted average fair value of purchase rights granted during the period

$

10.91

$

15.71

During the three months ended September 30, 2024, a total of 81,974 shares were issued under the 2021 Purchase Plan, at a weighted average purchase price of $26.31 per share. During the three months ended September 30, 2023, a total of 125,392 shares were issued under the 2021 Purchase Plan, at a weighted average purchase price of $17.30 per share. During the nine months ended September 30, 2024, a total of 155,828 shares were issued

20

under the 2021 Purchase Plan, at a weighted average purchase price of $26.14 per share. During the nine months ended September 30, 2023, a total of 223,608 shares were issued under the 2021 Purchase Plan, at a weighted average purchase price of $17.14 per share. As of September 30, 2024, unrecognized compensation cost related to the 2021 Purchase Plan was $2.5 million. This estimated unrecognized cost is expected to be recognized over a weighted average period of 1.4 years.

As of September 30, 2024, 638,481 shares were available for future issuance under the 2021 Purchase Plan.

Stock Incentive Plans

On November 16, 2011, the Company’s stockholders initially approved the 2011 Stock Incentive Plan, which has been amended and restated by the Board of Directors and approved by the Company’s stockholders a number of times since then (as amended through the date of this report, the “2011 Plan”). Under the 2011 Plan, the Company may award stock options, stock appreciation rights (“SARs”), stock grants or stock units covering shares of the Company’s common stock to employees, directors, non-employee directors and contractors. The aggregate number of shares reserved for awards under the 2011 Plan is 14.6 million shares, plus up to 3.5 million shares previously issued under the 2001 Stock Plan adopted by the Company in 2001, which expired in 2011 (the “2001 Plan”) that are either (i) forfeited or (ii) repurchased by the Company or are shares subject to awards previously issued under the 2001 Plan that expire or that terminate without having been exercised or settled in full on or after November 16, 2011. In case of awards other than options or SARs, the aggregate number of shares reserved under the 2011 Plan will be decreased at a rate of 1.33 shares issued pursuant to such awards. The exercise price for stock options must generally be at prices no less than the fair market value at the date of grant. Stock options generally expire ten years from the date of grant and become vested and exercisable over a four-year period.

As of September 30, 2024, 15.1 million shares of common stock were reserved to cover stock-based awards under the 2011 Plan, of which 3.6 million shares were available for future grant. The number of shares reserved and available under the 2011 Plan includes 0.5 million shares that were subject to awards previously made under the 2001 Plan and were forfeited, expired, or repurchased by the Company after the adoption of the 2011 Plan through September 30, 2024. As of September 30, 2024, there were no outstanding awards that had been granted outside of the 2011 Plan.

The Company estimated the fair value of share-based awards granted under the 2011 Stock Plan during the period using the Black-Scholes-Merton option-pricing model. There were no stock options granted during the three and nine months ended September 30, 2024 and 2023.

Stock-Based Compensation

Stock-based compensation is estimated at the grant date based on the award’s fair value and is recognized on a straight-line basis over the vesting periods, generally four years. Stock-based compensation expense before taxes related to the Company’s stock plan and employee stock purchase plan was allocated as follows (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Costs of revenues

$

1,366

$

1,120

$

3,751

$

3,022

Research and development

 

2,375

 

2,196

 

6,640

 

5,609

Selling, general, and administrative

 

2,989

 

2,683

 

8,149

 

6,930

Stock-based compensation expense

$

6,730

$

5,999

$

18,540

$

15,561

21

Additional information with respect to options under the 2011 Plan during the nine months ended September 30, 2024, is as follows:

Outstanding Options

Weighted

Weighted

Average

Average

Remaining

Aggregate

Number of

Exercise

Contractual

Intrinsic

Options

Price

Term

Value

    

(in thousands)

    

per Share

    

(Years)

    

(in thousands)

Outstanding, January 1, 2024

 

38

$

15.92

 

  

 

  

Granted

 

 

  

 

  

Exercised

 

(7)

16.20

 

  

 

  

Canceled

 

 

  

 

  

Expired

 

 

  

 

  

Outstanding, September 30, 2024

 

31

$

15.85

 

3.53

$

493

Vested and expected to vest, September 30, 2024

 

31

$

15.85

 

3.53

$

493

Exercisable, September 30, 2024

 

31

$

15.85

 

3.53

$

493

The aggregate intrinsic value in the table above represents the total intrinsic value based on the Company’s closing stock price of $31.68 per share as of September 30, 2024.

The total intrinsic value of options exercised during the nine months ended September 30, 2024 and 2023 was as follows (in thousands):

Nine Months Ended September 30, 

    

2024

    

2023

Intrinsic value of options exercised

 

$

124

 

$

608

Total fair value of shares vested during the nine months ended September 30, 2024, was immaterial. As of September 30, 2024, there was no remaining unrecognized compensation cost related to unvested stock options.

Nonvested restricted stock unit (“RSU”) activities during the nine months ended September 30, 2024, were as follows:

Weighted

Average Grant

Shares 

Date Fair Value

    

(in thousands)

    

Per Share

Nonvested, January 1, 2024

 

1,995

$

30.03

Granted

 

734

35.42

Vested

 

(756)

27.37

Forfeited

 

(42)

30.64

Nonvested, September 30, 2024

 

1,931

$

33.11

The weighted average grant date fair values of RSUs granted during the nine months ended September 30, 2024 and 2023 were $35.42 and $43.92, respectively.

22

The total fair value of RSUs vested during the nine months ended September 30, 2024 and 2023 was as follows (in thousands):

Nine Months Ended September 30, 

    

2024

    

2023

Fair value of restricted stock units vested

 

$

25,483

 

$

31,162

As of September 30, 2024, there was $52.3 million of total unrecognized compensation cost related RSUs. That cost is expected to be recognized over a weighted average period of 2.6 years. RSUs do not have rights to dividends prior to vesting.

7. INCOME TAXES

Income tax expense decreased by $0.9 million for the nine months ended September 30, 2024, to $1.6 million as compared to $2.5 million for the nine months ended September 30, 2023. The Company’s effective tax rate was 31.1% and 53.1% for the nine months ended September 30, 2024 and 2023, respectively. The Company’s effective tax rate decreased in the nine months ended September 30, 2024, as compared to the same period in 2023, primarily due to changes in the foreign and state taxes and year-to-date recognition of worldwide pre-tax income in relation to their forecasted amounts for full years. The Company’s provision for income taxes for the nine months ended September 30, 2024, was primarily attributable to foreign and state taxes.

The Company’s total amount of unrecognized tax benefits, excluding interest, as of September 30, 2024, was $16.6 million, of which $2.0 million, if recognized, would affect the Company’s effective tax rate. The Company’s total amount of unrecognized tax benefits, excluding interest, as of December 31, 2023, was $15.9 million, of which $2.0 million, if recognized, would affect the Company’s effective tax rate. As of September 30, 2024, the Company has recorded unrecognized tax benefits of $2.6 million, including interest of $0.6 million, as long-term taxes payable in the accompanying condensed consolidated balance sheet. The remaining $14.6 million has been recorded within the Company’s DTAs, which is subject to a full valuation allowance.

The valuation allowance was approximately $64.2 million as of September 30, 2024, and December 31, 2023, which was related to U.S. net federal and state DTAs. The worldwide net DTAs balance as of September 30, 2024, and December 31, 2023, were not significant.

The Company conducts business globally and, as a result, files numerous consolidated and separate income tax returns in the U.S. federal and various state and foreign jurisdictions. For U.S. federal and California income tax purposes, the statute of limitations currently remains open for the tax years ended 2020 to present and 2019 to present, respectively. In addition, due to net operating loss carryback claims, the tax years 2013 through 2015 may be subject to federal examination and all of the net operating loss and research and development credit carryforwards that may be utilized in future years may be subject to federal and state examination. The Company is not currently under income tax examinations in the U.S. or any other of its major foreign subsidiaries’ jurisdictions.

8. NET INCOME (LOSS) PER SHARE

Basic net income (loss) per share is computed by dividing net income (loss) by the weighted average number of common shares outstanding for the period (excluding outstanding stock options, nonvested restricted stock units and shares subject to repurchase). Diluted net income (loss) per share is computed using the weighted average number of common shares outstanding for the period plus the potential effect of dilutive securities which are convertible into common shares (using the treasury stock method), except in cases in which the effect would be

23

anti-dilutive. The following is a reconciliation of the numerators and denominators used in computing basic and diluted net income (loss) per share (in thousands except per share amount):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Numerator:

 

  

 

  

 

  

 

  

Net income (loss)

$

2,206

$

(4,972)

$

3,518

$

2,218

Denominator:

 

  

 

  

 

  

 

  

Basic weighted average shares outstanding

 

38,710

 

38,187

 

38,542

 

37,930

Effect of dilutive stock options, unvested restricted stock units, and shares of common stock expected to be issued under employee stock purchase plan

 

395

 

 

486

 

1,047

Diluted weighted average shares outstanding

 

39,105

 

38,187

 

39,028

 

38,977

Net income (loss) per share:

Basic

$

0.06

$

(0.13)

$

0.09

$

0.06

Diluted

$

0.06

$

(0.13)

$

0.09

$

0.06

For the three months ended September 30, 2023, because the Company was in a loss position, diluted net loss per share is the same as basic net loss per share as the inclusion of the potential common shares would have been anti-dilutive.

The following table sets forth the potential shares of common stock that were not included in the diluted net income (loss) per share calculation above because to do so would be anti-dilutive for the periods indicated (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Outstanding options

 

23

 

 

Non-vested restricted stock units

 

1,078

1,391

 

740

223

Employee Stock Purchase Plan

 

38

 

Total

 

1,078

 

1,452

 

740

223

9. CUSTOMER AND GEOGRAPHIC INFORMATION

Operating segments are defined as components of an enterprise about which separate financial information is available that is evaluated regularly by the chief operating decision maker, or group, in deciding how to allocate resources and in assessing performance.

The Company’s chief operating decision maker, the chief executive officer, reviews discrete financial information presented on a consolidated basis for purposes of regularly making operating decisions, allocation of resources, and assessing financial performance. Accordingly, the Company considers itself to be in one operating and reporting segment, specifically the provision of services for differentiated data and analytics solutions to the semiconductor and electronics industries.

24

Revenues from an individual customer that are approximately 10% or more of the Company’s consolidated total revenues are as follows:

Three Months Ended September 30, 

Nine Months Ended September 30, 

Customer

    

2024

    

2023

 

2024

    

2023

 

A

19

%  

38

%

21

%  

36

%

B

*

%  

*

%

12

%  

*

%

D

13

%  

*

%

*

%  

*

%

* represents less than 10%

Gross accounts receivable balances (including amounts that are unbilled) from individual customers that are approximately 10% or more of the Company’s gross accounts receivable balance are as follows:

September 30, 

December 31, 

Customer

    

2024

2023

 

A

 

29

%  

39

%

D

16

%  

11

%

Revenues from customers by geographic area based on the location of the customers’ work sites are as follows (amounts in thousands):

Three Months Ended September 30, 

2024

 

2023

 

Percentage

 

Percentage

 

    

Revenues

    

of Revenues

 

    

Revenues

    

of Revenues

 

United States

$

21,065

 

45

%

$

24,477

58

%

Japan

6,275

14

%

3,135

7

%

Taiwan

6,273

14

%

1,296

3

%

China

 

5,673

 

12

%

 

7,549

18

%

Rest of the world

 

7,123

 

15

%

 

5,893

14

%

Total revenue

$

46,409

 

100

%

$

42,350

 

100

%

Nine Months Ended September 30, 

2024

 

2023

 

Percentage

 

Percentage

 

    

Revenues

    

of Revenues

 

    

Revenues

    

of Revenues

 

United States

$

58,021

 

45

%

$

70,090

56

%

Japan

25,495

20

%

8,005

6

%

China

 

17,526

14

%

 

21,927

18

%

Taiwan

8,107

 

6

%

4,660

4

%

Rest of the world

 

20,231

 

15

%

 

20,028

16

%

Total revenue

$

129,380

 

100

%

$

124,710

 

100

%

25

Long-lived assets, net by geographic area are as follows (in thousands):

September 30, 

December 31, 

    

2024

2023

United States (1)

$

56,216

$

45,619

Rest of the world

 

1,688

 

1,362

Total long-lived assets, net

$

57,904

$

46,981

(1) Includes assets deployed at customer sites which could be outside the U.S.

10. FAIR VALUE MEASUREMENTS

Fair value is the exit price, or the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants as of the measurement date. The multiple assumptions used to value financial instruments are referred to as inputs, and a hierarchy for inputs used in measuring fair value is established, that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. Observable inputs reflect assumptions market participants would use in pricing an asset or liability based on market data obtained from independent sources while unobservable inputs reflect a reporting entity’s pricing based upon its own market assumptions. These inputs are ranked according to a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels.

Level 1 -

Inputs are quoted prices in active markets for identical assets or liabilities.

 

 

Level 2 -

Inputs are quoted prices for similar assets or liabilities in an active market, quoted prices for identical or similar assets or liabilities in markets that are not active, inputs other than quoted prices that are observable and market-corroborated inputs which are derived principally from or corroborated by observable market data.

 

 

Level 3 -

Inputs are derived from valuation techniques in which one or more significant inputs or value drivers are unobservable.

26

The following table represents the Company’s assets measured at fair value on a recurring basis as of September 30, 2024, and December 31, 2023, and the basis for those measurements (in thousands):

Fair Value Measurements Using

Quoted

Prices in

Active

Significant

Markets for

Other

Identical

Observable

Significant

September 30, 

Assets

Inputs

Unobservable

Assets

    

2024

    

(Level 1)

    

(Level 2)

    

Inputs (Level 3)

Cash equivalents

 

  

 

  

 

  

 

  

Money market mutual funds

$

80,830

$

80,830

$

$

Short-term investments (available-for-sale debt securities)

 

  

 

  

 

  

 

  

U.S. Government securities (1)

 

23,724

 

23,724

 

 

Non-current assets

Convertible note receivable (available-for-sale debt security) (2)

2,013

2,013

Total

$

106,567

$

104,554

$

$

2,013

Fair Value Measurements Using

Quoted

Prices in

Active

Significant

Markets for

Other

Significant

Identical

Observable

Unobservable

December 31, 

Assets

Inputs

Inputs 

Assets

    

2023

    

(Level 1)

    

(Level 2)

    

(Level 3)

Cash equivalents

 

  

 

  

 

  

 

  

Money market mutual funds

$

83,810

$

83,810

$

$

Short-term investments (available-for-sale debt securities)

  

 

  

 

  

 

  

U.S. Government securities (1)

36,544

 

36,544

 

 

Total

$

120,354

$

120,354

$

$

(1)As of September 30, 2024, and December 31, 2023, the amortized cost of the Company’s investments in U.S. Government securities approximated their fair value due to their short-term maturities, and there have been no events or changes in circumstances that would have had a significant effect on the fair value of these securities in the periods presented. For the three and nine months ended September 30, 2024, there were no material realized or unrealized gains or losses, either individually or in the aggregate.
(2)In August 2024, the Company purchased a $2.0 million non-marketable convertible promissory note from an unrelated third party (the “convertible note”). The convertible note bears a 5% interest rate annually and will mature in August 2026 and is included in other non-current assets in the accompanying condensed consolidated balance sheet as of September 30, 2024. As of September 30, 2024, the cost of the convertible note approximated its fair value as there have been no events or changes in circumstances that would have had a significant effect on its fair value from its issuance date to reporting period end.

27

11. COMMITMENTS AND CONTINGENCIES

Strategic Partnership with Advantest — See Note 12, Strategic Partnership Agreement with Advantest and Related Party Transactions, for the discussion about the Company’s commitments under the strategic partnership with Advantest.

Operating Leases — Refer to Note 4, Leases, for the discussion about the Company’s lease commitments.

Indemnifications — The Company generally provides a warranty to its customers that its software will perform substantially in accordance with documented specifications typically for a period of 90 days following initial delivery of its products. The Company also indemnifies certain customers from third-party claims of intellectual property infringement relating to the use of its products. Historically, costs related to these guarantees have not been significant. The Company is unable to estimate the maximum potential impact of these guarantees on its future results of operations.

Purchase Obligations — The Company has purchase obligations with certain suppliers for the purchase of goods and services entered into in the ordinary course of business. As of September 30, 2024, total outstanding purchase obligations were $34.1 million, the majority of which is due within the next 9 months.

Indemnification of Officers and Directors — As permitted by the Delaware general corporation law, the Company has included a provision in its certificate of incorporation to eliminate the personal liability of its officers and directors for monetary damages for breach or alleged breach of their fiduciary duties as officers or directors, other than in cases of fraud or other willful misconduct.

In addition, the Bylaws of the Company provide that the Company is required to indemnify its officers and directors even when indemnification would otherwise be discretionary, and the Company is required to advance expenses to its officers and directors as incurred in connection with proceedings against them for which they may be indemnified. The Company has entered into indemnification agreements with its officers and directors containing provisions that are in some respects broader than the specific indemnification provisions contained in the Delaware general corporation law. The indemnification agreements require the Company to indemnify its officers and directors against liabilities that may arise by reason of their status or service as officers and directors other than for liabilities arising from willful misconduct of a culpable nature, to advance their expenses incurred as a result of any proceeding against them as to which they could be indemnified, and to obtain directors’ and officers’ insurance if available on reasonable terms. The Company has obtained directors’ and officers’ liability insurance in amounts comparable to other companies of the Company’s size and in the Company’s industry. Since a maximum obligation of the Company is not explicitly stated in the Company’s Bylaws or in its indemnification agreements and will depend on the facts and circumstances that arise out of any future claims, the overall maximum amount of the obligations cannot be reasonably estimated.

Legal Proceedings — From time to time, the Company is subject to various claims and legal proceedings that arise in the ordinary course of business. The Company accrues for losses related to litigation when a potential loss is probable, and the loss can be reasonably estimated in accordance with FASB requirements. As of September 30, 2024, the Company was not party to any material legal proceedings for which a loss was probable or an amount was accrued. From time to time, the Company may enter into contingent fee arrangements with external legal firms that may represent the Company in legal proceedings related to disputes. Contingent legal fees are accrued by the Company when they are probable and reasonably estimable.  

On May 6, 2020, the Company initiated an arbitration proceeding with the Hong Kong International Arbitration Center against SMIC New Technology Research & Development (Shanghai) Corporation (“SMIC”) due to SMIC’s failure to pay fees due to the Company under a series of contracts. The Company seeks to recover the unpaid fees, a declaration requiring SMIC to pay fees under the contracts in the future (or a lump sum payment

28

to end the contract), and costs associated with bringing the arbitration proceeding. SMIC denies liability and an arbitration hearing was held in February 2023. Final written submissions were submitted by the parties at the end of August 2023, and the parties submitted answers to the Tribunal’s final questions on August 2, 2024.

12. STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS

In July 2020, the Company entered into a long-term strategic partnership with Advantest Corporation through its wholly-owned subsidiary, Advantest America, Inc. (collectively referred to herein as “Advantest”), which includes: (i) a Securities Purchase Agreement wherein the Company issued and sold to Advantest America, Inc., an aggregate of 3,306,924 shares of its common stock, for aggregate gross proceeds of $65.2 million; (ii) a significant agreement for its assistance in development of cloud-based applications for Advantest tools that leverages our Exensio analytics software; (iii) a commercial agreement providing for the license to third parties of solutions that result from the development work that combine Advantest’s testing applications and our Exensio platform; and (iv) a 5-year cloud-based subscription for Exensio analytics software and related services.

Analytics revenue recognized from Advantest was $3.3 million and $2.6 million during the three months ended September 30, 2024 and 2023, respectively, and $9.2 million and $6.2 million during the nine months ended September 30, 2024 and 2023, respectively. There were no accounts receivable from Advantest as of September 30, 2024. Accounts receivable from Advantest were not material as of December 31, 2023. Deferred revenue amounted to $11.8 million and $9.4 million as of September 30, 2024, and December 31, 2023, respectively.

29

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

Forward-Looking Statements

The following discussion of our financial condition and results of operations contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933 and Section 21E of the Securities Exchange Act of 1934. All statements other than statements of historical fact may be forward-looking statements. In some cases, you can identify forward-looking statements by terminology such as “may,” “could,” “projected,” “should,” “expect,” “plan,” “anticipate,” “believe,” “estimate,” “predict,” “potential,” “target” or “continue,” the negative effect of terms like these or other similar expressions. These statements include, but are not limited to, statements concerning: expectations about the effectiveness of our business and technology strategies; expectations regarding global economic trends; the impact of global inflation and changed interest rates, expectations regarding recent and future acquisitions; current semiconductor industry trends; expectations of continued adoption of our solutions by new and existing customers; project milestones or delays and performance criteria achieved; cost and schedule of new product development; the provision of technology and services prior to the execution of a final contract; the continuing impact of macroeconomic conditions and other trends on the semiconductor industry, our customers, our operations, and supply and demand for our products; supply chain disruptions; the success of the Company’s strategic growth opportunities and partnerships; the Company’s ability to successfully integrate acquired businesses and technologies; whether the Company can successfully convert backlog into revenue; customers’ production volumes under contracts that provide Gainshare; possible impacts from the evolving trade regulatory environment and geopolitical tensions; our assessment of the sufficiency of our cash resources and anticipated funds from operations; our ability to obtain additional financing if needed and our ability to obtain support and updates for certain open-source software. These forward-looking statements are only predictions. Forward-looking statements are based on current expectations and projections about future events and are inherently subject to a variety of risks and uncertainties, many of which are beyond our control, which could cause actual results to differ materially from those anticipated or projected. All forward-looking statements and other information included in this document are based on information available to us on the date of filing and we further caution investors that our business and financial performance are subject to substantial risks and uncertainties. We assume no obligation to update publicly any such forward-looking statements. In evaluating these statements, you should specifically consider various factors, including the risk factors set forth in Item 1. “Business” and Item 7. “Management’s Discussion and Analysis of Financial Condition and Results of Operations” in our Annual Report on Form 10-K for the year ended December 31, 2023, filed with the Securities and Exchange Commission (“SEC”) on February 27, 2024. All references to “we,” “us,” “our,” “PDF,” “PDF Solutions” or “the Company” refer to PDF Solutions, Inc.

Cimetrix, CV, DFI, Exensio, PDF Solutions, and the PDF Solutions, Exensio, and Cimetrix logos are trademarks or registered trademarks of PDF Solutions, Inc. or its subsidiaries.

Overview

We offer products and services designed to empower organizations across the semiconductor and electronics ecosystems to connect, collect, manage, and analyze data about design, equipment, manufacturing, and test to improve the yield and quality of their products. We derive revenues from two sources: Analytics and Integrated Yield Ramp. Our offerings combine proprietary software, professional services using proven methodologies and third-party cloud-hosting platforms for software-as-a-service (“SaaS”), electrical measurement hardware tools, and physical intellectual property (“IP”) for integrated circuit (“IC”) designs. We primarily monetize our offerings through license fees and contract fees for professional services and SaaS. In some cases, especially on our historical Integrated Yield Ramp engagements, we also receive a value-based variable fee or royalty, which we call Gainshare. Our products, services, and solutions have been sold to integrated device manufacturers (“IDMs”), fabless semiconductor companies, foundries, out-sourced semiconductor assembly and test (“OSATs”), capital equipment manufacturers and system houses.

30

We are headquartered in Santa Clara, California and also operate worldwide with offices in Canada, China, France, Germany, Italy, Japan, Korea, and Taiwan.

Industry Trends

Certain trends may affect our Analytics revenue specifically. In particular, the confluence of Industry 4.0 (i.e. the fourth industrial revolution, or the automation and data exchange in manufacturing technologies and processes) and cloud computing (i.e. the on-demand availability of computing resources and data storage without direct active management by the user) is driving increased innovation in semiconductor and electronics manufacturing and analytics, as well as in the organization of information technology (“IT”) networks and computing at semiconductor and electronics companies across the ecosystem. First, the ubiquity of wireless connectivity and sensor technology enables any manufacturing company to augment its factories and visualize its entire production line. In parallel, the cost per terabyte of data storage has generally decreased over time. The combination of these two trends means that more data is collected and stored than ever before. Further, semiconductor companies are striving to analyze these very large data sets in real-time to make rapid decisions that measurably improve manufacturing efficiency and quality. In parallel, the traditional practice of on-site data storage, even for highly sensitive data, is changing. The ability to cost-effectively and securely store, analyze, and retrieve massive quantities of data from the cloud versus on-premise enables data to be utilized across a much broader population of users, frequently resulting in greater demands on analytics programs. The combination of these latter two trends means that cloud-based, analytic programs that effectively manage identity management, physical security, and data protection are increasingly in demand for insights and efficiencies across the organizations of these companies. We believe that all these trends will continue for the next few years, and the challenges involved in adopting Industry 4.0 and secure cloud computing will create opportunities for our combination of advanced analytics capabilities, proven and established supporting infrastructure, and professional services to configure our products to meet customers’ specialized needs.

Other trends may continue to affect our Characterization services business and Integrated Yield Ramp revenue specifically. For example, semiconductor manufacturers may experience lower wafer shipments due to weakness in the global economy, which would negatively impact the gainshare component of our Integrated Yield Ramp revenue. The logic foundry market at the leading-edge nodes, such as 7nm, 5nm, and smaller, underwent significant change over the past few years. The leading foundry continues to dominate market share. This trend will likely continue to impact our Characterization services business on these nodes. We expect most logic foundries to invest in derivatives of older process nodes, such as 28nm and 14nm, to extract additional value as many of their customers will not move to advanced nodes due to either technological barriers or restrictive economics. Foundries that participate at leading edge nodes are expected to continue to invest in new technologies such as memory, packaging, and multi-patterned and extreme ultraviolet lithography, as well as new innovations in process control and variability management. We expect China’s investment in semiconductors to continue. Compliance with changing U.S. export restrictions limit our possible business with Chinese semiconductor manufacturers on advanced nodes. As a result of these market developments, we have chosen to focus our resources and investments in products (including differentiated data), services, and solutions for analytics.

There are other global or business trends that may affect our business opportunities generally as follows:

Macroeconomy, inventories, and demand. The worldwide economic performance is uneven, and the possibility of a recession persists. Inventories of semiconductor devices remain elevated in some instances. The strength of demand for semiconductor products has varied by region and product segment. For example, demand for artificial intelligence (“AI”) processing unit products is strong, while demand for smart phones remains weak. With high inventories and soft demand, some semiconductor fab utilization rates are also low and semiconductor capital equipment orders have been impacted for some vendors and market segments. As a result of these trends, customers are being cautious with their spend and some

31

purchase cycles are lengthening and other purchase decisions are being delayed, particularly with respect to larger deals.
Changing export controls and sanctions. The U.S. government continues to expand and intensify export controls and sanctions, with a major focus on the destinations of and/or entities in the People’s Republic of China (“P.R.C.”), Russian Federation, and Belarus. After an internal evaluation, we determined that a large percentage of our software products are not of U.S. origin and not subject to the U.S. Export Administration Regulations. Our standard operations include development, distribution processes, software download sites, and professional service centers and processes located in various geographies around the world to better serve our customers. Some customers in the P.R.C., in particular, have nonetheless expressed concerns to us that continued action by the U.S. government could potentially interrupt their ability to make use of our products or services, which has in some cases, and could in the future, negatively impact the demand for our products and services by these customers. Over the last two years, the U.S. government has issued a series of rules and guidance, with significant relevance to the P.R.C. market, adding novel and complex export control restrictions, including on some non-U.S. items, and on some U.S. person activities in certain cases, clarifications and corrections, and requests for further public comment. Current U.S. government regulatory agendas indicate that several additional rules are now in development to further control certain items, restrict U.S. person activity, and revise previously issued regulations. For example, on July 29, 2024, the U.S. government officially published three sets of proposed regulations that would add restrictions on U.S. items for certain end-uses and end-users. The proposals would also separately add restrictions on U.S. person activity, such as help for or transactional activity with such end-uses or end-users. This would relate to development, production, or service of military items, law enforcement and internal security, or intelligence services of certain countries. The proposal gives the example of U.S. person assistance to develop a high-end integrated circuit sought by the military. The proposed regulations, which are not yet final and issued, are complicated, would reach into commercial supply chains, and would be challenging to interpret. U.S. government policy and regulation remain fluid and uncertain, and could in the future impact segments of our business. Other countries and jurisdictions with important roles in our industry are updating some of their export control regulations to further align with those of the U.S. government and, in some cases, to counter U.S. regulations. For example, the P.R.C. has imposed restrictions on imports of certain memory integrated circuits (“ICs”) offered by U.S. companies and has been developing its legal authorities to counter foreign sanctions. On April 12, 2024, the U.S. government renewed its caution that visitors to the P.R.C. are subject to arbitrary enforcement of local laws and wrongful detention, a risk that could deter or hinder certain business activities. Based on our current assessments, we expect the near-term impact of these expanded trade restrictions on our business to be limited, but revisions, clarifications, and proposals that are still in government development and open questions of interpretation leave much unknown. A change of political parties in the U.S. Presidential Administration in January 2025, could accelerate international trade restrictions, increase tariffs, and expand trade tensions, which could negatively impact our future sales. We will continue to monitor for any further trade restrictions, other regulatory or policy changes by the U.S. or foreign governments and any actions in response. The uncertainty caused by these recent regulations and the potential for additional future restrictions could negatively affect our future sales in the P.R.C. market.
Investments in semiconductor manufacturing. In 2022, the U.S. Congress passed into law funding programs from the bipartisan CHIPS and Science Act of 2022 (the “CHIPS Act”), authorizing the Department of Commerce, Department of Defense, and Department of State to develop onshore domestic manufacturing of semiconductors considered critical to U.S. competitiveness and national security. It is expected that U.S. semiconductor companies, especially manufacturers, will increase spending as a result of receiving funds under these programs. Recipients of funding under such programs may be required to agree to separate restrictions on certain commercial activity in the P.R.C., where we currently commercially operate. If our customers engage us for projects funded by these programs, we will evaluate

32

all restrictions, and their impact on our existing business, before entering into any contracts associated with these programs. Similarly, the National Defense Authorization Act for Fiscal Year 2024 requires the U.S. Department of Defense to develop acquisition regulations controlling contracting with certain types of companies that perform consulting services for certain types of P.R.C. entities. We will monitor the topic to assess whether the future regulations have any relevance to our business.
Geopolitical tensions/conflicts. Geopolitical tensions and conflicts in various locations around the world continue to increase, including on the issue of Taiwan in Asia, Ukraine and Russia, and growing armed conflicts in the Middle East. These current situations have created volatility in the global financial markets and may have further global economic consequences, including potential disruptions of the global supply chain and heightened volatility of commodity and raw material prices. This has increased fears of a global recession. We have contractors located in the West Bank and in Israel, who are providing software development and customer technical support services, and we have developed contingency plans to use alternative resources to continue serving customers, if needed. Any escalations could lead to disruptions or reductions in international trade, deter or prevent purchasing activity of customers, and negatively impact our development timelines and customer support (with respect to the conflicts in the Middle East) or China sales (with respect to U.S.-P.R.C. tensions) and financial results in general (with respect to global tensions).

Financial Highlights

Financial highlights for the three months ended September 30, 2024, are as follows:

Total revenues were $46.4 million, an increase of $4.1 million, or 10%, compared to the three months ended September 30, 2023. Analytics revenue was $44.8 million, an increase of $5.3 million, or 13%, compared to the three months ended September 30, 2023. The increase in Analytics revenue was driven by increases in revenues from Exensio and Cimetrix software licenses and CV systems, partially offset by a decrease in revenues from DFI systems. Integrated Yield Ramp revenue was $1.7 million, a decrease of $1.2 million, or 42%, compared to the three months ended September 30, 2023. The decrease in Integrated Yield Ramp revenue was primarily due to a decrease in hours worked on fixed-fees engagements, partially offset by higher Gainshare from increased customer wafer shipments at non-leading-edge nodes.
Costs of revenues decreased $1.8 million, compared to the three months ended September 30, 2023, primarily due to decreases in hardware costs and facilities and IT-related costs including depreciation and amortization expense. These decreases were partially offset by increases in subcontractor costs, third-party cloud-delivery costs, and personnel-related costs.
Net income was $2.2 million, compared to a net loss of $5.0 million for the three months ended September 30, 2023. The increase in net income was primarily attributable to (i) an increase in total revenues, (ii) a decrease in costs of revenues, and (iii) a decrease in income tax expense, partially offset by (a) increases in sales and marketing activities, and general and administrative expenses, which were primarily related to increases in personnel-related costs, legal expenses (excluding arbitration-related expenses), facilities and IT-related costs including depreciation expense, subcontractor fees, and trade conference-related expenses, partially offset by a decrease in fees related to the arbitration proceeding over a disputed customer contract, (b) an increase in research and development expenses, and (c) net unfavorable fluctuations in foreign currency exchange rates.

33

Financial highlights for the nine months ended September 30, 2024, are as follows:

Total revenues were $129.4 million, an increase of $4.7 million, or 4%, compared to the nine months ended September 30, 2023. Analytics revenue was $121.3 million, an increase of $8.4 million, or 7%, compared to the nine months ended September 30, 2023. The increase in Analytics revenue was driven by increases in revenues from Exensio and Cimetrix software licenses, partially offset by a decrease in revenues from CV and DFI systems. Integrated Yield Ramp revenue was $8.1 million, a decrease of $3.7 million, or 31%, compared to the nine months ended September 30, 2023. The decrease in Integrated Yield Ramp revenue was primarily due to lower hours worked on fixed-fees engagements and Gainshare from decreased customer wafer shipments at non-leading-edge nodes.
Costs of revenues decreased $0.3 million, compared to the nine months ended September 30, 2023, primarily due to decreases in facilities and IT-related costs including depreciation and amortization expense, and hardware costs. These decreases were partially offset by increases in third-party cloud-delivery costs, subcontractor costs, and personnel-related costs.
Net income was $3.5 million, compared to a net income of $2.2 million for the nine months ended September 30, 2023. The increase in net income was primarily attributable to (i) increases in total revenues and interest income, and (ii) decreases in income tax expense, costs of revenues, and amortization of acquired intangible assets, partially offset by increases in (a) sales and marketing activities, and general and administrative expenses, which were primarily related to increases in personnel-related costs, legal expenses (excluding arbitration-related expenses), facilities and IT-related costs including depreciation expense, trade conference-related expenses, tax and accounting services, and subcontractor fees, partially offset by decreases in fees related to the arbitration proceeding over a disputed customer contract, business acquisition costs, third-party cloud-services related costs, and (b) research and development expenses.

Critical Accounting Estimates

See Note 1, Basis of Presentation and Summary of Significant Accounting Policies, to our unaudited condensed consolidated financial statements in this Quarterly Report on Form 10-Q and the Notes to Consolidated Financial Statements in Part II, Item 8 of our Annual Report on Form 10-K for the year ended December 31, 2023, for the description of our significant accounting policies, estimates and methods used in the preparation of our condensed consolidated financial statements.

There were no material changes during the three and nine months ended September 30, 2024, to the items that we disclosed as our critical accounting policies and estimates in “Management’s Discussion and Analysis of Financial Condition and Results of Operations” in Part II, Item 7 of our Annual Report on Form 10-K for the year ended December 31, 2023, filed with the SEC on February 27, 2024.

The following is a brief discussion of the most significant accounting policies and methods that we use.

General

Our discussion and analysis of our financial conditions, results of operations and cash flows are based on our condensed consolidated financial statements, which have been prepared in conformity with accounting principles generally accepted in the United States of America. Our preparation of these condensed consolidated financial statements requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the dates of the financial statements and the reported amounts of revenues and expenses during the reporting periods. We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances. The most significant estimates

34

and assumptions relate to revenue recognition, valuation of long-lived assets including goodwill and intangible assets, stock-based compensation and the realization of deferred tax assets (“DTAs”). Actual amounts may differ from such estimates under different assumptions or conditions.

Revenue Recognition

We derive revenue from two sources: Analytics and Integrated Yield Ramp.

Analytics Revenue

Analytics revenue is derived from the following primary offerings: licenses and services for standalone Software (which consists primarily of Exensio and Cimetrix products), SaaS (which consists primarily of Exensio products), and DFI and CV systems (including Characterization services) that do not include performance incentives based on customers’ yield achievement.

Revenue from standalone software is recognized depending on whether the license is perpetual or time-based. Perpetual (one-time charge) license software is recognized at the time of the inception of the arrangement when control transfers to the customers, if the software license is distinct from the services offered by us. Revenue from post-contract support is recognized over the contract term on a straight-line basis, because we are providing (i) support and (ii) unspecified software updates on a when-and-if available basis over the contract term. Revenue from time-based-licensed software is allocated to each performance obligation and is recognized either at a point in time or over time as follows. The license component is recognized at the time when control transfers to customers, with the post-contract support component recognized ratably over the committed term of the contract. For contracts with any combination of licenses, support, and other services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, we allocate the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price (“SSP”) attributed to each performance obligation.

Revenue from SaaS arrangements, which allow for the use of a cloud-based software product or service over a contractually determined period of time without the customer having to take possession of the software, is accounted for as subscriptions and is recognized as revenue ratably, on a straight-line basis, over the subscription period beginning on the date the service is first made available to customers. For contracts with any combination of SaaS and related services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation.

Revenue from DFI systems and CV systems (including Characterization services) that do not include performance incentives based on customers’ yield achievement is recognized primarily as services are performed. Where there are distinct performance obligations, we allocate revenue to all deliverables based on their SSPs. For these contracts with multiple performance obligations, we allocate the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation. Where there are not discrete performance obligations, historically, revenue is primarily recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. The estimation of percentage of completion method is complex and subject to many variables that require significant judgment.

The Company also leases some of its DFI system and CV system assets to some customers. The Company determines the existence of a lease when the customer controls the use of these identified assets for a period of time defined in the lease agreement and classifies such leases as operating leases or sales-type leases. A lease is classified as a sales-type lease if it meets certain criteria under ASC Topic 842, Leases; otherwise it is classified as an operating lease. Operating lease revenue is recognized on a straight-line basis over the lease term. Sales-type

35

lease revenue and corresponding lease receivables are recognized at lease commencement based on the present value of the future lease payments, and related interest income on lease receivable is recognized over the lease term and are recorded under Analytics revenue in the accompanying condensed consolidated statements of comprehensive income (loss). Payments under sales-type leases are discounted using the interest rate implicit in the lease. When the Company’s leases are embedded in contracts with customers that include non-lease performance obligations, the Company allocates consideration in the contract between lease and non-lease components based on their relative SSPs. Assets subject to operating leases remain in property and equipment and continue to be depreciated. Assets subject to sales-type leases are derecognized from property and equipment, net at lease commencement and a net investment in the lease asset is recognized in prepaid expenses and other current assets and other non-current assets in the accompanying condensed consolidated balance sheets.

Integrated Yield Ramp Revenue

Integrated Yield Ramp revenue is derived from our fixed-fee engagements that include performance incentives based on customers’ yield achievement (which consists primarily of Gainshare royalties) typically based on customers’ wafer shipments, pertaining to these fixed-fee contracts, which royalties are variable.

Revenue under these project-based contracts, which are delivered over a specific period of time typically for a fixed fee component paid on a set schedule, is recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. Where there are distinct performance obligations, we allocate revenue to all deliverables based on their SSPs and allocate the transaction price of the contract to each performance obligation on a relative basis using the SSP. Similar to the services provided in connection with DFI systems and CV systems that are contributing to Analytics revenue, due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex and subject to many variables that require significant judgment.

The Gainshare contained in Integrated Yield Ramp contracts is a variable fee related to continued usage of our IP after the fixed-fee service period ends, based on a customer’s yield achievement. Revenue derived from Gainshare is contingent upon our customers reaching certain defined production yield levels. Gainshare periods are generally subsequent to the delivery of all contractual services and performance obligations. We record Gainshare as a usage-based royalty derived from customers’ usage of intellectual property and records it in the same period in which the usage occurs.

Significant Judgments

Judgments and estimates are required under Accounting Standards Codification (“ASC”) Topic 606, Revenue from Contracts with Customers, and its related amendments (collectively known as “ASC 606”). Due to the complexity of certain contracts, the actual revenue recognition treatment required under ASC 606 for the Company’s arrangements may be dependent on contract-specific terms and may vary in some instances.

For revenue under project-based contracts for fixed-price services, revenue is recognized as services are performed using a percentage-of-completion method based on costs or labor-hours input method, whichever is the most appropriate measure of the progress towards completion of the contract. Due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex, subject to many variables and requires significant judgment. Key factors reviewed by the Company to estimate costs to complete each contract are future labor and product costs and expected productivity efficiencies. If circumstances arise that change the original estimates of revenues, costs, or extent of progress toward completion, revisions to the estimates are made. These revisions may result in increases or decreases in estimated revenues or costs, and such revisions are reflected in revenue on a cumulative catch-up basis in the period in which the circumstances that gave rise to the revision become known.

36

The Company’s contracts with customers often include promises to transfer products, software licenses and provide services, including professional services, technical support services, and rights to unspecified updates to a customer. Determining whether licenses and services are distinct performance obligations that should be accounted for separately, or not distinct and thus accounted for together, requires significant judgment. The Company rarely licenses software on a standalone basis, so the Company is required to estimate the range of SSPs for each performance obligation. In instances where the SSP is not directly observable because the Company does not license the software or sell the service separately, the Company determines the SSP using information that may include market conditions and other observable inputs.

The Company is required to record Gainshare revenue in the same period in which the usage occurs. Because the Company generally does not receive the acknowledgment reports from its customers during a given quarter within the time frame necessary to adequately review the reports and include the actual amounts in quarterly results for such quarter, the Company accrues the related revenue based on estimates of customers underlying sales achievement. The Company’s estimation process can be based on historical data, trends, seasonality, changes in the contract rate, knowledge of the changes in the industry and changes in the customer’s manufacturing environment learned through discussions with customers and sales personnel. As a result of accruing revenue for the quarter based on such estimates, adjustments will be required in the following quarter to true-up revenue to the actual amounts reported.

Income Taxes

We are required to assess whether it is “more-likely-than-not” that we will realize our DTAs. If we believe that they are not likely to be fully realizable before the expiration dates applicable to such assets, then to the extent we believe that recovery is not likely, we must establish a valuation allowance. Based on all available evidence, both positive and negative, we determined a full valuation allowance was still appropriate for our U.S. federal and state net DTAs, primarily driven by a cumulative loss incurred over the 12-quarter period ended September 30, 2024, and the likelihood that we may not utilize tax attributes before they expire. The valuation allowance was approximately $64.2 million as of September 30, 2024, and December 31, 2023. We will continue to evaluate the need for a valuation allowance and may change our conclusion in a future period based on changes in facts (e.g., 12-quarter cumulative profit, significant new revenue, etc.). If we conclude that we are more-likely-than-not to utilize some or all of our U.S. DTAs, we will release some or all of our valuation allowance and our tax provision will decrease in the period in which we make such determination.

We evaluate our DTAs for realizability considering both positive and negative evidence, including our historical financial performance, projections of future taxable income, future reversals of existing taxable temporary differences, tax planning strategies and any carryback availability. In evaluating the need for a valuation allowance, we estimate future taxable income based on management approved business plans. This process involves significant management judgment about assumptions that are subject to change from period to period based on changes in tax laws or variances between future projected operating performance and actual results. Changes in the net DTAs, less offsetting valuation allowance, in a period are recorded through the income tax provision and could have a material impact on the condensed consolidated statements of comprehensive income (loss).

Our income tax calculations are based on the application of applicable U.S. federal, state, and/or foreign tax law. Our tax filings, however, are subject to audit by the respective tax authorities. Accordingly, we recognize tax liabilities based upon our estimate of whether, and the extent to which, additional taxes will be due when such estimates are more-likely-than-not to be sustained. An uncertain income tax position will not be recognized if it has less than a 50% likelihood of being sustained. To the extent the final tax liabilities are different than the amounts originally accrued, the increases or decreases are recorded as income tax expense or benefit in the condensed consolidated statements of comprehensive income (loss). As of September 30, 2024, no deferred taxes have been provided on undistributed earnings from our international subsidiaries. We intend to reinvest the

37

earnings of our non-U.S. subsidiaries in those operations indefinitely. As such, we have not provided for any foreign withholding taxes on the earnings of foreign subsidiaries as of September 30, 2024. The earnings of our foreign subsidiaries are taxable in the U.S. in the year earned under the Global Intangible Low-Taxed Income rules implemented under 2017 Tax Cuts and Jobs Act.

The CHIPS Act was signed into U.S. law on August 9, 2022. The CHIPS Act is intended to increase domestic competitiveness in semiconductor manufacturing capacity, increase research and development in computing, AI, clean energy, and nanotechnology through federal government programs and incentives over the next ten years. The CHIPS Act includes an advanced manufacturing tax credit equal to 25% of qualified investments in property purchased for an advanced manufacturing facility. We have begun to see some benefit from the CHIPS Act to our business, but the extent of future benefit is still unknown.

Stock-Based Compensation

We account for stock-based compensation using the fair value method, which requires us to measure stock-based compensation based on the grant-date fair value of the awards and recognize the compensation expense over the requisite service period. As stock-based compensation expense recognized is based on awards ultimately expected to vest, it has been reduced for estimated forfeitures. Forfeitures are estimated at the time of grant and revised, if necessary, in subsequent periods if actual forfeitures differ from those estimates.

The fair value of our restricted stock units is equal to the market value of our common stock on the date of the grant. These awards are subject to time-based vesting which generally occurs over a period of four years.

The fair value of our stock options and purchase rights granted under employee stock purchase plan is estimated using the Black-Scholes-Merton option-pricing model, which incorporates various assumptions including volatility, expected life and interest rates. The expected volatility is based on the historical volatility of our common stock over the most recent period commensurate with the estimated expected life of our stock options and purchase rights granted under employee stock purchase plan. The expected life is based on historical experience and on the terms and conditions of the options granted and purchase rights granted under employee stock purchase plan. The interest rate assumption is based upon observed Treasury yield curve rates appropriate for the expected life of our stock options and purchase rights granted under employee stock purchase plan.

Valuation of Long-lived Assets including Goodwill and Intangible Assets

We record goodwill when the purchase consideration of an acquisition exceeds the fair value of the net tangible and identified intangible assets as of the date of acquisition. We have one operating segment and one operating unit. We perform an annual impairment assessment of goodwill during the fourth quarter of each calendar year or more frequently, if required, to determine if any events or circumstances exist, such as an adverse change in business climate or a decline in the overall industry demand, that would indicate that it would more likely than not reduce the fair value of a reporting unit below its carrying amount, including goodwill. If events or circumstances do not indicate that the fair value of a reporting unit is below its carrying amount, then goodwill is not considered to be impaired and no further testing is required. If the carrying amount exceeds its fair value, an impairment loss would be recognized equal to the amount of excess, limited to the amount of total goodwill. There was no impairment of goodwill for the three and nine months ended September 30, 2024 and 2023.

Our long-lived assets, excluding goodwill, consist of property, equipment, intangible assets and unguaranteed residual assets under net investments in sales-type leases. We periodically review our long-lived assets for impairment. For assets to be held and used, we initiate our review whenever events or changes in circumstances indicate that the carrying amount of a long-lived asset group may not be recoverable. Recoverability of an asset group is measured by comparison of its carrying amount to the expected future undiscounted cash flows that the asset group is expected to generate. If it is determined that an asset group is not recoverable, an impairment loss is

38

recorded in the amount by which the carrying amount of the asset group exceeds its fair value. There was no impairment of long-lived assets for the three and nine months ended September 30, 2024 and 2023.

Recent Accounting Pronouncements and Accounting Changes

See Note 1, Basis of Presentation and Summary of Significant Accounting Policies, to our unaudited condensed consolidated financial statements in this Quarterly Report on Form 10-Q, for a description of recent accounting pronouncements and accounting changes, including the expected dates of adoption and estimated effects, if any, on our condensed consolidated financial statements.

Results of Operations

Discussion of Financial Data for the Three and Nine months ended September 30, 2024 and 2023

Revenues, Costs of Revenues, and Gross Margin

Three Months Ended

Nine Months Ended

September 30, 

Change

September 30, 

Change

(Dollars in thousands)

2024

    

2023

    

$

    

%

 

    

2024

    

2023

    

$

    

%

 

Revenues:

  

 

  

 

  

 

  

 

  

 

  

 

  

 

  

Analytics

$

44,750

$

39,497

$

5,253

 

13

%

$

121,327

$

112,957

$

8,370

 

7

%

Integrated Yield Ramp

 

1,659

 

2,853

 

(1,194)

 

(42)

%

 

8,053

 

11,753

 

(3,700)

 

(31)

%

Total revenues

46,409

42,350

4,059

 

10

%

129,380

124,710

4,670

 

4

%

Costs of revenues

 

12,484

 

14,282

 

(1,798)

 

(13)

%

 

38,243

 

38,555

 

(312)

 

(1)

%

Gross profit

$

33,925

$

28,068

$

5,857

 

21

%

$

91,137

$

86,155

$

4,982

 

6

%

Gross margin

 

73

%  

 

66

%  

 

  

 

 

70

%  

 

69

%  

 

  

 

Analytics revenue as a percentage of total revenues

 

96

%  

 

93

%  

 

  

 

  

 

94

%  

 

91

%  

 

  

 

  

Integrated Yield Ramp revenue as a percentage of total revenues

 

4

%  

 

7

%  

 

  

 

  

 

6

%  

 

9

%  

 

  

 

  

Analytics Revenue

Analytics revenue increased $5.3 million for the three months ended September 30, 2024, compared to the three months ended September 30, 2023. The increase in Analytics revenue was driven by increases in revenues from Exensio and Cimetrix software licenses and CV systems, partially offset by a decrease in revenues from DFI systems.

Analytics revenue increased $8.4 million for the nine months ended September 30, 2024, compared to the nine months ended September 30, 2023. The increase in Analytics revenue was driven by increases in revenues from Exensio and Cimetrix software licenses, partially offset by a decrease in revenues from CV and DFI systems.

Integrated Yield Ramp Revenue

Integrated Yield Ramp revenue decreased $1.2 million for the three months ended September 30, 2024, compared to the three months ended September 30, 2023, primarily due to a decrease in hours worked on fixed-fees engagements, partially offset by higher Gainshare from increased customer wafer shipments at non-leading-edge nodes.

39

Integrated Yield Ramp revenue decreased $3.7 million for the nine months ended September 30, 2024, compared to the nine months ended September 30, 2023, primarily due to lower hours worked on fixed-fees engagements and Gainshare from decreased customer wafer shipments at non-leading-edge nodes.

Our Integrated Yield Ramp revenue may continue to fluctuate from period to period primarily due to the contribution of Gainshare, which is dependent on many factors that are outside our control, including among others, continued production of ICs by our customers at facilities at which we generate Gainshare, sustained yield improvements by our customers, and whether we enter into new contracts containing Gainshare.

Our Analytics and Integrated Yield Ramp revenues may also fluctuate in the future and are dependent on a number of factors, including the semiconductor industry’s continued acceptance of our products, services and solutions, the timing of purchases by existing and new customers, cancellations by existing customers, and our ability to attract new customers and penetrate new markets, supply chain challenges and further penetration of our current customer base. Fluctuations in future results may also occur if any of our significant customers renegotiate pre-existing contractual commitments, including due to adverse changes in their own business.

Costs of Revenues

Costs of revenues consist primarily of costs incurred to provide and support our services, costs recognized in connection with licensing our software, IT and facilities-related costs and amortization of acquired technology. Service costs include material costs, hardware costs (including cost of leased assets under sales-type lease), personnel-related costs (including compensation, employee benefits, bonus and stock-based compensation expense), subcontractor costs, overhead costs, travel expenses, and allocated facilities-related costs. Software license costs consist of costs associated with third-party cloud-delivery related expenses and licensing third-party software used by us in providing services to our customers in solution engagements or sold in conjunction with our software products.

The decrease in costs of revenues of $1.8 million for the three months ended September 30, 2024, compared to the three months ended September 30, 2023, was primarily due to (i) a $2.0 million decrease in hardware costs and (ii) a $0.5 million decrease in facilities and IT-related costs including depreciation and amortization expense. These decreases were partially offset by (a) a $0.3 million increase in subcontractor costs, (b) a $0.3 million increase in third-party cloud-delivery costs, and (c) a $0.2 million increase in personnel-related costs mostly resulting from higher stock-based compensation expenses.

The decrease in costs of revenues of $0.3 million for the nine months ended September 30, 2024, compared to the nine months ended September 30, 2023, was primarily due to (i) a $0.8 million decrease in facilities and IT-related costs including depreciation and amortization expense, and (ii) a $0.6 million decrease in hardware costs. These decreases were partially offset by (a) a $0.5 million increase in third-party cloud-delivery costs, (b) a $0.4 million increase in subcontractor costs, and (c) a $0.2 million increase in personnel-related costs mostly resulting from higher stock-based compensation expenses, higher other compensation expenses (including employee benefit costs), increased headcount, and worldwide salary increases, partially offset by lower bonus expense.

Gross Margin

Gross margin increased seven percentage points for the three months ended September 30, 2024, to 73%, compared to 66% for the three months ended September 30, 2023. The higher gross margin during the three months ended September 30, 2024, was primarily due to higher Analytics revenue and lower cost of revenues for the three months ended September 30, 2024.

Gross margin increased one percentage point for the nine months ended September 30, 2024, to 70%, compared to 69% for the nine months ended September 30, 2023. The higher gross margin during the nine months

40

ended September 30, 2024, was primarily due to higher Analytics revenue for the nine months ended September 30, 2024.

Operating Expenses:

Research and Development

Three Months Ended

Nine Months Ended

September 30, 

Change

September 30, 

Change

(Dollars in thousands)

    

2024

    

2023

    

$

%

 

    

2024

    

2023

    

$

%

 

Research and development

$

13,516

$

13,113

$

403

 

3

%

$

39,149

$

38,428

$

721

 

2

%

As a percentage of total revenues

 

29

%  

 

31

%  

 

  

 

  

 

30

%  

 

31

%  

 

  

 

  

Research and development expenses consist primarily of personnel-related costs (including compensation, employee benefits, bonus, and stock-based compensation expense), outside development services, travel expenses, third-party cloud-services related costs, laboratory supplies, IT and facilities cost allocations to support product development activities.

Research and development expenses increased $0.4 million for the three months ended September 30, 2024, compared to the three months ended September 30, 2023, primarily due to (i) a $0.3 million increase in subcontractor fees primarily related to Cimetrix and Exensio software and (ii) a $0.2 million increase in personnel-related costs mostly resulting from higher stock-based compensation expenses, higher other compensation expenses (including employee benefit costs and bonuses), increased headcount, and worldwide salary increases.

Research and development expenses increased $0.7 million for the nine months ended September 30, 2024, compared to the nine months ended September 30, 2023, primarily due to (i) a $0.7 million increase in personnel-related costs mostly resulting from higher stock-based compensation expenses, higher other compensation expenses (including employee benefit costs), increased headcount, and worldwide salary increases, partially offset by lower bonus expense, (ii) a $0.2 million increase in third-party cloud-services costs, and (iii) a $0.1 million increase in travel expenses, partially offset by a $0.2 million decrease in laboratory supplies, facilities and IT-related costs including depreciation expense.

We anticipate our expenses in research and development will fluctuate in absolute dollars from period to period as a result of the size and the timing of product development projects.

Selling, General, and Administrative

Three Months Ended

Nine Months Ended

September 30, 

Change

September 30, 

Change

(Dollars in thousands)

    

2024

    

2023

    

$

%

 

    

2024

    

2023

    

$

%

 

Selling, general, and administrative

$

18,094

$

15,611

$

2,483

 

16

%

$

50,851

$

46,022

$

4,829

 

10

%

As a percentage of total revenues

 

39

%  

 

37

%  

 

  

 

  

 

39

%  

 

37

%  

 

  

 

  

Selling, general, and administrative expenses consist primarily of personnel-related costs (including compensation, employee benefits, bonus, commission and stock-based compensation expense for sales, marketing, and general and administrative personnel), legal, tax and accounting services, marketing communications and trade conference-related expenses, third-party cloud-services related costs, travel, business acquisition costs, IT, and facilities cost allocations.

41

Selling, general, and administrative expenses increased $2.5 million for the three months ended September 30, 2024, compared to the three months ended September 30, 2023, primarily due to (i) a $1.6 million increase in personnel-related costs mainly resulting from higher stock-based compensation expenses, higher other compensation expenses (including commissions, employee benefit costs and bonuses), increased headcount, and worldwide salary increases, (ii) a $0.6 million increase in legal expenses (excluding arbitration-related expenses), (iii) a $0.3 million increase in facilities and IT-related costs including depreciation expense, (iv) a $0.1 million increase in subcontractor fees, and (v) a $0.1 million increase in trade conference-related expenses. These increases were partially offset by a $0.2 million decrease in legal fees related to the arbitration proceeding over a disputed customer contract.

Selling, general, and administrative expenses increased $4.8 million for the nine months ended September 30, 2024, compared to the nine months ended September 30, 2023, primarily due to (i) a $4.8 million increase in personnel-related costs mainly resulting from higher stock-based compensation expenses, higher other compensation expenses (including commissions and employee benefit costs), increased headcount, and worldwide salary increases, partially offset by lower bonus expense, (ii) a $2.1 million increase in legal expenses (excluding arbitration-related expenses), (iii) a $0.3 million increase in facilities and IT-related costs including depreciation expense, (iv) a $0.2 million increase in trade conference-related expenses, and (v) a $0.1 million increase in subcontractor fees. These increases were partially offset by (a) a $2.5 million decrease in legal fees related to the arbitration proceeding over a disputed customer contract, (b) a $0.2 million decrease in business acquisition costs, and (c) a $0.1 million decrease in third-party cloud-services costs.

We anticipate our selling, general, and administrative expenses will fluctuate in absolute dollars from period to period as a result of cost control initiatives and to support increased selling efforts in the future.

Amortization of Acquired Intangible Assets

Three Months Ended

Nine Months Ended

September 30, 

Change

September 30, 

Change

(Dollars in thousands)

    

2024

    

2023

    

$

%

 

    

2024

    

2023

    

$

%

 

Amortization of acquired intangible assets

$

196

$

328

$

(132)

 

(40)

%

$

714

$

979

$

(265)

 

(27)

%

Amortization of acquired intangible assets primarily consists of amortization of intangibles acquired as a result of certain business combinations.

Interest and Other Expense (Income), Net

Three Months Ended

Nine Months Ended

    

September 30, 

Change

September 30, 

Change

 

(Dollars in thousands)

2024

    

2023

    

$

%

 

    

2024

    

2023

    

$

%

Interest and other expense (income), net

$

(1,511)

$

(2,018)

$

(507)

 

(25)

%

$

(4,682)

$

(4,000)

$

682

 

17

%

Interest and other expense (income), net, primarily consists of interest income and foreign currency transaction exchange gains and losses.

Interest and other expense (income), net decreased $0.5 million for the three months ended September 30, 2024, compared to the three months ended September 30, 2023, primarily due to net unfavorable fluctuations in foreign currency exchange rates.

42

Interest and other expense (income), net increased $0.7 million for the nine months ended September 30, 2024, compared to the nine months ended September 30, 2023, primarily due to higher interest income resulting from higher interest rates and sales-type leases.

Income Tax Expense

Three Months Ended

Nine Months Ended

    

September 30, 

Change

September 30, 

Change

 

(Dollars in thousands)

2024

    

2023

    

$

%

 

    

2024

    

2023

    

$

%

Income tax benefit (expense)

$

(1,424)

$

(6,006)

$

(4,582)

 

(76)

%

$

(1,587)

$

(2,508)

$

(921)

 

(37)

%

Income tax expense decreased for the three and nine months ended September 30, 2024, compared to the three and nine months ended September 30, 2023, primarily due to changes in the foreign and state taxes and year-to-date recognition of worldwide pre-tax income in relation to their forecasted amounts for full years.

Any significant change in our future effective tax rates could adversely impact our consolidated financial position, results of operations and cash flows. Our future tax rates may be adversely affected by a number of factors including increase in expenses not deductible for tax purposes, new or changing tax legislation in the United States and in foreign countries where we are subject to tax jurisdictions, the geographic composition of our pre-tax income, the amount of our pre-tax income as business activities fluctuate, our ability to use tax attributes such as research and development tax credits and net operation losses, the tax effects of employee stock activity, audit examinations with adverse outcomes, changes in accounting principles generally accepted in the United States of America and the effectiveness of our tax planning strategies.

Liquidity and Capital Resources

As of September 30, 2024, our working capital, defined as total current assets less total current liabilities, was $133.7 million, compared to $147.0 million as of December 31, 2023. Total cash, cash equivalents, and short-term investments were $120.2 million as of September 30, 2024, compared to cash, cash equivalents, and short-term investments of $135.5 million as of December 31, 2023. As of September 30, 2024, and December 31, 2023, cash and cash equivalents held by our foreign subsidiaries were $12.2 million and $10.0 million, respectively. We believe that our existing cash resources and anticipated funds from operations will satisfy our cash requirements to fund our operating activities, capital expenditures, other obligations for at least the next twelve months, and thereafter for the foreseeable future; however, we will continue to evaluate if we require additional funding to meet our longer-term needs.

Repurchase of Company’s Common Stock

On April 11, 2022, the Board of Directors adopted a stock repurchase program (the “2022 Program”) to repurchase up to $35.0 million of the Company’s common stock both on the open market and in privately negotiated transactions, including through Rule 10b5-1 plans, from time to time, over the next two years. During the nine months ended September 30, 2024, 201,561 shares were repurchased by the Company under the 2022 Program at an average price of $34.23 per share for an aggregate total price of $6.9 million. In total, the Company repurchased 937,501 shares under the 2022 Program at an average price of $25.96 per share for an aggregate total price of $24.3 million.

The 2022 Program expired on April 11, 2024, and on April 15, 2024, the Board of Directors adopted a new program to repurchase up to $40.0 million of the Company’s common stock both on the open market and in privately negotiated transactions, including through Rule 10b5-1 plans, from time to time, over the next two years. The Company has not repurchased any shares under the 2024 Program.

43

Cash Flow Data

The following table summarizes our cash flows for the periods presented:

Nine Months Ended September 30, 

(In thousands)

    

2024

    

2023

    

$ Change

Net cash flows provided by (used in):

 

  

 

  

 

  

Operating activities

$

8,097

$

12,571

$

(4,474)

Investing activities

 

188

 

(14,235)

 

14,423

Financing activities

 

(10,908)

 

(5,577)

 

(5,331)

Effect of exchange rate changes on cash and cash equivalents

 

73

 

(763)

 

836

Net change in cash and cash equivalents

$

(2,550)

$

(8,004)

$

5,454

Net Cash Flows Provided by Operating Activities

Cash flows provided by operating activities during the nine months ended September 30, 2024, consisted of net income, adjusted for certain non-cash items which primarily consisted of depreciation and amortization, stock-based compensation expense, amortization of acquired intangible expense, amortization of costs capitalized to obtain revenue contracts, net accretion of discounts on short-term investments, accretion of unguaranteed residual assets and net change in operating assets and liabilities.

Net cash flows provided by operating activities was $8.1 million for the nine months ended September 30, 2024, compared to $12.6 million for the nine months ended September 30, 2023. The decrease in cash provided by operating activities between the periods was driven primarily by lower collections from customers, partially offset by (i) a decrease in bonus payments under the Company’s bonus plan, (ii) a decrease in payments of vendor invoices, (iii) an increase in interest income, and (iv) an increase in net income between comparable periods. Net income was $3.5 million for the nine months ended September 30, 2024, compared to $2.2 million for the nine months ended September 30, 2023.

The major contributors to the net change in operating assets and liabilities for the nine months ended September 30, 2024, were as follows:

Accounts receivable increased by $1.7 million, primarily due to contractual invoicing activity and an increase in unbilled accounts receivables due to the timing of billing and revenue recognition, partially offset by collections from customers;
Prepaid expense and other current assets increased by $8.8 million, primarily due to increases in lease receivables, contract assets, prepaid expenses and deferred commission, partially offset by a decrease in income tax receivable;
Other non-current assets increased by $11.5 million primarily due to increases in non-current unbilled accounts receivables due to the timing of billing and revenue recognition, non-current assets from sales-type leases, non-current prepaid expenses and costs capitalized to obtain revenue contracts, partially offset by a decrease in non-current contract assets;
Accounts payable increased by $3.0 million primarily due to the timing of payments of vendor invoices;
Accrued compensation and related benefits decreased by $1.6 million primarily due to the payments of accrued bonuses net of new bonus accruals and exercise of purchase rights under the employee

44

stock purchase plan, partially offset by increases in accrued commissions and other compensation, and new contributions to the employee stock purchase plan;
Deferred revenue increased by $2.8 million primarily due to the timing of billing and revenue recognition; and
Billings in excess of recognized revenues decreased by $1.5 million primarily due to the timing of billing and revenue recognition.

Net Cash Flows Provided by (Used in) Investing Activities

Net cash provided by investing activities was $0.2 million for the nine months ended September 30, 2024, compared to net cash used in investing activities of $14.2 million for the nine months ended September 30, 2023.

For the nine months ended September 30, 2024, cash provided by investing activities primarily related to proceeds from maturities and sales of short-term investments of $57.1 million, partially offset by purchases of short-term investments of $43.1 million, purchases of and prepayments for property and equipment of $11.9 million primarily related to our DFI systems, and purchase of a convertible promissory note of $2.0 million.

For the nine months ended September 30, 2023, cash used in investing activities primarily related to purchases of short-term investments of $32.3 million, purchases of and prepayments for property and equipment of $8.9 million primarily related to our DFI and CV systems, payment for business acquisition, net of cash acquired, of $1.8 million, partially offset by proceeds from maturities and sales of short-term investments of $28.8 million.

Net Cash Flows Used in Financing Activities

Net cash used in financing activities was $10.9 million for the nine months ended September 30, 2024, compared to $5.6 million for the nine months ended September 30, 2023.

For the nine months ended September 30, 2024, net cash used in financing activities primarily consisted of $8.2 million in cash payments for taxes related to net share settlement of equity awards, repurchases of common stock of $6.9 million, partially offset by $4.2 million of proceeds from our employee stock purchase plans and exercise of stock options.

For the nine months ended September 30, 2023, net cash used in financing activities primarily consisted of $9.1 million in cash payments for taxes related to net share settlement of equity awards, repurchases of common stock of $0.7 million, partially offset by $4.3 million of proceeds from our employee stock purchase plans and exercise of stock options.

Related Party Transactions

Refer to Note 12, Strategic Partnership Agreement with Advantest and Related Party Transactions, to our unaudited condensed consolidated financial statements in this Quarterly Report on Form 10-Q, for the discussion about related party transactions between the Company and Advantest (as defined therein).

Off-Balance Sheet Agreements

We do not have any off-balance sheet arrangements, investments in special purpose entities or undisclosed borrowings or debt.

45

Item 3. Quantitative and Qualitative Disclosures about Market Risk

The following discusses our exposure to market risk related to changes in interest rates and foreign currency exchange rates. We do not currently own any equity investments, nor do we expect to own any in the foreseeable future. This discussion contains forward-looking statements that are subject to risks and uncertainties. Actual results could vary materially as a result of a number of factors.

Interest Rate Risk.  As of September 30, 2024, we had cash, cash equivalents and short-term investments of $120.2 million. Cash and cash equivalents consisted of cash and highly liquid money market instruments and short-term investments consisted of U.S. Government securities. We would not expect our operating results or cash flows to be affected to any significant degree by the effect of a sudden change in market interest on our portfolio. A hypothetical increase in market interest rates of 100 basis points from the market rates in effect as of September 30, 2024, would cause the fair value of these investments to decrease by an immaterial amount which would not have significantly impacted our financial position or results of operations.

As of September 30, 2024, and periodically throughout the year, we have maintained cash balances in various operating accounts in excess of federally insured limits. We limit the amount of credit exposure to any financial institution by evaluating the creditworthiness of the financial institutions with which we invest and investing through more than one financial institution.

Foreign Currency and Exchange Risk. Certain of our cash balances, receivables and payables for our international offices are denominated in the local currency, including the Euro, Yen, Chinese Yuan, New Taiwan Dollar and Canadian Dollar. Therefore, some of our activities including a portion of our revenues and operating expenditures are subject to foreign currency risks. From time to time, we enter into foreign currency forward contracts to reduce the exposure to foreign currency exchange rate fluctuations on certain foreign currency denominated monetary assets and liabilities. We do not use foreign currency forward contracts for speculative or trading purposes. We record these forward contracts at fair value. The counterparty to these foreign currency forward contracts, as applicable, is a financial institution that we believe is creditworthy, and therefore, we believe the credit risk of counterparty non-performance is not significant. The change in fair value of these contracts is recorded in earnings as a component of interest and other expense (income), net and offsets the change in fair value of foreign currency denominated monetary assets and liabilities, which is also recorded in other expense (income), net. As of September 30, 2024, we had no outstanding forward contracts.

Item 4. Controls and Procedures

Evaluation of Disclosure Controls and Procedures

Our management, with the participation of our principal executive officer and principal financial and accounting officer, evaluated the effectiveness of our “disclosure controls and procedures” as defined in Exchange Act Rules 13a-15(e) and 15d-15(e) as of September 30, 2024, in connection with the filing of this Quarterly Report on Form 10-Q. Based on that evaluation as of September 30, 2024, our principal executive officer and principal financial and accounting officer concluded that our disclosure controls and procedures were effective to ensure that information we are required to disclose in reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the rules and forms of the SEC and is accumulated and communicated to our management as appropriate to allow timely decisions regarding required disclosure.

46

Changes in Internal Control over Financial Reporting

There were no changes in the Company’s internal control over financial reporting during the three months ended September 30, 2024, that have materially affected, or are reasonably likely to materially affect, the Company’s internal control over financial reporting.

PART II — OTHER INFORMATION

Item 1. Legal Proceedings

Refer to Note 11, Commitments and Contingencies to our condensed consolidated financial statements in this Quarterly Report on Form 10-Q, for information regarding our legal proceedings.

Item 1A. Risk Factors

As of the date of this Quarterly Report on Form 10-Q, except as set forth below, there have been no material changes from the risk factors disclosed in our Annual Report on Form 10-K for the year ended December 31, 2023, filed with the SEC on February 27, 2024. Any of such factors could result in a significant or material adverse effect on our result of operations or financial conditions. Additional risk factors not presently known to us or that we currently deem immaterial may also impair our business or results of operations. We may disclose changes to such factors or disclose additional factors from time to time in our future filings with the SEC.

Risks Related to Our Technology

Support and updates for open-source software that we currently use in providing our products and services may not be available to us in the future, which could negatively impact our financial results.

We use open-source software (“OSS”) in delivering products and services to our customers. Change of terms for support for OSS, or lack of support or updates for such OSS, could also significantly increase our costs to deliver our products and services or cause a temporary or long-term disruption in our ability to use such OSS in our products and services or make it harder or impossible to mitigate vulnerabilities or risks associated with such software, which could negatively impact our financial results.

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

There were no stock repurchases during the third quarter of 2024.

Approximate

Total Number

 

Dollar

of Shares

 

Value of

Purchased

 

Shares that

 

Total

as Part of

 

May Yet Be

 

Number of

Publicly

 

Purchased

 

Shares

Average

Announced

 

Under the

 

Purchased

Price Paid

Programs

 

Programs

Period

    

(in thousands)

    

Per Share

    

(in thousands)

    

(in thousands)

July 1, 2024 through July 31, 2024

$

 

$

40,000

August 1, 2024 through August 31, 2024

$

 

$

40,000

September 1, 2024 through September 30, 2024

$

 

$

40,000

Total

$

47

Item 3. Defaults Upon Senior Securities

None.

Item 4. Mine Safety Disclosures

None.

Item 5. Other Information

Insider Adoption or Termination of Trading Arrangements

During the quarter ended September 30, 2024, none of our directors or officers informed us of the adoption or termination of a “Rule 10b5-1 trading arrangement” or “non-Rule 10b5-1 trading arrangement,” as those terms are defined in Regulation S-K, Item 408.

Item 6. Exhibits

Incorporated by Reference

Exhibit
Number

Exhibit Description

Form

Filing Date

Exhibit Number

SEC File No.

Provided Herewith

31.01

Certification of the principal executive officer pursuant to Exchange Act Rules 13a-14(a) and 15d-14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

X

31.02

Certification of the principal financial and accounting officer pursuant to Exchange Act Rules 13a-14(a) and 15d-14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

X

32.01

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

X

32.02

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

X

101

The following financial statements from the Company’s Quarterly Report on Form 10-Q for the quarter ended September 30, 2024, formatted in Inline XBRL: (i) Condensed Consolidated Balance Sheets, (ii) Condensed Consolidated Statements of Comprehensive Income (Loss), (iii) Condensed Consolidated Statements of Stockholders’ Equity, (iv) Condensed Consolidated Statements of Cash Flows and (v) Notes to Condensed Consolidated Financial Statements, tagged as blocks of text and including detailed tags.

X

104

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

*

Furnished, and not filed.

48

SIGNATURES

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

PDF SOLUTIONS, INC.

Date: November 7, 2024

By:

/s/ JOHN K. KIBARIAN

John K. Kibarian

President and Chief Executive Officer

(principal executive officer)

Date: November 7, 2024

By:

/s/ ADNAN RAZA

Adnan Raza

Executive Vice President, Finance and Chief

Financial Officer

(principal financial and accounting officer)

49

EX-31.01 2 pdfs-20240930xex31d01.htm EX-31.01

Exhibit 31.01

CERTIFICATIONS

I, John K. Kibarian, certify that:

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

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

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

4. The registrant’s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

(c) Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

(d) Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5. The registrant’s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of 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.

  

By:

 /s/ John K. Kibarian

  

  

John K. Kibarian

  

  

President and Chief Executive Officer

  

  

(principal executive officer)

Date: November 7, 2024


EX-31.02 3 pdfs-20240930xex31d02.htm EX-31.02

Exhibit 31.02

CERTIFICATIONS

I, Adnan Raza, certify that:

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

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

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

4. The registrant’s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

(c) Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

(d) Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5. The registrant’s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of 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.

  

By:

/s/ Adnan Raza

  

  

Adnan Raza

  

  

Executive Vice President, Finance

and Chief Financial Officer

  

  

(principal financial and accounting

officer)

Date: November 7, 2024


EX-32.01 4 pdfs-20240930xex32d01.htm EX-32.01

Exhibit 32.01

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Quarterly Report of PDF Solutions, Inc. (the “Company”) on Form 10-Q for the quarter ended September 30, 2024, as filed with the Securities and Exchange Commission on November 7, 2024 (the “Report”), I, John K. Kibarian, President and Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge:

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

(2) The information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.

  

By:

/s/ John K. Kibarian

  

  

John K. Kibarian

  

  

President and Chief Executive

Officer

  

  

(principal executive officer)

Date: November 7, 2024


EX-32.02 5 pdfs-20240930xex32d02.htm EX-32.02

Exhibit 32.02

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Quarterly Report of PDF Solutions, Inc. (the “Company”) on Form 10-Q for the quarter ended September 30, 2024, as filed with the Securities and Exchange Commission on November 7, 2024 (the “Report”), I, Adnan Raza, Executive Vice President, Finance and Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge:

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

(2) The information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.

10

  

By:

/s/ Adnan Raza

  

  

Adnan Raza

  

  

Executive Vice President, Finance

and Chief Financial Officer

  

  

(principal financial and accounting

officer)

Date: November 7, 2024


EX-101.SCH 6 pdfs-20240930.xsd EX-101.SCH 995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS link:presentationLink link:calculationLink link:definitionLink 995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 99940203 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Contract Balances (Details) link:presentationLink link:calculationLink link:definitionLink 99940204 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Deferred Revenues (Details) link:presentationLink link:calculationLink link:definitionLink 99940205 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Costs to Obtain or Fulfill a Contract (Details) link:presentationLink link:calculationLink link:definitionLink 99940302 - Disclosure - BALANCE SHEET COMPONENTS - Property and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 99940303 - Disclosure - BALANCE SHEET COMPONENTS - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 99940304 - Disclosure - BALANCE SHEET COMPONENTS - Annual Amortization of Identifiable Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 99940305 - Disclosure - BALANCE SHEET COMPONENTS - Other Non-current Assets (Details) link:presentationLink link:calculationLink link:definitionLink 99940306 - Disclosure - BALANCE SHEET COMPONENTS - Net Investment in Sales-type Leases (Details) link:presentationLink link:calculationLink link:definitionLink 99940307 - Disclosure - BALANCE SHEET COMPONENTS - Maturities of Lease Payments Under Sales-type Leases (Details) link:presentationLink link:calculationLink link:definitionLink 99940402 - Disclosure - LEASES - Components of Operating Lease Expense (Details) link:presentationLink link:calculationLink link:definitionLink 99940403 - Disclosure - LEASES - Maturity of Operating Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40504 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Intangible Asset (Details) (Calc 2) link:presentationLink link:calculationLink link:definitionLink 40703 - Disclosure - Note 7 - LEASES - Maturity of Operating Lease Liabilities (Details) (Calc 2) link:presentationLink link:calculationLink link:definitionLink 99940801 - Disclosure - NET INCOME (LOSS) PER SHARE - Calculation of Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 99941001 - Disclosure - FAIR VALUE MEASUREMENTS - Assets Measured on a Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 995200090 - Document - Document And Entity Information link:presentationLink link:calculationLink link:definitionLink 995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parentheticals) link:presentationLink link:calculationLink link:definitionLink 995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY link:presentationLink link:calculationLink link:definitionLink 995210101 - Disclosure - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES link:presentationLink link:calculationLink link:definitionLink 995210201 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS link:presentationLink link:calculationLink link:definitionLink 995210401 - Disclosure - LEASES link:presentationLink link:calculationLink link:definitionLink 995210501 - Disclosure - STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 995210601 - Disclosure - EMPLOYEE BENEFIT PLANS link:presentationLink link:calculationLink link:definitionLink 995210701 - Disclosure - INCOME TAXES link:presentationLink link:calculationLink link:definitionLink 995210801 - Disclosure - NET INCOME (LOSS) PER SHARE link:presentationLink link:calculationLink link:definitionLink 995210901 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION link:presentationLink link:calculationLink link:definitionLink 995211001 - Disclosure - FAIR VALUE MEASUREMENTS link:presentationLink link:calculationLink link:definitionLink 995211101 - Disclosure - COMMITMENTS AND CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 995211201 - Disclosure - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS link:presentationLink link:calculationLink link:definitionLink 99920102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies) link:presentationLink link:calculationLink link:definitionLink 99930203 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables) link:presentationLink link:calculationLink link:definitionLink 99930303 - Disclosure - BALANCE SHEET COMPONENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 99930403 - Disclosure - LEASES (Tables) link:presentationLink link:calculationLink link:definitionLink 99930603 - Disclosure - EMPLOYEE BENEFIT PLANS (Tables) link:presentationLink link:calculationLink link:definitionLink 99930803 - Disclosure - NET INCOME (LOSS) PER SHARE (Tables) link:presentationLink link:calculationLink link:definitionLink 99930903 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION (Tables) link:presentationLink link:calculationLink link:definitionLink 99931003 - Disclosure - FAIR VALUE MEASUREMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 99940201 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS (Details) link:presentationLink link:calculationLink link:definitionLink 99940202 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 99940206 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 40206 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Additional Information Default (Details) link:presentationLink link:calculationLink link:definitionLink 99940301 - Disclosure - BALANCE SHEET COMPONENTS (Details) link:presentationLink link:calculationLink link:definitionLink 99940401 - Disclosure - LEASES (Details) link:presentationLink link:calculationLink link:definitionLink 99940501 - Disclosure - STOCKHOLDERS EQUITY (Details) link:presentationLink link:calculationLink link:definitionLink 99940601 - Disclosure - EMPLOYEE BENEFIT PLANS - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 99940602 - Disclosure - EMPLOYEE BENEFIT PLANS - Valuation Assumptions for ESPP (Details) link:presentationLink link:calculationLink link:definitionLink 99940603 - Disclosure - EMPLOYEE BENEFIT PLANS - Allocation of Recognized Period Costs (Details) link:presentationLink link:calculationLink link:definitionLink 99940604 - Disclosure - EMPLOYEE BENEFIT PLANS - Stock Options Activity (Details) link:presentationLink link:calculationLink link:definitionLink 99940605 - Disclosure - EMPLOYEE BENEFIT PLANS - Nonvested Restricted Stock Units Activity (Details) link:presentationLink link:calculationLink link:definitionLink 99940701 - Disclosure - INCOME TAXES - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 99940802 - Disclosure - NET INCOME (LOSS) PER SHARE - Anti-dilutive Securities (Details) link:presentationLink link:calculationLink link:definitionLink 99940901 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION - Other (Details) link:presentationLink link:calculationLink link:definitionLink 99940902 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenue Percentage by Major Customers (Details) link:presentationLink link:calculationLink link:definitionLink 99940903 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenues by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 99940904 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION - Long-lived Assets by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 99941002 - Disclosure - FAIR VALUE MEASUREMENTS - Other (Details) link:presentationLink link:calculationLink link:definitionLink 99941101 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details) link:presentationLink link:calculationLink link:definitionLink 99941201 - Disclosure - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS (Details) link:presentationLink link:calculationLink link:definitionLink 995210301 - Disclosure - BALANCE SHEET COMPONENTS link:presentationLink link:calculationLink link:definitionLink 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 pdfs-20240930_cal.xml EX-101.CAL EX-101.DEF 8 pdfs-20240930_def.xml EX-101.DEF EX-101.LAB 9 pdfs-20240930_lab.xml EX-101.LAB EX-101.PRE 10 pdfs-20240930_pre.xml EX-101.PRE XML 12 R1.htm IDEA: XBRL DOCUMENT v3.24.3
Document And Entity Information - shares
9 Months Ended
Sep. 30, 2024
Nov. 01, 2024
Document and Entity Information    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Sep. 30, 2024  
Document Transition Report false  
Securities Act File Number 000-31311  
Entity Registrant Name PDF SOLUTIONS, INC.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 25-1701361  
Entity Address, Address Line One 2858 De La Cruz Blvd.  
Entity Address, City or Town Santa Clara  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 95050  
City Area Code 408  
Local Phone Number 280-7900  
Title of 12(b) Security Common Stock, $0.00015 par value  
Trading Symbol PDFS  
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   38,772,864
Entity Central Index Key 0001120914  
Amendment Flag false  
Current Fiscal Year End Date --12-31  
Document Fiscal Period Focus Q3  
Document Fiscal Year Focus 2024  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
Assets, Current [Abstract]    
Cash and cash equivalents $ 96,428 $ 98,978
Short-term investments 23,724 36,544
Accounts receivable, net of allowance for credit losses of $890 as of September 30, 2024 and December 31, 2023 46,668 44,904
Prepaid expenses and other current assets 24,575 17,422
Total current assets 191,395 197,848
Property and equipment, net 46,019 37,338
Operating lease right-of-use assets, net 4,360 4,926
Goodwill 15,011 15,029
Intangible assets, net 13,133 15,620
Deferred tax assets, net 173 157
Total other non-current assets 37,260 19,218
Total assets 307,351 290,136
Liabilities, Current [Abstract]    
Accounts payable 7,504 2,561
Accrued compensation and related benefits 13,191 14,800
Accrued and other current liabilities 6,510 4,633
Operating lease liabilities - current portion 1,706 1,529
Deferred revenues - current portion 28,728 25,750
Billings in excess of recognized revenues 91 1,570
Total current liabilities 57,730 50,843
Long-term income taxes 2,883 2,972
Non-current portion of operating lease liabilities 3,870 4,657
Other non-current liabilities 2,404 2,718
Total liabilities 66,887 61,190
Stockholders' Equity, Number of Shares, Par Value and Other Disclosure [Abstract]    
Preferred stock, $0.00015 par value, 5,000 shares authorized, no shares issued and outstanding
Common stock, $0.00015 par value, 70,000 shares authorized; shares issued 50,668 and 49,749, respectively; shares outstanding 38,763 and 38,289, respectively 6 6
Additional Paid in Capital 496,255 473,295
Treasury stock at cost, 11,905 and 11,460 shares, respectively (159,018) (143,923)
Accumulated deficit (94,527) (98,045)
Accumulated other comprehensive loss (2,252) (2,387)
Total stockholders' equity 240,464 228,946
Total liabilities and stockholders' equity $ 307,351 $ 290,136
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED BALANCE SHEETS (Parentheticals) - USD ($)
shares in Thousands, $ in Thousands
Sep. 30, 2024
Dec. 31, 2023
CONDENSED CONSOLIDATED BALANCE SHEETS    
Accounts receivable, allowance for credit losses $ 890 $ 890
Preferred stock, par value $ 0.00015 $ 0.00015
Preferred stock, shares authorized 5,000 5,000
Preferred stock, shares issued 0 0
Preferred stock, shares outstanding 0 0
Common stock, par value $ 0.00015 $ 0.00015
Common stock, shares authorized 70,000 70,000
Common stock, shares issued 50,668 49,749
Common stock, shares outstanding 38,763 38,289
Treasury stock, common shares 11,905 11,460
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Revenues [Abstract]        
Total revenues $ 46,409 $ 42,350 $ 129,380 $ 124,710
Costs and Expenses [Abstract]        
Costs of revenues 12,484 14,282 38,243 38,555
Research and development 13,516 13,113 39,149 38,428
Selling, general, and administrative 18,094 15,611 50,851 46,022
Amortization of acquired intangible assets 196 328 714 979
Interest and other expense (income), net (1,511) (2,018) (4,682) (4,000)
Income (loss) before income tax benefit (expense) 3,630 1,034 5,105 4,726
Income tax benefit (expense) (1,424) (6,006) (1,587) (2,508)
Net income (loss) 2,206 (4,972) 3,518 2,218
Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent, Alternative [Abstract]        
Foreign currency translation adjustments, net of tax 975 (552) 123 (679)
Change in unrealized gain (loss) related to available-for-sale debt securities, net of tax 28 (5) 12 2
Total other comprehensive loss 1,003 (557) 135 (677)
Comprehensive income $ 3,209 $ (5,529) $ 3,653 $ 1,541
Net income per share:        
Basic $ 0.06 $ (0.13) $ 0.09 $ 0.06
Diluted $ 0.06 $ (0.13) $ 0.09 $ 0.06
Weighted average common shares used to calculate net income per share:        
Basic 38,710 38,187 38,542 37,930
Diluted 39,105 38,187 39,028 38,977
Analytics        
Revenues [Abstract]        
Total revenues $ 44,750 $ 39,497 $ 121,327 $ 112,957
Integrated Yield Ramp        
Revenues [Abstract]        
Total revenues $ 1,659 $ 2,853 $ 8,053 $ 11,753
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY - USD ($)
shares in Thousands, $ in Thousands
Common Stock
Additional Paid-in Capital
Treasury Stock
Accumulated Deficit
Accumulated Other Comprehensive Loss
Total
Beginning Balances at Dec. 31, 2022 $ 6 $ 447,415 $ (133,709) $ (101,150) $ (2,550) $ 210,012
Beginning Balances (shares) at Dec. 31, 2022 37,431   11,182      
Issuance of common stock in connection with employee stock purchase plan   1,663       1,663
Issuance of common stock in connection with employee stock purchase plan (shares) 98          
Issuance of common stock in connection with exercise of options   345       345
Issuance of common stock in connection with exercise of options (shares) 21          
Vesting of restricted stock units (shares) 286          
Purchases of treasury stock in connection with tax withholdings on vesting of restricted stock awards     $ (4,101)     (4,101)
Purchases of treasury stock in connection with tax withholdings on vesting of restricted stock awards (shares)     133      
Stock-based compensation expense   4,884       4,884
Comprehensive income (loss)       355 267 622
Ending Balances at Mar. 31, 2023 $ 6 454,307 $ (137,810) (100,795) (2,283) 213,425
Ending Balances (shares) at Mar. 31, 2023 37,836   11,315      
Beginning Balances at Dec. 31, 2022 $ 6 447,415 $ (133,709) (101,150) (2,550) 210,012
Beginning Balances (shares) at Dec. 31, 2022 37,431   11,182      
Comprehensive income (loss)           1,541
Ending Balances at Sep. 30, 2023 $ 6 467,304 $ (143,587) (98,932) (3,227) 221,564
Ending Balances (shares) at Sep. 30, 2023 38,245   11,449      
Beginning Balances at Mar. 31, 2023 $ 6 454,307 $ (137,810) (100,795) (2,283) 213,425
Beginning Balances (shares) at Mar. 31, 2023 37,836   11,315      
Issuance of common stock in connection with exercise of options   87       87
Issuance of common stock in connection with exercise of options (shares) 6          
Vesting of restricted stock units (shares) 37          
Purchases of treasury stock in connection with tax withholdings on vesting of restricted stock awards     $ (468)     (468)
Purchases of treasury stock in connection with tax withholdings on vesting of restricted stock awards (shares)     11      
Stock-based compensation expense   4,678       4,678
Comprehensive income (loss)       6,835 (387) 6,448
Ending Balances at Jun. 30, 2023 $ 6 459,072 $ (138,278) (93,960) (2,670) 224,170
Ending Balances (shares) at Jun. 30, 2023 37,879   11,326      
Repurchase of common stock     $ (743)     (743)
Repurchase of common stock (shares) (21)   21      
Issuance of common stock in connection with employee stock purchase plan   2,169       2,169
Issuance of common stock in connection with employee stock purchase plan (shares) 125          
Issuance of common stock in connection with exercise of options   37       37
Issuance of common stock in connection with exercise of options (shares) 2          
Vesting of restricted stock units (shares) 260          
Purchases of treasury stock in connection with tax withholdings on vesting of restricted stock awards     $ (4,566)     (4,566)
Purchases of treasury stock in connection with tax withholdings on vesting of restricted stock awards (shares)     102      
Stock-based compensation expense   6,026       6,026
Comprehensive income (loss)       (4,972) (557) (5,529)
Ending Balances at Sep. 30, 2023 $ 6 467,304 $ (143,587) (98,932) (3,227) 221,564
Ending Balances (shares) at Sep. 30, 2023 38,245   11,449      
Beginning Balances at Dec. 31, 2023 $ 6 473,295 $ (143,923) (98,045) (2,387) 228,946
Beginning Balances (shares) at Dec. 31, 2023 38,289   11,460      
Repurchase of common stock     $ (6,899)     (6,899)
Repurchase of common stock (shares) (202)   202      
Issuance of common stock in connection with employee stock purchase plan   1,916       1,916
Issuance of common stock in connection with employee stock purchase plan (shares) 74          
Issuance of common stock in connection with exercise of options   25       25
Issuance of common stock in connection with exercise of options (shares) 1          
Vesting of restricted stock units (shares) 231          
Purchases of treasury stock in connection with tax withholdings on vesting of restricted stock awards     $ (3,794)     (3,794)
Purchases of treasury stock in connection with tax withholdings on vesting of restricted stock awards (shares)     118      
Stock-based compensation expense   6,154       6,154
Comprehensive income (loss)       (393) (542) (935)
Ending Balances at Mar. 31, 2024 $ 6 481,390 $ (154,616) (98,438) (2,929) 225,413
Ending Balances (shares) at Mar. 31, 2024 38,393   11,780      
Beginning Balances at Dec. 31, 2023 $ 6 473,295 $ (143,923) (98,045) (2,387) 228,946
Beginning Balances (shares) at Dec. 31, 2023 38,289   11,460      
Comprehensive income (loss)           3,653
Ending Balances at Sep. 30, 2024 $ 6 496,255 $ (159,018) (94,527) (2,252) 240,464
Ending Balances (shares) at Sep. 30, 2024 38,763   11,905      
Beginning Balances at Mar. 31, 2024 $ 6 481,390 $ (154,616) (98,438) (2,929) 225,413
Beginning Balances (shares) at Mar. 31, 2024 38,393   11,780      
Issuance of common stock in connection with exercise of options   67       67
Issuance of common stock in connection with exercise of options (shares) 4          
Vesting of restricted stock units (shares) 34          
Purchases of treasury stock in connection with tax withholdings on vesting of restricted stock awards     $ (468)     (468)
Purchases of treasury stock in connection with tax withholdings on vesting of restricted stock awards (shares)     13      
Stock-based compensation expense   5,762       5,762
Comprehensive income (loss)       1,705 (326) 1,379
Ending Balances at Jun. 30, 2024 $ 6 487,219 $ (155,084) (96,733) (3,255) 232,153
Ending Balances (shares) at Jun. 30, 2024 38,431   11,793      
Issuance of common stock in connection with employee stock purchase plan   2,157       2,157
Issuance of common stock in connection with employee stock purchase plan (shares) 82          
Issuance of common stock in connection with exercise of options   22       22
Issuance of common stock in connection with exercise of options (shares) 2          
Vesting of restricted stock units (shares) 248          
Purchases of treasury stock in connection with tax withholdings on vesting of restricted stock awards     $ (3,934)     (3,934)
Purchases of treasury stock in connection with tax withholdings on vesting of restricted stock awards (shares)     112      
Stock-based compensation expense   6,857       6,857
Comprehensive income (loss)       2,206 1,003 3,209
Ending Balances at Sep. 30, 2024 $ 6 $ 496,255 $ (159,018) $ (94,527) $ (2,252) $ 240,464
Ending Balances (shares) at Sep. 30, 2024 38,763   11,905      
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Net Cash Provided by (Used in) Operating Activities [Abstract]    
Net income $ 3,518 $ 2,218
Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]    
Depreciation and amortization 2,895 3,778
Stock-based compensation expense 18,540 15,561
Amortization of acquired intangible assets 2,466 2,659
Amortization of costs capitalized to obtain revenue contracts 1,941 1,494
Net accretion of discounts on short-term investments (1,239) (734)
Accretion of unguaranteed residual assets (488) (51)
Deferred taxes (35) 43
Other (68) (55)
Increase (Decrease) in Other Operating Assets and Liabilities, Net [Abstract]    
Accounts receivable (1,743) 1,185
Prepaid expenses and other current assets (8,831) (7,038)
Operating lease right-of-use assets 1,241 904
Other non-current assets (11,478) (928)
Accounts payable 2,995 (2,697)
Accrued compensation and related benefits (1,608) (5,342)
Accrued and other liabilities (16) 393
Deferred revenues 2,771 3,681
Billings in excess of recognized revenues (1,479) (1,612)
Operating lease liabilities (1,285) (888)
Net cash provided by (used in) operating activities 8,097 12,571
Net Cash Provided by (Used in) Investing Activities [Abstract]    
Proceeds from maturities and sales of short-term investments 57,125 28,800
Purchases of short-term investments (43,054) (32,250)
Purchase of convertible promissory note (2,000)  
Proceeds from sale of property and equipment 55 105
Purchases of property and equipment (11,573) (8,574)
Prepayment for the purchase of property and equipment (365) (343)
Purchases of intangible assets   (150)
Payment for business acquisition, net of cash acquired   (1,823)
Net cash provided by (used in) investing activities 188 (14,235)
Net Cash Provided by (Used in) Financing Activities [Abstract]    
Proceeds from exercise of stock options 114 469
Proceeds from employee stock purchase plan 4,073 3,832
Payments for taxes related to net share settlement of equity awards (8,196) (9,135)
Repurchases of common stock (6,899) (743)
Net cash used in financing activities (10,908) (5,577)
Effect of exchange rate changes on cash and cash equivalents 73 (763)
Net change in cash and cash equivalents (2,550) (8,004)
Cash and cash equivalents at beginning of period 98,978 119,624
Cash and cash equivalents at end of period 96,428 111,620
Supplemental Cash Flow Information [Abstract]    
Cash paid during the year for income taxes 2,064 3,568
Cash paid for amounts included in the measurement of operating lease liabilities 1,290 1,160
Noncash Investing and Financing Items [Abstract]    
Property and equipment received and accrued in accounts payable and accrued and other liabilities 4,774 697
Advances for purchase of fixed assets transferred from prepaid assets to property and equipment 89 66
Operating lease liabilities arising from obtaining right-of-use assets 679  
Property and equipment transferred to sales-type lease 4,021 $ 6,002
Stock-based compensation capitalized as a part of the cost of property and equipment $ 233  
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.24.3
BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES
9 Months Ended
Sep. 30, 2024
BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES:  
BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

1. BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

Basis of Presentation

The interim unaudited condensed consolidated financial statements included herein have been prepared by PDF Solutions, Inc. (the “Company”) pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”), including the instructions to the Quarterly Report on Form 10-Q and Article 10 of Regulation S-X. Certain information and footnote disclosures normally included in annual consolidated financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been condensed or omitted. The interim unaudited condensed consolidated financial statements reflect, in the opinion of management, all adjustments necessary (consisting only of normal recurring adjustments) to present a fair statement of results for the interim periods presented. The operating results for any interim period are not necessarily indicative of the results that may be expected for other interim periods or the full fiscal year. The accompanying interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023, filed with the SEC on February 27, 2024.

The interim unaudited condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries after the elimination of all intercompany balances and transactions.

The accompanying interim unaudited condensed consolidated balance sheet as of December 31, 2023, has been derived from the audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America.

Use of Estimates

The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates in these condensed consolidated financial statements include revenue recognition, the estimated useful lives of property and equipment and intangible assets, fair value of convertible note receivable, assumptions made in analysis of allowance for credit losses, impairment of goodwill and long-lived assets, realization of deferred tax assets (“DTAs”), and accounting for lease obligations, stock-based compensation expense, and income tax uncertainties and contingencies. Actual results could differ from those estimates and may result in material effects on the Company’s operating results and financial position.

Recent Accounting Standards

In November 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which requires disclosure of incremental segment information on an annual and interim basis. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, and requires retrospective application to all prior periods presented in the financial statements. Early adoption is permitted. The Company is currently evaluating the impact of the new standard on the consolidated financial statements and related disclosures.

In December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures. This ASU is intended to improve the transparency of income tax disclosures by requiring (1) consistent categories and greater disaggregation of information in the rate reconciliation and (2) income taxes paid disaggregated by jurisdiction. It also includes certain other amendments to improve the effectiveness of income tax disclosures. The ASU’s amendments are effective for public business entities for annual periods beginning after December 15, 2024. Entities are permitted to early adopt the standard for “annual financial statements that have not yet been issued or made available for issuance.” Adoption is either prospectively or retrospectively, the Company will adopt this ASU on a prospective basis. The Company is currently evaluating the impact of the new standard on the consolidated financial statements and related disclosures.

Management has reviewed other recently issued accounting pronouncements issued or proposed by the FASB and does not believe any of these accounting pronouncements has had or will have a material impact on the condensed unaudited consolidated financial statements.

XML 19 R8.htm IDEA: XBRL DOCUMENT v3.24.3
REVENUE FROM CONTRACTS WITH CUSTOMERS
9 Months Ended
Sep. 30, 2024
REVENUE FROM CONTRACTS WITH CUSTOMERS:  
REVENUE FROM CONTRACTS WITH CUSTOMERS

2. REVENUE FROM CONTRACTS WITH CUSTOMERS

The Company derives revenue from two sources: Analytics and Integrated Yield Ramp.

The Company recognizes revenue in accordance with FASB Accounting Standards Codification (“ASC”) Topic 606, Revenue from Contracts with Customers, and its related amendments (collectively known as “ASC 606”). ASC 606 outlines a single comprehensive model to use in accounting for revenue arising from contracts with customers. Revenue is recognized when control of products or services is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those promised products or services.

The Company determines revenue recognition through the following five steps:

Identification of the contract, or contracts, with a customer
Identification of the performance obligations in the contract
Determination of the transaction price
Allocation of the transaction price to the performance obligations in the contract
Recognition of revenue when, or as, performance obligations are satisfied

The Company accounts for a contract when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance, and collectibility of consideration is probable.

Contracts with Multiple Performance Obligations

The Company enters into contracts that can include various combinations of licenses, products and services, some of which are distinct and are accounted for as separate performance obligations. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price (“SSP”).

Analytics Revenue

Analytics revenue is derived from the following primary offerings: licenses and services for standalone software (which is primarily Exensio® and Cimetrix® products), software-as-a-service (“SaaS”) (which is primarily Exensio® products), and Design-for-Inspection™ (“DFI™”) systems and Characterization Vehicle® (“CV®”) systems that do not include performance incentives based on customers’ yield achievement.

Revenue from standalone software is recognized depending on whether the license is perpetual or time-based. Perpetual (one-time charge) license software is recognized at the time of the inception of the arrangement when control transfers to the customers if the software license is considered as a separate performance obligation from the services offered by the Company. Revenue from post-contract support is recognized over the contract term on a straight-line basis, because the Company is providing (i) support and (ii) unspecified software updates on a when-and-if available basis over the contract term. Revenue from time-based-licensed software is allocated to each performance obligation and is recognized either at a point in time or over time as follows. The license component is recognized at the time when control transfers to customers, with the post-contract support component recognized ratably over the committed term of the contract. For contracts with any combination of licenses, support, and other services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation.

Revenue from SaaS arrangements, which allow for the use of a cloud-based software product or service over a contractually determined period of time without the customer having to take possession of the software, is accounted for as a subscription and is recognized as revenue ratably, on a straight-line basis, over the subscription period beginning on the date the service is first made available to customers. For contracts with any combination of SaaS and related services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation.

Revenue from DFI systems and CV systems (including Characterization services) that do not include performance incentives based on customers’ yield achievement is recognized primarily as services are performed. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs. For those contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation. Where there are not discrete performance obligations, historically, revenue is primarily recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. The estimation of percentage of completion method is complex and subject to many variables that require significant judgment. Please refer to the “Significant Judgments” section of this Note for further discussion.

The Company also leases some of its DFI system and CV system assets to some customers. The Company determines the existence of a lease when the customer controls the use of these identified assets for a period of time defined in the lease agreement and classifies such leases as operating leases or sales-type leases. A lease is classified as a sales-type lease if it meets certain criteria under ASC Topic 842, Leases; otherwise, it is classified as an operating lease. Operating lease revenue is recognized on a straight-line basis over the lease term. Sales-type lease revenue and corresponding lease receivables are recognized at lease commencement based on the present value of the future lease payments, and related interest income on lease receivable is recognized over the lease term and are recorded under Analytics revenue in the accompanying unaudited condensed consolidated statements of comprehensive income (loss). Payments under sales-type leases are discounted using the interest rate implicit in the lease. When the Company’s leases are embedded in contracts with customers that include non-lease performance obligations, the Company allocates consideration in the contract between lease and non-lease components based on their relative SSPs. Assets subject to operating leases remain in property and equipment and continue to be depreciated. Assets subject to sales-type leases are derecognized from property and equipment, net at lease commencement and a net investment in the lease asset is recognized in prepaid expenses and other current assets and other non-current assets in the accompanying unaudited condensed consolidated balance sheets.

Integrated Yield Ramp Revenue

Integrated Yield Ramp revenue is derived from the Company’s fixed-fee engagements that include performance incentives based on customers’ yield achievement (which consists primarily of Gainshare royalties) typically based on customer’s wafer shipments, pertaining to these fixed-price contracts, which royalties are variable.

Revenue under these project-based contracts, which are delivered over a specific period of time, typically for a fixed-fee component paid on a set schedule, is recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs and allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP. Similar to the services provided in connection with DFI systems and CV systems that are contributing to Analytics revenue, due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex and subject to many variables that require significant judgment. Please refer to the “Significant Judgments” section of this Note for further discussion.

The Gainshare contained in Integrated Yield Ramp contracts is a variable fee related to continued usage of the Company’s intellectual property after the fixed-fee service period ends, based on a customer’s yield achievement. Revenue derived from Gainshare is contingent upon the Company’s customers reaching certain defined production yield levels. Gainshare periods are generally subsequent to the delivery of all contractual services and performance obligations. The Company records Gainshare as a usage-based royalty derived from customers’ usage of intellectual property and records it in the same period in which the usage occurs.

Disaggregation of Revenue

The Company disaggregates revenue from contracts with customers into the timing of the transfer of goods and services and the geographical regions. The Company determined that disaggregating revenue into these categories achieves the disclosure objective to depict how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.

The Company’s performance obligations are satisfied either over time or at a point-in-time. The following table represents a disaggregation of revenue percentage by timing of revenue:

Three Months Ended September 30, 

 

Nine Months Ended September 30, 

    

2024

    

2023

2024

    

2023

Over time

64

%  

68

%

67

%  

74

%

Point-in-time

 

36

%  

32

%

33

%  

26

%

Total

 

100

%  

100

%

100

%  

100

%

International revenues accounted for approximately 55% and 42% of the Company’s total revenues during the three months ended September 30, 2024 and 2023, respectively, and approximately 55% and 44% of the Company’s total revenues during the nine months ended September 30, 2024 and 2023, respectively. See Note 9, Customer and Geographic Information.

Significant Judgments

Judgments and estimates are required under ASC 606. Due to the complexity of certain contracts, the actual revenue recognition treatment required under ASC 606 for the Company’s arrangements may be dependent on contract-specific terms and may vary in some instances.

For revenue under project-based contracts for fixed-price services, revenue is recognized as services are performed using a percentage-of-completion method based on costs or labor-hours input method, whichever is the most appropriate measure of the progress towards completion of the contract. Due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex, subject to many variables and requires significant judgment. Key factors reviewed by the Company to estimate costs to complete each contract are future labor and product costs and expected productivity efficiencies. If circumstances arise that change the original estimates of revenues, costs, or extent of progress toward completion, revisions to the estimates are made. These revisions may result in increases or decreases in estimated revenues or costs, and such revisions are reflected in revenue on a cumulative catch-up basis in the period in which the circumstances that gave rise to the revision become known.

The Company’s contracts with customers often include promises to transfer products, software licenses and provide services, including professional services, technical support services, and rights to unspecified updates to a customer. Determining whether licenses and services are distinct performance obligations that should be accounted for separately, or not distinct and thus accounted for together, requires significant judgment. The Company rarely licenses software on a standalone basis, so the Company is required to estimate the range of the SSPs for each performance obligation. In instances where the SSP is not directly observable because the Company does not license the software or sell the service separately, the Company determines the SSP using information that may include market conditions and other observable inputs.

The Company is required to record Gainshare revenue in the same period in which the usage occurs. Because the Company generally does not receive the acknowledgment reports from its customers during a given quarter within the time frame necessary to adequately review the reports and include the actual amounts in quarterly results for such quarter, the Company accrues the related revenue based on estimates of customers underlying sales achievement. The Company’s estimation process can be based on historical data, trends, seasonality, changes in the contract rate, knowledge of the changes in the industry and changes in the customer’s manufacturing environment learned through discussions with customers and sales personnel. As a result of accruing revenue for the quarter based on such estimates, adjustments will be required in the following quarter to true-up revenue to the actual amounts reported.

Contract Balances

The Company performs its obligations under a contract with a customer primarily by licensing software or providing services in exchange for consideration from the customer. The timing of the Company’s performance often differs from the timing of the customer’s payment, which results in the recognition of a receivable, a contract asset or a contract liability.

The Company classifies the right to consideration in exchange for software or services transferred to a customer as either a receivable or a contract asset. A receivable is a right to consideration that is unconditional, as compared to a contract asset, which is a right to consideration that is conditional upon factors other than the passage of time. The majority of the Company’s contract assets represent unbilled amounts related to fixed-price service contracts when the revenue recognized exceeds the amount billed to the customer.

The contract assets are recorded on a net basis with deferred revenue (i.e., contract liabilities) at the contract level. The contract assets consist of the following (in thousands):

September 30, 

December 31, 

    

2024

2023

Current portion included in prepaid expenses and other current assets

$

9,193

$

6,787

Non-current portion included in other non-current assets

 

611

 

933

Total contract assets

$

9,804

$

7,720

The Company did not record any asset impairment charges related to contract assets for the periods presented.

Deferred revenues and billings in excess of recognized revenues consist substantially of amounts invoiced in advance of revenue recognition and are recognized as the revenue recognition criteria are met. Deferred revenues that will be recognized during the succeeding twelve-month period are recorded as current deferred revenues and the remaining portion is recorded in other non-current liabilities in the accompanying condensed consolidated balance sheets.

Deferred revenues were the following (in thousands):

September 30, 

December 31, 

    

2024

2023

Current portion

$

28,728

$

25,750

Non-current portion (1)

1,599

1,802

Total deferred revenues

$

30,327

$

27,552

(1)Included in other non-current liabilities.

Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each reporting period was the following (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each period

$

12,040

$

13,129

$

24,669

$

23,836

As of September 30, 2024, the aggregate amount of the transaction price allocated to the remaining performance obligations related to customer contracts that were unsatisfied or partially unsatisfied was approximately $239.2 million. Given the applicable contract terms with customers, more than half of this amount is expected to be recognized as revenue over the next two years with the remainder to be recognized thereafter. This amount does not include insignificant contracts to which the customer is not committed, nor significant contracts for which the Company recognizes revenue equal to the amount the Company has the right to invoice for services performed, or future sales-based or usage-based royalty payments in exchange for a license of intellectual property. This amount is subject to change due to future revaluations of variable consideration, terminations, other contract modifications, or currency adjustments. The estimated timing of the recognition of remaining unsatisfied performance obligations is subject to change and is affected by changes to the scope, change in timing of delivery of products and services, or contract modifications.

The adjustment to revenue recognized from performance obligations satisfied (or partially satisfied) in previous periods was a decrease of $0.7 million and a decrease of $0.6 million during the three months ended September 30, 2024 and 2023, respectively, and a decrease of $1.4 million and an increase of $4.3 million during the nine months ended September 30, 2024 and 2023, respectively. These amounts primarily represent changes in estimated percentage-of-completion based contracts and changes in actual versus estimated Gainshare.

Costs to Obtain or Fulfill a Contract

The Company capitalizes the incremental costs to obtain or fulfill a contract with a customer, including direct sales commissions and related fees, when it expects to recover those costs. Amortization expense related to these capitalized costs is recognized over the period associated with the revenue from which the cost was incurred.

Total capitalized direct sales commission costs were the following (in thousands):

September 30, 

December 31, 

    

2024

2023

Current portion included in prepaid expenses and other current assets

$

2,566

$

1,954

Non-current portion included in other non-current assets

 

3,059

 

2,587

Total capitalized direct sales commission costs

$

5,625

$

4,541

Amortization of capitalized direct sales commission costs was the following (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Amortization of capitalized direct sales commission costs

$

667

$

532

$

1,941

$

1,494

There was no impairment loss in relation to the costs capitalized for the periods presented.

Practical Expedient

The Company does not adjust the transaction price for the effects of a significant financing component when the period between the transfers of the promised good or service to the customer and payment for that good or service by the customer is expected to be one year or less. The Company assessed each of its revenue generating arrangements in order to determine whether a significant financing component exists, and determined its contracts did not include a material significant financing component during the three and nine months ended September 30, 2024 and 2023.

XML 20 R9.htm IDEA: XBRL DOCUMENT v3.24.3
BALANCE SHEET COMPONENTS
9 Months Ended
Sep. 30, 2024
BALANCE SHEET COMPONENTS  
BALANCE SHEET COMPONENTS

3. BALANCE SHEET COMPONENTS

Accounts Receivable

Accounts receivable include amounts that are unbilled at the end of the period that are expected to be billed and collected within a 12-month period. Unbilled accounts receivable, included in accounts receivable, totaled $20.7 million and $16.4 million as of September 30, 2024, and December 31, 2023, respectively. Unbilled accounts receivable that are not expected to be billed and collected during the succeeding 12-month period are recorded in other non-current assets and totaled $10.2 million and $1.1 million as of September 30, 2024, and December 31, 2023, respectively.

The Company performs ongoing credit evaluations of its customers’ financial condition. An allowance for credit losses is maintained for probable credit losses based upon the Company’s assessment of the expected

collectibility of the accounts receivable. The allowance for credit losses is reviewed on a quarterly basis to assess the adequacy of the allowance.

Property and Equipment

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

September 30, 

December 31, 

    

2024

    

2023

Computer equipment

$

11,919

$

12,515

Software

 

5,647

 

5,596

Furniture, fixtures, and equipment

 

2,543

 

2,501

Leasehold improvements

 

6,705

 

6,475

Laboratory and other equipment

 

5,621

 

4,891

Test equipment

 

26,286

 

25,044

Property and equipment in progress:

 

 

DFI™ system assets

27,991

22,864

CV® system and other assets

 

7,324

 

6,977

 

94,036

 

86,863

Less: Accumulated depreciation and amortization

 

(48,017)

 

(49,525)

Total

$

46,019

$

37,338

Test equipment mainly includes DFI™ system and CV® system assets at customer sites that are contributing to revenue. Property and equipment in progress represent the development or construction of property and equipment that have not yet been placed in service for the Company’s intended use and are not depreciated. 

Depreciation and amortization expense was $0.8 million and $1.2 million for the three months ended September 30, 2024 and 2023, respectively, and $2.9 million and $3.8 million for the nine months ended September 30, 2024 and 2023, respectively.

Goodwill and Intangible Assets, Net

As of each of September 30, 2024, and December 31, 2023, the carrying amount of goodwill was $15.0 million.

Intangible assets, net, consisted of the following (in thousands):

September 30, 2024

December 31, 2023

Amortization

Gross

Net

Gross

Net

Period

Carrying

Accumulated

Carrying

Carrying

Accumulated

Carrying

(Years)

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Acquired identifiable intangibles:

Customer relationships

 

1-10

$

9,506

$

(7,772)

$

1,734

$

9,508

$

(7,335)

$

2,173

Developed technology

 

4-9

 

34,631

 

(23,983)

 

10,648

 

34,650

 

(22,094)

 

12,556

Tradename and trademarks

 

2-10

 

1,598

 

(1,100)

 

498

 

1,598

 

(1,025)

 

573

Patent

 

6-10

 

2,100

 

(1,847)

 

253

 

2,100

 

(1,782)

 

318

Noncompetition agreements

 

3

 

848

 

(848)

 

 

848

 

(848)

 

Total

$

48,683

$

(35,550)

$

13,133

$

48,704

$

(33,084)

$

15,620

The weighted average amortization period for acquired identifiable intangible assets was 4.6 years as of September 30, 2024. The following table summarizes intangible assets amortization expense in the accompanying condensed consolidated statements of comprehensive income (loss) (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Amortization of acquired technology included under costs of revenues

$

584

$

574

$

1,752

$

1,680

Amortization of acquired intangible assets presented separately under costs and expenses

 

196

 

328

 

714

 

979

Total amortization of acquired intangible assets

$

780

$

902

$

2,466

$

2,659

The Company expects annual amortization of acquired identifiable intangible assets to be as follows (in thousands):

Year Ending December 31, 

    

Amount

2024 (remaining three months)

$

767

2025

 

3,069

2026

 

2,900

2027

 

2,747

2028

2,442

2029 and thereafter

 

1,208

Total future amortization expense

$

13,133

There were no impairment charges for goodwill and intangible assets during the three and nine months ended September 30, 2024 and 2023.

Other Non-current Assets

Other non-current assets consisted of the following (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Costs capitalized to obtain revenue contracts – non-current (1)

$

3,059

$

2,587

Unbilled accounts receivable – non-current (2)

10,216

1,069

Contract assets – non-current (1)

611

933

Net investments in sales-type leases – non-current (3)

18,778

12,196

Other

 

4,596

 

2,433

Total other non-current assets

$

37,260

$

19,218

(1)See Note 2, Revenue from Contracts with Customers.
(2)See Note 3, Balance Sheet Components – Accounts Receivable.
(3)The Company had net investments in sales-type leases for its DFI™ system and CV® system assets. The following table summarizes the components of the Company’s net investments in sales-type leases in the accompanying condensed consolidated balance sheets (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Lease receivables

$

16,455

$

9,460

Unguaranteed residual assets

7,525

4,717

Net investments in sales-type leases

23,980

14,177

Less: Current portion of lease receivables under prepaid expenses and other current assets

(5,202)

(1,981)

Net investments in sales-type leases – non-current

 

$

18,778

$

12,196

Maturities of leases payments under sales-type leases as of September 30, 2024, were as follows (in thousands):

Year Ending December 31, 

    

Amount

2024 (remaining three months)

$

1,541

2025

 

8,048

2026

 

7,672

2027

 

2,718

2028

 

68

Total future sales-type lease payments

20,047

Less: Present value adjustment (a)

 

(3,592)

Present value of lease receivables

$

16,455

(a)Calculated using the rate implicit in the lease determined for each lease.

There was no allowance for credit losses on lease receivables as of September 30, 2024, and December 31, 2023. The Company’s ongoing risk management strategy for residual assets includes performing regular reviews of estimated residual values.

XML 21 R10.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES
9 Months Ended
Sep. 30, 2024
LEASES:  
LEASES

4. LEASES

The Company leases administrative and sales offices and certain equipment under non-cancellable operating leases, which contain various renewal or termination options and, in some cases, require payment of common area costs, taxes and utilities. These operating leases expire at various dates through 2028. The Company had no leases that were classified as a financing lease as of September 30, 2024, and December 31, 2023.

Lease expense was comprised of the following (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Operating lease expense

$

401

$

382

$

1,161

$

1,153

Short-term lease and variable lease expense (1)

 

268

 

239

 

754

 

673

Total lease expense

$

669

$

621

$

1,915

$

1,826

(1)Leases with an initial term of 12 months or less are not recorded on the accompanying condensed consolidated balance sheets, and the Company recognizes lease expense for these leases on a straight-line basis over the lease term. Variable lease expense for the periods presented primarily included common area maintenance charges.

Supplemental condensed consolidated balance sheets information related to operating leases was as follows:

September 30, 

December 31, 

 

    

2024

    

2023

 

Weighted average remaining lease term under operating leases (in years)

3.5

4.4

Weighted average discount rate for operating lease liabilities

 

5.98

%  

4.96

%

Maturities of operating lease liabilities as of September 30, 2024, were as follows (in thousands):

Year Ending December 31, 

    

Amount

2024 (remaining three months)

$

492

2025

 

1,850

2026

 

1,551

2027

 

1,490

2028

 

847

Total future minimum lease payments

 

6,230

Less: Interest (1)

 

 

(654)

Present value of future minimum lease payments under operating lease liabilities (2)

$

5,576

(1)Calculated using incremental borrowing interest rate for each lease.
(2)Includes the current portion of operating lease liabilities of $1.7 million as of September 30, 2024.
XML 22 R11.htm IDEA: XBRL DOCUMENT v3.24.3
STOCKHOLDERS' EQUITY
9 Months Ended
Sep. 30, 2024
STOCKHOLDERS EQUITY:  
STOCKHOLDERS' EQUITY

5. STOCKHOLDERS’ EQUITY

Stock Repurchase Program

On April 11, 2022, the Board of Directors adopted a stock repurchase program (the “2022 Program”) to repurchase up to $35.0 million of the Company’s common stock both on the open market and in privately negotiated transactions, including through Rule 10b5-1 plans, from time to time, over the next two years. During the nine months ended September 30, 2024, 201,561 shares were repurchased by the Company under the 2022 Program at an average price of $34.23 per share for an aggregate total price of $6.9 million. In total, the Company repurchased 937,501 shares under the 2022 Program at an average price of $25.96 per share for an aggregate total price of $24.3 million.

The 2022 Program expired on April 11, 2024, and on April 15, 2024, the Board of Directors adopted a new program (the “2024 Program”) to repurchase up to $40.0 million of the Company’s common stock both on the open market and in privately negotiated transactions, including through Rule 10b5-1 plans, from time to time, over the next two years. The Company has not repurchased any shares under the 2024 Program.

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.24.3
EMPLOYEE BENEFIT PLANS
9 Months Ended
Sep. 30, 2024
EMPLOYEE BENEFIT PLANS:  
EMPLOYEE BENEFIT PLANS

6. EMPLOYEE BENEFIT PLANS

On September 30, 2024, the Company had the following stock-based compensation plans:

Employee Stock Purchase Plan

On June 15, 2021, the Company’s stockholders initially approved the 2021 Employee Stock Purchase Plan, which has been amended and restated by the Board of Directors and approved by the Company’s stockholders since then (as amended through the date of this report, the “2021 Purchase Plan”).

Under the 2021 Purchase Plan, eligible employees can contribute up to 10% of their compensation, as defined in the 2021 Purchase Plan, towards the purchase of shares of PDF common stock at a price of 85% of the lower of the fair market value at the beginning of the offering period or the end of the purchase period. The 2021 Purchase Plan commenced on August 1, 2021, and provided for twenty-four-month offering periods with four six-month purchase periods in each offering period.

The Company estimated the fair value of purchase rights granted under the 2021 Purchase Plan during the period using the Black-Scholes-Merton option-pricing model with the following weighted average assumptions, resulting in the following weighted average fair values:

Nine Months Ended September 30, 

2024

    

2023

Expected life (in years)

1.25

 

1.25

Volatility

40.97

%  

43.66

%  

Risk-free interest rate

4.61

%  

5.15

%  

Expected dividend

 

Weighted average fair value of purchase rights granted during the period

$

10.91

$

15.71

During the three months ended September 30, 2024, a total of 81,974 shares were issued under the 2021 Purchase Plan, at a weighted average purchase price of $26.31 per share. During the three months ended September 30, 2023, a total of 125,392 shares were issued under the 2021 Purchase Plan, at a weighted average purchase price of $17.30 per share. During the nine months ended September 30, 2024, a total of 155,828 shares were issued

under the 2021 Purchase Plan, at a weighted average purchase price of $26.14 per share. During the nine months ended September 30, 2023, a total of 223,608 shares were issued under the 2021 Purchase Plan, at a weighted average purchase price of $17.14 per share. As of September 30, 2024, unrecognized compensation cost related to the 2021 Purchase Plan was $2.5 million. This estimated unrecognized cost is expected to be recognized over a weighted average period of 1.4 years.

As of September 30, 2024, 638,481 shares were available for future issuance under the 2021 Purchase Plan.

Stock Incentive Plans

On November 16, 2011, the Company’s stockholders initially approved the 2011 Stock Incentive Plan, which has been amended and restated by the Board of Directors and approved by the Company’s stockholders a number of times since then (as amended through the date of this report, the “2011 Plan”). Under the 2011 Plan, the Company may award stock options, stock appreciation rights (“SARs”), stock grants or stock units covering shares of the Company’s common stock to employees, directors, non-employee directors and contractors. The aggregate number of shares reserved for awards under the 2011 Plan is 14.6 million shares, plus up to 3.5 million shares previously issued under the 2001 Stock Plan adopted by the Company in 2001, which expired in 2011 (the “2001 Plan”) that are either (i) forfeited or (ii) repurchased by the Company or are shares subject to awards previously issued under the 2001 Plan that expire or that terminate without having been exercised or settled in full on or after November 16, 2011. In case of awards other than options or SARs, the aggregate number of shares reserved under the 2011 Plan will be decreased at a rate of 1.33 shares issued pursuant to such awards. The exercise price for stock options must generally be at prices no less than the fair market value at the date of grant. Stock options generally expire ten years from the date of grant and become vested and exercisable over a four-year period.

As of September 30, 2024, 15.1 million shares of common stock were reserved to cover stock-based awards under the 2011 Plan, of which 3.6 million shares were available for future grant. The number of shares reserved and available under the 2011 Plan includes 0.5 million shares that were subject to awards previously made under the 2001 Plan and were forfeited, expired, or repurchased by the Company after the adoption of the 2011 Plan through September 30, 2024. As of September 30, 2024, there were no outstanding awards that had been granted outside of the 2011 Plan.

The Company estimated the fair value of share-based awards granted under the 2011 Stock Plan during the period using the Black-Scholes-Merton option-pricing model. There were no stock options granted during the three and nine months ended September 30, 2024 and 2023.

Stock-Based Compensation

Stock-based compensation is estimated at the grant date based on the award’s fair value and is recognized on a straight-line basis over the vesting periods, generally four years. Stock-based compensation expense before taxes related to the Company’s stock plan and employee stock purchase plan was allocated as follows (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Costs of revenues

$

1,366

$

1,120

$

3,751

$

3,022

Research and development

 

2,375

 

2,196

 

6,640

 

5,609

Selling, general, and administrative

 

2,989

 

2,683

 

8,149

 

6,930

Stock-based compensation expense

$

6,730

$

5,999

$

18,540

$

15,561

Additional information with respect to options under the 2011 Plan during the nine months ended September 30, 2024, is as follows:

Outstanding Options

Weighted

Weighted

Average

Average

Remaining

Aggregate

Number of

Exercise

Contractual

Intrinsic

Options

Price

Term

Value

    

(in thousands)

    

per Share

    

(Years)

    

(in thousands)

Outstanding, January 1, 2024

 

38

$

15.92

 

  

 

  

Granted

 

 

  

 

  

Exercised

 

(7)

16.20

 

  

 

  

Canceled

 

 

  

 

  

Expired

 

 

  

 

  

Outstanding, September 30, 2024

 

31

$

15.85

 

3.53

$

493

Vested and expected to vest, September 30, 2024

 

31

$

15.85

 

3.53

$

493

Exercisable, September 30, 2024

 

31

$

15.85

 

3.53

$

493

The aggregate intrinsic value in the table above represents the total intrinsic value based on the Company’s closing stock price of $31.68 per share as of September 30, 2024.

The total intrinsic value of options exercised during the nine months ended September 30, 2024 and 2023 was as follows (in thousands):

Nine Months Ended September 30, 

    

2024

    

2023

Intrinsic value of options exercised

 

$

124

 

$

608

Total fair value of shares vested during the nine months ended September 30, 2024, was immaterial. As of September 30, 2024, there was no remaining unrecognized compensation cost related to unvested stock options.

Nonvested restricted stock unit (“RSU”) activities during the nine months ended September 30, 2024, were as follows:

Weighted

Average Grant

Shares 

Date Fair Value

    

(in thousands)

    

Per Share

Nonvested, January 1, 2024

 

1,995

$

30.03

Granted

 

734

35.42

Vested

 

(756)

27.37

Forfeited

 

(42)

30.64

Nonvested, September 30, 2024

 

1,931

$

33.11

The weighted average grant date fair values of RSUs granted during the nine months ended September 30, 2024 and 2023 were $35.42 and $43.92, respectively.

The total fair value of RSUs vested during the nine months ended September 30, 2024 and 2023 was as follows (in thousands):

Nine Months Ended September 30, 

    

2024

    

2023

Fair value of restricted stock units vested

 

$

25,483

 

$

31,162

As of September 30, 2024, there was $52.3 million of total unrecognized compensation cost related RSUs. That cost is expected to be recognized over a weighted average period of 2.6 years. RSUs do not have rights to dividends prior to vesting.

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.24.3
INCOME TAXES
9 Months Ended
Sep. 30, 2024
INCOME TAXES:  
INCOME TAXES

7. INCOME TAXES

Income tax expense decreased by $0.9 million for the nine months ended September 30, 2024, to $1.6 million as compared to $2.5 million for the nine months ended September 30, 2023. The Company’s effective tax rate was 31.1% and 53.1% for the nine months ended September 30, 2024 and 2023, respectively. The Company’s effective tax rate decreased in the nine months ended September 30, 2024, as compared to the same period in 2023, primarily due to changes in the foreign and state taxes and year-to-date recognition of worldwide pre-tax income in relation to their forecasted amounts for full years. The Company’s provision for income taxes for the nine months ended September 30, 2024, was primarily attributable to foreign and state taxes.

The Company’s total amount of unrecognized tax benefits, excluding interest, as of September 30, 2024, was $16.6 million, of which $2.0 million, if recognized, would affect the Company’s effective tax rate. The Company’s total amount of unrecognized tax benefits, excluding interest, as of December 31, 2023, was $15.9 million, of which $2.0 million, if recognized, would affect the Company’s effective tax rate. As of September 30, 2024, the Company has recorded unrecognized tax benefits of $2.6 million, including interest of $0.6 million, as long-term taxes payable in the accompanying condensed consolidated balance sheet. The remaining $14.6 million has been recorded within the Company’s DTAs, which is subject to a full valuation allowance.

The valuation allowance was approximately $64.2 million as of September 30, 2024, and December 31, 2023, which was related to U.S. net federal and state DTAs. The worldwide net DTAs balance as of September 30, 2024, and December 31, 2023, were not significant.

The Company conducts business globally and, as a result, files numerous consolidated and separate income tax returns in the U.S. federal and various state and foreign jurisdictions. For U.S. federal and California income tax purposes, the statute of limitations currently remains open for the tax years ended 2020 to present and 2019 to present, respectively. In addition, due to net operating loss carryback claims, the tax years 2013 through 2015 may be subject to federal examination and all of the net operating loss and research and development credit carryforwards that may be utilized in future years may be subject to federal and state examination. The Company is not currently under income tax examinations in the U.S. or any other of its major foreign subsidiaries’ jurisdictions.

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.24.3
NET INCOME (LOSS) PER SHARE
9 Months Ended
Sep. 30, 2024
NET INCOME (LOSS) PER SHARE:  
NET INCOME (LOSS) PER SHARE

8. NET INCOME (LOSS) PER SHARE

Basic net income (loss) per share is computed by dividing net income (loss) by the weighted average number of common shares outstanding for the period (excluding outstanding stock options, nonvested restricted stock units and shares subject to repurchase). Diluted net income (loss) per share is computed using the weighted average number of common shares outstanding for the period plus the potential effect of dilutive securities which are convertible into common shares (using the treasury stock method), except in cases in which the effect would be

anti-dilutive. The following is a reconciliation of the numerators and denominators used in computing basic and diluted net income (loss) per share (in thousands except per share amount):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Numerator:

 

  

 

  

 

  

 

  

Net income (loss)

$

2,206

$

(4,972)

$

3,518

$

2,218

Denominator:

 

  

 

  

 

  

 

  

Basic weighted average shares outstanding

 

38,710

 

38,187

 

38,542

 

37,930

Effect of dilutive stock options, unvested restricted stock units, and shares of common stock expected to be issued under employee stock purchase plan

 

395

 

 

486

 

1,047

Diluted weighted average shares outstanding

 

39,105

 

38,187

 

39,028

 

38,977

Net income (loss) per share:

Basic

$

0.06

$

(0.13)

$

0.09

$

0.06

Diluted

$

0.06

$

(0.13)

$

0.09

$

0.06

For the three months ended September 30, 2023, because the Company was in a loss position, diluted net loss per share is the same as basic net loss per share as the inclusion of the potential common shares would have been anti-dilutive.

The following table sets forth the potential shares of common stock that were not included in the diluted net income (loss) per share calculation above because to do so would be anti-dilutive for the periods indicated (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Outstanding options

 

23

 

 

Non-vested restricted stock units

 

1,078

1,391

 

740

223

Employee Stock Purchase Plan

 

38

 

Total

 

1,078

 

1,452

 

740

223

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.24.3
CUSTOMER AND GEOGRAPHIC INFORMATION
9 Months Ended
Sep. 30, 2024
CUSTOMER AND GEOGRAPHIC INFORMATION:  
CUSTOMER AND GEOGRAPHIC INFORMATION

9. CUSTOMER AND GEOGRAPHIC INFORMATION

Operating segments are defined as components of an enterprise about which separate financial information is available that is evaluated regularly by the chief operating decision maker, or group, in deciding how to allocate resources and in assessing performance.

The Company’s chief operating decision maker, the chief executive officer, reviews discrete financial information presented on a consolidated basis for purposes of regularly making operating decisions, allocation of resources, and assessing financial performance. Accordingly, the Company considers itself to be in one operating and reporting segment, specifically the provision of services for differentiated data and analytics solutions to the semiconductor and electronics industries.

Revenues from an individual customer that are approximately 10% or more of the Company’s consolidated total revenues are as follows:

Three Months Ended September 30, 

Nine Months Ended September 30, 

Customer

    

2024

    

2023

 

2024

    

2023

 

A

19

%  

38

%

21

%  

36

%

B

*

%  

*

%

12

%  

*

%

D

13

%  

*

%

*

%  

*

%

* represents less than 10%

Gross accounts receivable balances (including amounts that are unbilled) from individual customers that are approximately 10% or more of the Company’s gross accounts receivable balance are as follows:

September 30, 

December 31, 

Customer

    

2024

2023

 

A

 

29

%  

39

%

D

16

%  

11

%

Revenues from customers by geographic area based on the location of the customers’ work sites are as follows (amounts in thousands):

Three Months Ended September 30, 

2024

 

2023

 

Percentage

 

Percentage

 

    

Revenues

    

of Revenues

 

    

Revenues

    

of Revenues

 

United States

$

21,065

 

45

%

$

24,477

58

%

Japan

6,275

14

%

3,135

7

%

Taiwan

6,273

14

%

1,296

3

%

China

 

5,673

 

12

%

 

7,549

18

%

Rest of the world

 

7,123

 

15

%

 

5,893

14

%

Total revenue

$

46,409

 

100

%

$

42,350

 

100

%

Nine Months Ended September 30, 

2024

 

2023

 

Percentage

 

Percentage

 

    

Revenues

    

of Revenues

 

    

Revenues

    

of Revenues

 

United States

$

58,021

 

45

%

$

70,090

56

%

Japan

25,495

20

%

8,005

6

%

China

 

17,526

14

%

 

21,927

18

%

Taiwan

8,107

 

6

%

4,660

4

%

Rest of the world

 

20,231

 

15

%

 

20,028

16

%

Total revenue

$

129,380

 

100

%

$

124,710

 

100

%

Long-lived assets, net by geographic area are as follows (in thousands):

September 30, 

December 31, 

    

2024

2023

United States (1)

$

56,216

$

45,619

Rest of the world

 

1,688

 

1,362

Total long-lived assets, net

$

57,904

$

46,981

(1) Includes assets deployed at customer sites which could be outside the U.S.

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.24.3
FAIR VALUE MEASUREMENTS
9 Months Ended
Sep. 30, 2024
FAIR VALUE MEASUREMENTS:  
FAIR VALUE MEASUREMENTS

10. FAIR VALUE MEASUREMENTS

Fair value is the exit price, or the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants as of the measurement date. The multiple assumptions used to value financial instruments are referred to as inputs, and a hierarchy for inputs used in measuring fair value is established, that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. Observable inputs reflect assumptions market participants would use in pricing an asset or liability based on market data obtained from independent sources while unobservable inputs reflect a reporting entity’s pricing based upon its own market assumptions. These inputs are ranked according to a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels.

Level 1 -

Inputs are quoted prices in active markets for identical assets or liabilities.

 

 

Level 2 -

Inputs are quoted prices for similar assets or liabilities in an active market, quoted prices for identical or similar assets or liabilities in markets that are not active, inputs other than quoted prices that are observable and market-corroborated inputs which are derived principally from or corroborated by observable market data.

 

 

Level 3 -

Inputs are derived from valuation techniques in which one or more significant inputs or value drivers are unobservable.

The following table represents the Company’s assets measured at fair value on a recurring basis as of September 30, 2024, and December 31, 2023, and the basis for those measurements (in thousands):

Fair Value Measurements Using

Quoted

Prices in

Active

Significant

Markets for

Other

Identical

Observable

Significant

September 30, 

Assets

Inputs

Unobservable

Assets

    

2024

    

(Level 1)

    

(Level 2)

    

Inputs (Level 3)

Cash equivalents

 

  

 

  

 

  

 

  

Money market mutual funds

$

80,830

$

80,830

$

$

Short-term investments (available-for-sale debt securities)

 

  

 

  

 

  

 

  

U.S. Government securities (1)

 

23,724

 

23,724

 

 

Non-current assets

Convertible note receivable (available-for-sale debt security) (2)

2,013

2,013

Total

$

106,567

$

104,554

$

$

2,013

Fair Value Measurements Using

Quoted

Prices in

Active

Significant

Markets for

Other

Significant

Identical

Observable

Unobservable

December 31, 

Assets

Inputs

Inputs 

Assets

    

2023

    

(Level 1)

    

(Level 2)

    

(Level 3)

Cash equivalents

 

  

 

  

 

  

 

  

Money market mutual funds

$

83,810

$

83,810

$

$

Short-term investments (available-for-sale debt securities)

  

 

  

 

  

 

  

U.S. Government securities (1)

36,544

 

36,544

 

 

Total

$

120,354

$

120,354

$

$

(1)As of September 30, 2024, and December 31, 2023, the amortized cost of the Company’s investments in U.S. Government securities approximated their fair value due to their short-term maturities, and there have been no events or changes in circumstances that would have had a significant effect on the fair value of these securities in the periods presented. For the three and nine months ended September 30, 2024, there were no material realized or unrealized gains or losses, either individually or in the aggregate.
(2)In August 2024, the Company purchased a $2.0 million non-marketable convertible promissory note from an unrelated third party (the “convertible note”). The convertible note bears a 5% interest rate annually and will mature in August 2026 and is included in other non-current assets in the accompanying condensed consolidated balance sheet as of September 30, 2024. As of September 30, 2024, the cost of the convertible note approximated its fair value as there have been no events or changes in circumstances that would have had a significant effect on its fair value from its issuance date to reporting period end.
XML 28 R17.htm IDEA: XBRL DOCUMENT v3.24.3
COMMITMENTS AND CONTINGENCIES
9 Months Ended
Sep. 30, 2024
COMMITMENTS AND CONTINGENCIES:  
COMMITMENTS AND CONTINGENCIES

11. COMMITMENTS AND CONTINGENCIES

Strategic Partnership with Advantest — See Note 12, Strategic Partnership Agreement with Advantest and Related Party Transactions, for the discussion about the Company’s commitments under the strategic partnership with Advantest.

Operating Leases — Refer to Note 4, Leases, for the discussion about the Company’s lease commitments.

Indemnifications — The Company generally provides a warranty to its customers that its software will perform substantially in accordance with documented specifications typically for a period of 90 days following initial delivery of its products. The Company also indemnifies certain customers from third-party claims of intellectual property infringement relating to the use of its products. Historically, costs related to these guarantees have not been significant. The Company is unable to estimate the maximum potential impact of these guarantees on its future results of operations.

Purchase Obligations — The Company has purchase obligations with certain suppliers for the purchase of goods and services entered into in the ordinary course of business. As of September 30, 2024, total outstanding purchase obligations were $34.1 million, the majority of which is due within the next 9 months.

Indemnification of Officers and Directors — As permitted by the Delaware general corporation law, the Company has included a provision in its certificate of incorporation to eliminate the personal liability of its officers and directors for monetary damages for breach or alleged breach of their fiduciary duties as officers or directors, other than in cases of fraud or other willful misconduct.

In addition, the Bylaws of the Company provide that the Company is required to indemnify its officers and directors even when indemnification would otherwise be discretionary, and the Company is required to advance expenses to its officers and directors as incurred in connection with proceedings against them for which they may be indemnified. The Company has entered into indemnification agreements with its officers and directors containing provisions that are in some respects broader than the specific indemnification provisions contained in the Delaware general corporation law. The indemnification agreements require the Company to indemnify its officers and directors against liabilities that may arise by reason of their status or service as officers and directors other than for liabilities arising from willful misconduct of a culpable nature, to advance their expenses incurred as a result of any proceeding against them as to which they could be indemnified, and to obtain directors’ and officers’ insurance if available on reasonable terms. The Company has obtained directors’ and officers’ liability insurance in amounts comparable to other companies of the Company’s size and in the Company’s industry. Since a maximum obligation of the Company is not explicitly stated in the Company’s Bylaws or in its indemnification agreements and will depend on the facts and circumstances that arise out of any future claims, the overall maximum amount of the obligations cannot be reasonably estimated.

Legal Proceedings — From time to time, the Company is subject to various claims and legal proceedings that arise in the ordinary course of business. The Company accrues for losses related to litigation when a potential loss is probable, and the loss can be reasonably estimated in accordance with FASB requirements. As of September 30, 2024, the Company was not party to any material legal proceedings for which a loss was probable or an amount was accrued. From time to time, the Company may enter into contingent fee arrangements with external legal firms that may represent the Company in legal proceedings related to disputes. Contingent legal fees are accrued by the Company when they are probable and reasonably estimable.  

On May 6, 2020, the Company initiated an arbitration proceeding with the Hong Kong International Arbitration Center against SMIC New Technology Research & Development (Shanghai) Corporation (“SMIC”) due to SMIC’s failure to pay fees due to the Company under a series of contracts. The Company seeks to recover the unpaid fees, a declaration requiring SMIC to pay fees under the contracts in the future (or a lump sum payment

to end the contract), and costs associated with bringing the arbitration proceeding. SMIC denies liability and an arbitration hearing was held in February 2023. Final written submissions were submitted by the parties at the end of August 2023, and the parties submitted answers to the Tribunal’s final questions on August 2, 2024.

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.24.3
STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS
9 Months Ended
Sep. 30, 2024
STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS:  
STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS

12. STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS

In July 2020, the Company entered into a long-term strategic partnership with Advantest Corporation through its wholly-owned subsidiary, Advantest America, Inc. (collectively referred to herein as “Advantest”), which includes: (i) a Securities Purchase Agreement wherein the Company issued and sold to Advantest America, Inc., an aggregate of 3,306,924 shares of its common stock, for aggregate gross proceeds of $65.2 million; (ii) a significant agreement for its assistance in development of cloud-based applications for Advantest tools that leverages our Exensio analytics software; (iii) a commercial agreement providing for the license to third parties of solutions that result from the development work that combine Advantest’s testing applications and our Exensio platform; and (iv) a 5-year cloud-based subscription for Exensio analytics software and related services.

Analytics revenue recognized from Advantest was $3.3 million and $2.6 million during the three months ended September 30, 2024 and 2023, respectively, and $9.2 million and $6.2 million during the nine months ended September 30, 2024 and 2023, respectively. There were no accounts receivable from Advantest as of September 30, 2024. Accounts receivable from Advantest were not material as of December 31, 2023. Deferred revenue amounted to $11.8 million and $9.4 million as of September 30, 2024, and December 31, 2023, respectively.

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.24.3
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Pay vs Performance Disclosure        
Net Income (Loss) $ 2,206 $ (4,972) $ 3,518 $ 2,218
XML 31 R20.htm IDEA: XBRL DOCUMENT v3.24.3
Insider Trading Arrangements
9 Months Ended
Sep. 30, 2024
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 32 R21.htm IDEA: XBRL DOCUMENT v3.24.3
SIGNIFICANT ACCOUNTING POLICIES (Policies)
9 Months Ended
Sep. 30, 2024
BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES:  
Basis of Presentation, Policy

Basis of Presentation

The interim unaudited condensed consolidated financial statements included herein have been prepared by PDF Solutions, Inc. (the “Company”) pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”), including the instructions to the Quarterly Report on Form 10-Q and Article 10 of Regulation S-X. Certain information and footnote disclosures normally included in annual consolidated financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been condensed or omitted. The interim unaudited condensed consolidated financial statements reflect, in the opinion of management, all adjustments necessary (consisting only of normal recurring adjustments) to present a fair statement of results for the interim periods presented. The operating results for any interim period are not necessarily indicative of the results that may be expected for other interim periods or the full fiscal year. The accompanying interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023, filed with the SEC on February 27, 2024.

The interim unaudited condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries after the elimination of all intercompany balances and transactions.

The accompanying interim unaudited condensed consolidated balance sheet as of December 31, 2023, has been derived from the audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America.

Revenue Recognition, Policy

The Company derives revenue from two sources: Analytics and Integrated Yield Ramp.

The Company recognizes revenue in accordance with FASB Accounting Standards Codification (“ASC”) Topic 606, Revenue from Contracts with Customers, and its related amendments (collectively known as “ASC 606”). ASC 606 outlines a single comprehensive model to use in accounting for revenue arising from contracts with customers. Revenue is recognized when control of products or services is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those promised products or services.

The Company determines revenue recognition through the following five steps:

Identification of the contract, or contracts, with a customer
Identification of the performance obligations in the contract
Determination of the transaction price
Allocation of the transaction price to the performance obligations in the contract
Recognition of revenue when, or as, performance obligations are satisfied

The Company accounts for a contract when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance, and collectibility of consideration is probable.

Contracts with Multiple Performance Obligations

The Company enters into contracts that can include various combinations of licenses, products and services, some of which are distinct and are accounted for as separate performance obligations. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price (“SSP”).

Analytics Revenue

Analytics revenue is derived from the following primary offerings: licenses and services for standalone software (which is primarily Exensio® and Cimetrix® products), software-as-a-service (“SaaS”) (which is primarily Exensio® products), and Design-for-Inspection™ (“DFI™”) systems and Characterization Vehicle® (“CV®”) systems that do not include performance incentives based on customers’ yield achievement.

Revenue from standalone software is recognized depending on whether the license is perpetual or time-based. Perpetual (one-time charge) license software is recognized at the time of the inception of the arrangement when control transfers to the customers if the software license is considered as a separate performance obligation from the services offered by the Company. Revenue from post-contract support is recognized over the contract term on a straight-line basis, because the Company is providing (i) support and (ii) unspecified software updates on a when-and-if available basis over the contract term. Revenue from time-based-licensed software is allocated to each performance obligation and is recognized either at a point in time or over time as follows. The license component is recognized at the time when control transfers to customers, with the post-contract support component recognized ratably over the committed term of the contract. For contracts with any combination of licenses, support, and other services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation.

Revenue from SaaS arrangements, which allow for the use of a cloud-based software product or service over a contractually determined period of time without the customer having to take possession of the software, is accounted for as a subscription and is recognized as revenue ratably, on a straight-line basis, over the subscription period beginning on the date the service is first made available to customers. For contracts with any combination of SaaS and related services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation.

Revenue from DFI systems and CV systems (including Characterization services) that do not include performance incentives based on customers’ yield achievement is recognized primarily as services are performed. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs. For those contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation. Where there are not discrete performance obligations, historically, revenue is primarily recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. The estimation of percentage of completion method is complex and subject to many variables that require significant judgment. Please refer to the “Significant Judgments” section of this Note for further discussion.

The Company also leases some of its DFI system and CV system assets to some customers. The Company determines the existence of a lease when the customer controls the use of these identified assets for a period of time defined in the lease agreement and classifies such leases as operating leases or sales-type leases. A lease is classified as a sales-type lease if it meets certain criteria under ASC Topic 842, Leases; otherwise, it is classified as an operating lease. Operating lease revenue is recognized on a straight-line basis over the lease term. Sales-type lease revenue and corresponding lease receivables are recognized at lease commencement based on the present value of the future lease payments, and related interest income on lease receivable is recognized over the lease term and are recorded under Analytics revenue in the accompanying unaudited condensed consolidated statements of comprehensive income (loss). Payments under sales-type leases are discounted using the interest rate implicit in the lease. When the Company’s leases are embedded in contracts with customers that include non-lease performance obligations, the Company allocates consideration in the contract between lease and non-lease components based on their relative SSPs. Assets subject to operating leases remain in property and equipment and continue to be depreciated. Assets subject to sales-type leases are derecognized from property and equipment, net at lease commencement and a net investment in the lease asset is recognized in prepaid expenses and other current assets and other non-current assets in the accompanying unaudited condensed consolidated balance sheets.

Integrated Yield Ramp Revenue

Integrated Yield Ramp revenue is derived from the Company’s fixed-fee engagements that include performance incentives based on customers’ yield achievement (which consists primarily of Gainshare royalties) typically based on customer’s wafer shipments, pertaining to these fixed-price contracts, which royalties are variable.

Revenue under these project-based contracts, which are delivered over a specific period of time, typically for a fixed-fee component paid on a set schedule, is recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs and allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP. Similar to the services provided in connection with DFI systems and CV systems that are contributing to Analytics revenue, due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex and subject to many variables that require significant judgment. Please refer to the “Significant Judgments” section of this Note for further discussion.

The Gainshare contained in Integrated Yield Ramp contracts is a variable fee related to continued usage of the Company’s intellectual property after the fixed-fee service period ends, based on a customer’s yield achievement. Revenue derived from Gainshare is contingent upon the Company’s customers reaching certain defined production yield levels. Gainshare periods are generally subsequent to the delivery of all contractual services and performance obligations. The Company records Gainshare as a usage-based royalty derived from customers’ usage of intellectual property and records it in the same period in which the usage occurs.

Disaggregation of Revenue, Policy

Disaggregation of Revenue

The Company disaggregates revenue from contracts with customers into the timing of the transfer of goods and services and the geographical regions. The Company determined that disaggregating revenue into these categories achieves the disclosure objective to depict how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.

The Company’s performance obligations are satisfied either over time or at a point-in-time. The following table represents a disaggregation of revenue percentage by timing of revenue:

Three Months Ended September 30, 

 

Nine Months Ended September 30, 

    

2024

    

2023

2024

    

2023

Over time

64

%  

68

%

67

%  

74

%

Point-in-time

 

36

%  

32

%

33

%  

26

%

Total

 

100

%  

100

%

100

%  

100

%

International revenues accounted for approximately 55% and 42% of the Company’s total revenues during the three months ended September 30, 2024 and 2023, respectively, and approximately 55% and 44% of the Company’s total revenues during the nine months ended September 30, 2024 and 2023, respectively. See Note 9, Customer and Geographic Information.

Contract Balances, Policy

Contract Balances

The Company performs its obligations under a contract with a customer primarily by licensing software or providing services in exchange for consideration from the customer. The timing of the Company’s performance often differs from the timing of the customer’s payment, which results in the recognition of a receivable, a contract asset or a contract liability.

The Company classifies the right to consideration in exchange for software or services transferred to a customer as either a receivable or a contract asset. A receivable is a right to consideration that is unconditional, as compared to a contract asset, which is a right to consideration that is conditional upon factors other than the passage of time. The majority of the Company’s contract assets represent unbilled amounts related to fixed-price service contracts when the revenue recognized exceeds the amount billed to the customer.

The contract assets are recorded on a net basis with deferred revenue (i.e., contract liabilities) at the contract level. The contract assets consist of the following (in thousands):

September 30, 

December 31, 

    

2024

2023

Current portion included in prepaid expenses and other current assets

$

9,193

$

6,787

Non-current portion included in other non-current assets

 

611

 

933

Total contract assets

$

9,804

$

7,720

The Company did not record any asset impairment charges related to contract assets for the periods presented.

Deferred revenues and billings in excess of recognized revenues consist substantially of amounts invoiced in advance of revenue recognition and are recognized as the revenue recognition criteria are met. Deferred revenues that will be recognized during the succeeding twelve-month period are recorded as current deferred revenues and the remaining portion is recorded in other non-current liabilities in the accompanying condensed consolidated balance sheets.

Deferred revenues were the following (in thousands):

September 30, 

December 31, 

    

2024

2023

Current portion

$

28,728

$

25,750

Non-current portion (1)

1,599

1,802

Total deferred revenues

$

30,327

$

27,552

(1)Included in other non-current liabilities.

Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each reporting period was the following (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each period

$

12,040

$

13,129

$

24,669

$

23,836

As of September 30, 2024, the aggregate amount of the transaction price allocated to the remaining performance obligations related to customer contracts that were unsatisfied or partially unsatisfied was approximately $239.2 million. Given the applicable contract terms with customers, more than half of this amount is expected to be recognized as revenue over the next two years with the remainder to be recognized thereafter. This amount does not include insignificant contracts to which the customer is not committed, nor significant contracts for which the Company recognizes revenue equal to the amount the Company has the right to invoice for services performed, or future sales-based or usage-based royalty payments in exchange for a license of intellectual property. This amount is subject to change due to future revaluations of variable consideration, terminations, other contract modifications, or currency adjustments. The estimated timing of the recognition of remaining unsatisfied performance obligations is subject to change and is affected by changes to the scope, change in timing of delivery of products and services, or contract modifications.

The adjustment to revenue recognized from performance obligations satisfied (or partially satisfied) in previous periods was a decrease of $0.7 million and a decrease of $0.6 million during the three months ended September 30, 2024 and 2023, respectively, and a decrease of $1.4 million and an increase of $4.3 million during the nine months ended September 30, 2024 and 2023, respectively. These amounts primarily represent changes in estimated percentage-of-completion based contracts and changes in actual versus estimated Gainshare.

Costs to Obtain or Fulfill a Contract, Policy

Costs to Obtain or Fulfill a Contract

The Company capitalizes the incremental costs to obtain or fulfill a contract with a customer, including direct sales commissions and related fees, when it expects to recover those costs. Amortization expense related to these capitalized costs is recognized over the period associated with the revenue from which the cost was incurred.

Total capitalized direct sales commission costs were the following (in thousands):

September 30, 

December 31, 

    

2024

2023

Current portion included in prepaid expenses and other current assets

$

2,566

$

1,954

Non-current portion included in other non-current assets

 

3,059

 

2,587

Total capitalized direct sales commission costs

$

5,625

$

4,541

Amortization of capitalized direct sales commission costs was the following (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Amortization of capitalized direct sales commission costs

$

667

$

532

$

1,941

$

1,494

There was no impairment loss in relation to the costs capitalized for the periods presented.

Revenue-related Significant Judgements, Policy

Significant Judgments

Judgments and estimates are required under ASC 606. Due to the complexity of certain contracts, the actual revenue recognition treatment required under ASC 606 for the Company’s arrangements may be dependent on contract-specific terms and may vary in some instances.

For revenue under project-based contracts for fixed-price services, revenue is recognized as services are performed using a percentage-of-completion method based on costs or labor-hours input method, whichever is the most appropriate measure of the progress towards completion of the contract. Due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex, subject to many variables and requires significant judgment. Key factors reviewed by the Company to estimate costs to complete each contract are future labor and product costs and expected productivity efficiencies. If circumstances arise that change the original estimates of revenues, costs, or extent of progress toward completion, revisions to the estimates are made. These revisions may result in increases or decreases in estimated revenues or costs, and such revisions are reflected in revenue on a cumulative catch-up basis in the period in which the circumstances that gave rise to the revision become known.

The Company’s contracts with customers often include promises to transfer products, software licenses and provide services, including professional services, technical support services, and rights to unspecified updates to a customer. Determining whether licenses and services are distinct performance obligations that should be accounted for separately, or not distinct and thus accounted for together, requires significant judgment. The Company rarely licenses software on a standalone basis, so the Company is required to estimate the range of the SSPs for each performance obligation. In instances where the SSP is not directly observable because the Company does not license the software or sell the service separately, the Company determines the SSP using information that may include market conditions and other observable inputs.

The Company is required to record Gainshare revenue in the same period in which the usage occurs. Because the Company generally does not receive the acknowledgment reports from its customers during a given quarter within the time frame necessary to adequately review the reports and include the actual amounts in quarterly results for such quarter, the Company accrues the related revenue based on estimates of customers underlying sales achievement. The Company’s estimation process can be based on historical data, trends, seasonality, changes in the contract rate, knowledge of the changes in the industry and changes in the customer’s manufacturing environment learned through discussions with customers and sales personnel. As a result of accruing revenue for the quarter based on such estimates, adjustments will be required in the following quarter to true-up revenue to the actual amounts reported.

Practical Expedient, Policy

Practical Expedient

The Company does not adjust the transaction price for the effects of a significant financing component when the period between the transfers of the promised good or service to the customer and payment for that good or service by the customer is expected to be one year or less. The Company assessed each of its revenue generating arrangements in order to determine whether a significant financing component exists, and determined its contracts did not include a material significant financing component during the three and nine months ended September 30, 2024 and 2023.

Accounts Receivable, Policy

Accounts Receivable

Accounts receivable include amounts that are unbilled at the end of the period that are expected to be billed and collected within a 12-month period. Unbilled accounts receivable, included in accounts receivable, totaled $20.7 million and $16.4 million as of September 30, 2024, and December 31, 2023, respectively. Unbilled accounts receivable that are not expected to be billed and collected during the succeeding 12-month period are recorded in other non-current assets and totaled $10.2 million and $1.1 million as of September 30, 2024, and December 31, 2023, respectively.

Stock-Based Compensation, Policy

Stock-based compensation is estimated at the grant date based on the award’s fair value and is recognized on a straight-line basis over the vesting periods, generally four years. Stock-based compensation expense before taxes related to the Company’s stock plan and employee stock purchase plan was allocated as follows (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Costs of revenues

$

1,366

$

1,120

$

3,751

$

3,022

Research and development

 

2,375

 

2,196

 

6,640

 

5,609

Selling, general, and administrative

 

2,989

 

2,683

 

8,149

 

6,930

Stock-based compensation expense

$

6,730

$

5,999

$

18,540

$

15,561

Stock Incentive Plan, Policy

The Company estimated the fair value of share-based awards granted under the 2011 Stock Plan during the period using the Black-Scholes-Merton option-pricing model. There were no stock options granted during the three and nine months ended September 30, 2024 and 2023.

Employee Stock Purchase Plan, Policy

The Company estimated the fair value of purchase rights granted under the 2021 Purchase Plan during the period using the Black-Scholes-Merton option-pricing model with the following weighted average assumptions, resulting in the following weighted average fair values:

Nine Months Ended September 30, 

2024

    

2023

Expected life (in years)

1.25

 

1.25

Volatility

40.97

%  

43.66

%  

Risk-free interest rate

4.61

%  

5.15

%  

Expected dividend

 

Weighted average fair value of purchase rights granted during the period

$

10.91

$

15.71

Earnings Per Share, Policy Basic net income (loss) per share is computed by dividing net income (loss) by the weighted average number of common shares outstanding for the period (excluding outstanding stock options, nonvested restricted stock units and shares subject to repurchase). Diluted net income (loss) per share is computed using the weighted average number of common shares outstanding for the period plus the potential effect of dilutive securities which are convertible into common shares (using the treasury stock method), except in cases in which the effect would be anti-dilutive.
Fair Value Measurements, Policy

Fair value is the exit price, or the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants as of the measurement date. The multiple assumptions used to value financial instruments are referred to as inputs, and a hierarchy for inputs used in measuring fair value is established, that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. Observable inputs reflect assumptions market participants would use in pricing an asset or liability based on market data obtained from independent sources while unobservable inputs reflect a reporting entity’s pricing based upon its own market assumptions. These inputs are ranked according to a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels.

Level 1 -

Inputs are quoted prices in active markets for identical assets or liabilities.

 

 

Level 2 -

Inputs are quoted prices for similar assets or liabilities in an active market, quoted prices for identical or similar assets or liabilities in markets that are not active, inputs other than quoted prices that are observable and market-corroborated inputs which are derived principally from or corroborated by observable market data.

 

 

Level 3 -

Inputs are derived from valuation techniques in which one or more significant inputs or value drivers are unobservable.

Recent Accounting Standards, Policy

Recent Accounting Standards

In November 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which requires disclosure of incremental segment information on an annual and interim basis. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, and requires retrospective application to all prior periods presented in the financial statements. Early adoption is permitted. The Company is currently evaluating the impact of the new standard on the consolidated financial statements and related disclosures.

In December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures. This ASU is intended to improve the transparency of income tax disclosures by requiring (1) consistent categories and greater disaggregation of information in the rate reconciliation and (2) income taxes paid disaggregated by jurisdiction. It also includes certain other amendments to improve the effectiveness of income tax disclosures. The ASU’s amendments are effective for public business entities for annual periods beginning after December 15, 2024. Entities are permitted to early adopt the standard for “annual financial statements that have not yet been issued or made available for issuance.” Adoption is either prospectively or retrospectively, the Company will adopt this ASU on a prospective basis. The Company is currently evaluating the impact of the new standard on the consolidated financial statements and related disclosures.

Management has reviewed other recently issued accounting pronouncements issued or proposed by the FASB and does not believe any of these accounting pronouncements has had or will have a material impact on the condensed unaudited consolidated financial statements.

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.24.3
REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables)
9 Months Ended
Sep. 30, 2024
REVENUE FROM CONTRACTS WITH CUSTOMERS:  
Schedule of Disaggregation of Revenue Percentage by Timing of Revenue:

Three Months Ended September 30, 

 

Nine Months Ended September 30, 

    

2024

    

2023

2024

    

2023

Over time

64

%  

68

%

67

%  

74

%

Point-in-time

 

36

%  

32

%

33

%  

26

%

Total

 

100

%  

100

%

100

%  

100

%

Schedule of Contract Assets (Liabilities) Recorded on a Net Basis with Deferred Revenue (in Thousands):

September 30, 

December 31, 

    

2024

2023

Current portion included in prepaid expenses and other current assets

$

9,193

$

6,787

Non-current portion included in other non-current assets

 

611

 

933

Total contract assets

$

9,804

$

7,720

Schedule of Deferred Revenues (in Thousands):

September 30, 

December 31, 

    

2024

2023

Current portion

$

28,728

$

25,750

Non-current portion (1)

1,599

1,802

Total deferred revenues

$

30,327

$

27,552

(1)Included in other non-current liabilities.
Schedule of Recognized Revenue Included in Deferred Revenues and Billings in Excess of Recognized Revenues at the Beginning of Each Reporting Period (in Thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each period

$

12,040

$

13,129

$

24,669

$

23,836

Schedule of Capitalized Direct Sales Commission Costs (in Thousands):

September 30, 

December 31, 

    

2024

2023

Current portion included in prepaid expenses and other current assets

$

2,566

$

1,954

Non-current portion included in other non-current assets

 

3,059

 

2,587

Total capitalized direct sales commission costs

$

5,625

$

4,541

Schedule of Amortization of Capitalized Direct Sales Commission Costs (in Thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Amortization of capitalized direct sales commission costs

$

667

$

532

$

1,941

$

1,494

XML 34 R23.htm IDEA: XBRL DOCUMENT v3.24.3
BALANCE SHEET COMPONENTS (Tables)
9 Months Ended
Sep. 30, 2024
BALANCE SHEET COMPONENTS  
Schedule of Property and Equipment, Net (in Thousands):

September 30, 

December 31, 

    

2024

    

2023

Computer equipment

$

11,919

$

12,515

Software

 

5,647

 

5,596

Furniture, fixtures, and equipment

 

2,543

 

2,501

Leasehold improvements

 

6,705

 

6,475

Laboratory and other equipment

 

5,621

 

4,891

Test equipment

 

26,286

 

25,044

Property and equipment in progress:

 

 

DFI™ system assets

27,991

22,864

CV® system and other assets

 

7,324

 

6,977

 

94,036

 

86,863

Less: Accumulated depreciation and amortization

 

(48,017)

 

(49,525)

Total

$

46,019

$

37,338

Schedule of Intangible Assets, Net (in Thousands):

September 30, 2024

December 31, 2023

Amortization

Gross

Net

Gross

Net

Period

Carrying

Accumulated

Carrying

Carrying

Accumulated

Carrying

(Years)

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Acquired identifiable intangibles:

Customer relationships

 

1-10

$

9,506

$

(7,772)

$

1,734

$

9,508

$

(7,335)

$

2,173

Developed technology

 

4-9

 

34,631

 

(23,983)

 

10,648

 

34,650

 

(22,094)

 

12,556

Tradename and trademarks

 

2-10

 

1,598

 

(1,100)

 

498

 

1,598

 

(1,025)

 

573

Patent

 

6-10

 

2,100

 

(1,847)

 

253

 

2,100

 

(1,782)

 

318

Noncompetition agreements

 

3

 

848

 

(848)

 

 

848

 

(848)

 

Total

$

48,683

$

(35,550)

$

13,133

$

48,704

$

(33,084)

$

15,620

Schedule of Intangible Asset Amortization Expense (in Thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Amortization of acquired technology included under costs of revenues

$

584

$

574

$

1,752

$

1,680

Amortization of acquired intangible assets presented separately under costs and expenses

 

196

 

328

 

714

 

979

Total amortization of acquired intangible assets

$

780

$

902

$

2,466

$

2,659

Schedule of Annual Amortization Expense of Acquired Identifiable Intangible Assets (in Thousands):

Year Ending December 31, 

    

Amount

2024 (remaining three months)

$

767

2025

 

3,069

2026

 

2,900

2027

 

2,747

2028

2,442

2029 and thereafter

 

1,208

Total future amortization expense

$

13,133

Schedule of Other Non-Current Assets (in Thousands):

September 30, 

December 31, 

    

2024

    

2023

Costs capitalized to obtain revenue contracts – non-current (1)

$

3,059

$

2,587

Unbilled accounts receivable – non-current (2)

10,216

1,069

Contract assets – non-current (1)

611

933

Net investments in sales-type leases – non-current (3)

18,778

12,196

Other

 

4,596

 

2,433

Total other non-current assets

$

37,260

$

19,218

(1)See Note 2, Revenue from Contracts with Customers.
(2)See Note 3, Balance Sheet Components – Accounts Receivable.
(3)The Company had net investments in sales-type leases for its DFI™ system and CV® system assets. The following table summarizes the components of the Company’s net investments in sales-type leases in the accompanying condensed consolidated balance sheets (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Lease receivables

$

16,455

$

9,460

Unguaranteed residual assets

7,525

4,717

Net investments in sales-type leases

23,980

14,177

Less: Current portion of lease receivables under prepaid expenses and other current assets

(5,202)

(1,981)

Net investments in sales-type leases – non-current

 

$

18,778

$

12,196

Schedule of Maturities of Lease Payments Under Sales-type Leases (in Thousands):

Year Ending December 31, 

    

Amount

2024 (remaining three months)

$

1,541

2025

 

8,048

2026

 

7,672

2027

 

2,718

2028

 

68

Total future sales-type lease payments

20,047

Less: Present value adjustment (a)

 

(3,592)

Present value of lease receivables

$

16,455

(a)Calculated using the rate implicit in the lease determined for each lease.
XML 35 R24.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES (Tables)
9 Months Ended
Sep. 30, 2024
LEASES:  
Schedule of Lease Expense (in Thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Operating lease expense

$

401

$

382

$

1,161

$

1,153

Short-term lease and variable lease expense (1)

 

268

 

239

 

754

 

673

Total lease expense

$

669

$

621

$

1,915

$

1,826

(1)Leases with an initial term of 12 months or less are not recorded on the accompanying condensed consolidated balance sheets, and the Company recognizes lease expense for these leases on a straight-line basis over the lease term. Variable lease expense for the periods presented primarily included common area maintenance charges.
Schedule of Supplemental Condensed Consolidated Balance Sheets Information Related to Operating Leases:

September 30, 

December 31, 

 

    

2024

    

2023

 

Weighted average remaining lease term under operating leases (in years)

3.5

4.4

Weighted average discount rate for operating lease liabilities

 

5.98

%  

4.96

%

Schedule of Maturities of Operating Lease Liabilities (in Thousands):

Year Ending December 31, 

    

Amount

2024 (remaining three months)

$

492

2025

 

1,850

2026

 

1,551

2027

 

1,490

2028

 

847

Total future minimum lease payments

 

6,230

Less: Interest (1)

 

 

(654)

Present value of future minimum lease payments under operating lease liabilities (2)

$

5,576

(1)Calculated using incremental borrowing interest rate for each lease.
(2)Includes the current portion of operating lease liabilities of $1.7 million as of September 30, 2024.
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.24.3
EMPLOYEE BENEFIT PLANS (Tables)
9 Months Ended
Sep. 30, 2024
EMPLOYEE BENEFIT PLANS:  
Schedule Fair Value Estimates of Purchase Rights Granted Under the 2021 Purchase Plan Using the Black-Scholes-Merton Option-Pricing Model:

Nine Months Ended September 30, 

2024

    

2023

Expected life (in years)

1.25

 

1.25

Volatility

40.97

%  

43.66

%  

Risk-free interest rate

4.61

%  

5.15

%  

Expected dividend

 

Weighted average fair value of purchase rights granted during the period

$

10.91

$

15.71

Schedule of Stock Plan and Employee Stock Purchase Plan Expense Allocation (in Thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Costs of revenues

$

1,366

$

1,120

$

3,751

$

3,022

Research and development

 

2,375

 

2,196

 

6,640

 

5,609

Selling, general, and administrative

 

2,989

 

2,683

 

8,149

 

6,930

Stock-based compensation expense

$

6,730

$

5,999

$

18,540

$

15,561

Schedule of Additional Information With Respect to Options Under the 2011 Plan:

Outstanding Options

Weighted

Weighted

Average

Average

Remaining

Aggregate

Number of

Exercise

Contractual

Intrinsic

Options

Price

Term

Value

    

(in thousands)

    

per Share

    

(Years)

    

(in thousands)

Outstanding, January 1, 2024

 

38

$

15.92

 

  

 

  

Granted

 

 

  

 

  

Exercised

 

(7)

16.20

 

  

 

  

Canceled

 

 

  

 

  

Expired

 

 

  

 

  

Outstanding, September 30, 2024

 

31

$

15.85

 

3.53

$

493

Vested and expected to vest, September 30, 2024

 

31

$

15.85

 

3.53

$

493

Exercisable, September 30, 2024

 

31

$

15.85

 

3.53

$

493

Schedule of Total Intrinsic Value of Options Exercised (in Thousands):

Nine Months Ended September 30, 

    

2024

    

2023

Intrinsic value of options exercised

 

$

124

 

$

608

Schedule of Nonvested Restricted Stock Unit ("RSU") Activities:

Weighted

Average Grant

Shares 

Date Fair Value

    

(in thousands)

    

Per Share

Nonvested, January 1, 2024

 

1,995

$

30.03

Granted

 

734

35.42

Vested

 

(756)

27.37

Forfeited

 

(42)

30.64

Nonvested, September 30, 2024

 

1,931

$

33.11

Schedule of Total Fair Value Restricted Stock Units Vested (in Thousands):

Nine Months Ended September 30, 

    

2024

    

2023

Fair value of restricted stock units vested

 

$

25,483

 

$

31,162

XML 37 R26.htm IDEA: XBRL DOCUMENT v3.24.3
NET INCOME (LOSS) PER SHARE (Tables)
9 Months Ended
Sep. 30, 2024
NET INCOME (LOSS) PER SHARE:  
Schedule of Basic and Diluted Earnings Per Share (in Thousands Except Per Share Amounts):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Numerator:

 

  

 

  

 

  

 

  

Net income (loss)

$

2,206

$

(4,972)

$

3,518

$

2,218

Denominator:

 

  

 

  

 

  

 

  

Basic weighted average shares outstanding

 

38,710

 

38,187

 

38,542

 

37,930

Effect of dilutive stock options, unvested restricted stock units, and shares of common stock expected to be issued under employee stock purchase plan

 

395

 

 

486

 

1,047

Diluted weighted average shares outstanding

 

39,105

 

38,187

 

39,028

 

38,977

Net income (loss) per share:

Basic

$

0.06

$

(0.13)

$

0.09

$

0.06

Diluted

$

0.06

$

(0.13)

$

0.09

$

0.06

Schedule of Anti-Dilutive Shares Excluded from Computation of Earnings Per Share (in Thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2024

    

2023

    

2024

    

2023

Outstanding options

 

23

 

 

Non-vested restricted stock units

 

1,078

1,391

 

740

223

Employee Stock Purchase Plan

 

38

 

Total

 

1,078

 

1,452

 

740

223

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.24.3
CUSTOMER AND GEOGRAPHIC INFORMATION (Tables)
9 Months Ended
Sep. 30, 2024
CUSTOMER AND GEOGRAPHIC INFORMATION:  
Schedule of Revenues from Customers by Geographic Area Based on the Location of the Customers' Work Sites (in Thousands):

Three Months Ended September 30, 

2024

 

2023

 

Percentage

 

Percentage

 

    

Revenues

    

of Revenues

 

    

Revenues

    

of Revenues

 

United States

$

21,065

 

45

%

$

24,477

58

%

Japan

6,275

14

%

3,135

7

%

Taiwan

6,273

14

%

1,296

3

%

China

 

5,673

 

12

%

 

7,549

18

%

Rest of the world

 

7,123

 

15

%

 

5,893

14

%

Total revenue

$

46,409

 

100

%

$

42,350

 

100

%

Nine Months Ended September 30, 

2024

 

2023

 

Percentage

 

Percentage

 

    

Revenues

    

of Revenues

 

    

Revenues

    

of Revenues

 

United States

$

58,021

 

45

%

$

70,090

56

%

Japan

25,495

20

%

8,005

6

%

China

 

17,526

14

%

 

21,927

18

%

Taiwan

8,107

 

6

%

4,660

4

%

Rest of the world

 

20,231

 

15

%

 

20,028

16

%

Total revenue

$

129,380

 

100

%

$

124,710

 

100

%

Schedule of Long-Lived Assets, Net by Geographic Area (in Thousands):

September 30, 

December 31, 

    

2024

2023

United States (1)

$

56,216

$

45,619

Rest of the world

 

1,688

 

1,362

Total long-lived assets, net

$

57,904

$

46,981

(1) Includes assets deployed at customer sites which could be outside the U.S.

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.24.3
FAIR VALUE MEASUREMENTS (Tables)
9 Months Ended
Sep. 30, 2024
FAIR VALUE MEASUREMENTS:  
Schedule of Assets Measured at Fair Value on a Recurring Basis (in Thousands):

Fair Value Measurements Using

Quoted

Prices in

Active

Significant

Markets for

Other

Identical

Observable

Significant

September 30, 

Assets

Inputs

Unobservable

Assets

    

2024

    

(Level 1)

    

(Level 2)

    

Inputs (Level 3)

Cash equivalents

 

  

 

  

 

  

 

  

Money market mutual funds

$

80,830

$

80,830

$

$

Short-term investments (available-for-sale debt securities)

 

  

 

  

 

  

 

  

U.S. Government securities (1)

 

23,724

 

23,724

 

 

Non-current assets

Convertible note receivable (available-for-sale debt security) (2)

2,013

2,013

Total

$

106,567

$

104,554

$

$

2,013

Fair Value Measurements Using

Quoted

Prices in

Active

Significant

Markets for

Other

Significant

Identical

Observable

Unobservable

December 31, 

Assets

Inputs

Inputs 

Assets

    

2023

    

(Level 1)

    

(Level 2)

    

(Level 3)

Cash equivalents

 

  

 

  

 

  

 

  

Money market mutual funds

$

83,810

$

83,810

$

$

Short-term investments (available-for-sale debt securities)

  

 

  

 

  

 

  

U.S. Government securities (1)

36,544

 

36,544

 

 

Total

$

120,354

$

120,354

$

$

(1)As of September 30, 2024, and December 31, 2023, the amortized cost of the Company’s investments in U.S. Government securities approximated their fair value due to their short-term maturities, and there have been no events or changes in circumstances that would have had a significant effect on the fair value of these securities in the periods presented. For the three and nine months ended September 30, 2024, there were no material realized or unrealized gains or losses, either individually or in the aggregate.
(2)In August 2024, the Company purchased a $2.0 million non-marketable convertible promissory note from an unrelated third party (the “convertible note”). The convertible note bears a 5% interest rate annually and will mature in August 2026 and is included in other non-current assets in the accompanying condensed consolidated balance sheet as of September 30, 2024. As of September 30, 2024, the cost of the convertible note approximated its fair value as there have been no events or changes in circumstances that would have had a significant effect on its fair value from its issuance date to reporting period end.
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.24.3
REVENUE FROM CONTRACTS WITH CUSTOMERS (Details)
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Number of revenue sources 2 2 2 2
Geographic Concentration Risk | Revenue Benchmark        
Significant customer concentration (percentage) 100.00% 100.00% 100.00% 100.00%
Geographic Concentration Risk | Revenue Benchmark | Non-US        
Significant customer concentration (percentage) 55.00% 42.00% 55.00% 44.00%
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.24.3
REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenue (Details)
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Performance obligations, percentage of revenues 100.00% 100.00% 100.00% 100.00%
Over Time        
Performance obligations, percentage of revenues 64.00% 68.00% 67.00% 74.00%
Point-in-time        
Performance obligations, percentage of revenues 36.00% 32.00% 33.00% 26.00%
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.24.3
REVENUE FROM CONTRACTS WITH CUSTOMERS - Contract Balances (Details) - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
Non-current portion included in other non-current assets $ 611 $ 933
Total contract assets 9,804 7,720
Prepaid Expenses and Other Current Assets    
Current portion included in prepaid expenses and other current assets 9,193 6,787
Other Non-current Assets    
Non-current portion included in other non-current assets $ 611 $ 933
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.24.3
REVENUE FROM CONTRACTS WITH CUSTOMERS - Deferred Revenues (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Dec. 31, 2023
REVENUE FROM CONTRACTS WITH CUSTOMERS:          
Deferred revenues - current portion $ 28,728   $ 28,728   $ 25,750
Non-current portion (1) 1,599   1,599   1,802
Total deferred revenues 30,327   30,327   $ 27,552
Revenue recognized that was included in the deferred revenues and billings in excess of deferred revenues balances at beginning of period $ 12,040 $ 13,129 $ 24,669 $ 23,836  
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.24.3
REVENUE FROM CONTRACTS WITH CUSTOMERS - Costs to Obtain or Fulfill a Contract (Details) - USD ($)
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Dec. 31, 2023
Non-current portion included in other non-current assets $ 3,059,000   $ 3,059,000   $ 2,587,000
Total capitalized direct sales commission costs 5,625,000   5,625,000   4,541,000
Amortization of capitalized direct sales commission costs 667,000 $ 532,000 1,941,000 $ 1,494,000  
Impairment losses related to capitalized contract costs     0 $ 0  
Prepaid Expenses and Other Current Assets          
Current portion included in prepaid expenses and other current assets 2,566,000   2,566,000   1,954,000
Other Non-current Assets          
Non-current portion included in other non-current assets $ 3,059,000   $ 3,059,000   $ 2,587,000
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.24.3
REVENUE FROM CONTRACTS WITH CUSTOMERS - Additional Information (Details) - Software License and Related Services Agreement - Advantest America, Inc. - USD ($)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Revenue performance obligations satisfied in previous period $ (0.7) $ (0.6) $ (1.4) $ 4.3
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-09-30        
Revenue, remaining performance obligation $ 239.2   $ 239.2  
More than half of the remaining performance obligations 2 years   2 years  
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.24.3
BALANCE SHEET COMPONENTS (Details) - USD ($)
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Dec. 31, 2023
Unbilled receivables - non-current $ 10,216,000   $ 10,216,000   $ 1,069,000
Depreciation and amortization 800,000 $ 1,200,000 2,900,000 $ 3,800,000  
Goodwill, carrying amount 15,011,000   $ 15,011,000   15,029,000
Intangible assets, amortization period     4 years 7 months 6 days    
Impairment of goodwill 0 $ 0 $ 0 $ 0  
Allowance for credit loss on sales-type lease receivables 0   0   0
Accounts Receivable          
Unbilled receivables 20,700,000   20,700,000   16,400,000
Other Non-current Assets          
Unbilled receivables - non-current $ 10,200,000   $ 10,200,000   $ 1,100,000
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.24.3
BALANCE SHEET COMPONENTS - Property and Equipment (Details) - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
Property, Plant and Equipment, Gross $ 94,036 $ 86,863
Less: accumulated depreciation and amortization (48,017) (49,525)
Total property and equipment 46,019 37,338
Computer Equipment    
Property, Plant and Equipment, Gross 11,919 12,515
Software    
Property, Plant and Equipment, Gross 5,647 5,596
Furniture, Fixtures, and Equipment    
Property, Plant and Equipment, Gross 2,543 2,501
Leasehold Improvements    
Property, Plant and Equipment, Gross 6,705 6,475
Laboratory and Other Equipment    
Property, Plant and Equipment, Gross 5,621 4,891
Test Equipment    
Property, Plant and Equipment, Gross 26,286 25,044
DFI System Assets    
Property, Plant and Equipment, Gross 27,991 22,864
CV System and Other Assets    
Property, Plant and Equipment, Gross $ 7,324 $ 6,977
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.24.3
BALANCE SHEET COMPONENTS - Intangible Assets (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Dec. 31, 2023
Intangible assets, amortization period     4 years 7 months 6 days    
Intangible assets, gross carrying amount, total $ 48,683   $ 48,683   $ 48,704
Intangible assets, accumulated amortization, total (35,550)   (35,550)   (33,084)
Intangible assets, net carrying amount, total 13,133   13,133   15,620
Total amortization of acquired intangible assets 780 $ 902 2,466 $ 2,659  
Customer Relationships          
Intangible assets, gross carrying amount, total 9,506   9,506   9,508
Intangible assets, accumulated amortization, total (7,772)   (7,772)   (7,335)
Intangible assets, net carrying amount, total 1,734   $ 1,734   2,173
Customer Relationships | Minimum          
Amortization Period (Year)     1 year    
Customer Relationships | Maximum          
Amortization Period (Year)     10 years    
Developed Technology          
Intangible assets, gross carrying amount, total 34,631   $ 34,631   34,650
Intangible assets, accumulated amortization, total (23,983)   (23,983)   (22,094)
Intangible assets, net carrying amount, total 10,648   $ 10,648   12,556
Developed Technology | Minimum          
Amortization Period (Year)     4 years    
Developed Technology | Maximum          
Amortization Period (Year)     9 years    
Tradename and Trademarks          
Intangible assets, gross carrying amount, total 1,598   $ 1,598   1,598
Intangible assets, accumulated amortization, total (1,100)   (1,100)   (1,025)
Intangible assets, net carrying amount, total 498   $ 498   573
Tradename and Trademarks | Minimum          
Amortization Period (Year)     2 years    
Tradename and Trademarks | Maximum          
Amortization Period (Year)     10 years    
Patent          
Intangible assets, gross carrying amount, total 2,100   $ 2,100   2,100
Intangible assets, accumulated amortization, total (1,847)   (1,847)   (1,782)
Intangible assets, net carrying amount, total 253   $ 253   318
Patent | Minimum          
Amortization Period (Year)     6 years    
Patent | Maximum          
Amortization Period (Year)     10 years    
Noncompetition Agreements          
Amortization Period (Year)     3 years    
Intangible assets, gross carrying amount, total 848   $ 848   848
Intangible assets, accumulated amortization, total (848)   (848)   $ (848)
Costs of Revenues          
Amortization of acquired technology included under Costs of revenues 584 574 1,752 1,680  
Costs and Expenses          
Amortization of acquired intangible assets presented separately under costs and expenses $ 196 $ 328 $ 714 $ 979  
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.24.3
BALANCE SHEET COMPONENTS - Annual Amortization of Identifiable Intangible Assets (Details)
$ in Thousands
Sep. 30, 2024
USD ($)
BALANCE SHEET COMPONENTS  
2024 (remaining three months) $ 767
2025 3,069
2026 2,900
2027 2,747
2028 2,442
2029 and thereafter 1,208
Total future amortization expense $ 13,133
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.24.3
BALANCE SHEET COMPONENTS - Other Non-current Assets (Details) - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
BALANCE SHEET COMPONENTS    
Costs capitalized to obtain revenue contracts - non-current (1) $ 3,059 $ 2,587
Unbilled accounts receivable - non-current (2) 10,216 1,069
Contract assets - non-current (1) 611 933
Net investment in sales-type leases - non-current (3) 18,778 12,196
Other 4,596 2,433
Total other non-current assets $ 37,260 $ 19,218
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.24.3
BALANCE SHEET COMPONENTS - Net Investment in Sales-type Leases (Details) - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
BALANCE SHEET COMPONENTS    
Lease receivables $ 16,455 $ 9,460
Unguaranteed residual assets 7,525 4,717
Net investment in sales-type leases 23,980 14,177
Less: Current portion of lease receivables under prepaid expenses and other current assets (5,202) (1,981)
Net investment in sales-type leases, non-current $ 18,778 $ 12,196
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.24.3
BALANCE SHEET COMPONENTS - Maturities of Lease Payments Under Sales-type Leases (Details) - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
BALANCE SHEET COMPONENTS    
2024 (remaining three months) $ 1,541  
2025 8,048  
2026 7,672  
2027 2,718  
2028 68  
Total future sales-type lease payments 20,047  
Less: Present value adjustment (1) (3,592)  
Present value of lease receivables $ 16,455 $ 9,460
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES (Details)
9 Months Ended
Sep. 30, 2024
Dec. 31, 2023
Number of finance leases 0 0
Weighted average remaining lease term under operating leases (in years) 3 years 6 months 4 years 4 months 24 days
Weighted average discount rate for operating lease liabilities 5.98% 4.96%
Minimum    
Initial lease term, threshold to be recorded in accompanying condensed consolidated balance sheets 12 months  
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES - Components of Operating Lease Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
LEASES:        
Operating lease expense $ 401 $ 382 $ 1,161 $ 1,153
Short-term lease and variable lease expense (1) 268 239 754 673
Total lease expense $ 669 $ 621 $ 1,915 $ 1,826
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES - Maturity of Operating Lease Liabilities (Details) - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
LEASES:    
2024 (remaining three months) $ 492  
2025 1,850  
2026 1,551  
2027 1,490  
2028 847  
Total future minimum lease payments 6,230  
Less: Interest (1) (654)  
Present value of future minimum lease payments under operating lease liabilities (2) 5,576  
Operating lease liability - current portion $ 1,706 $ 1,529
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.24.3
STOCKHOLDERS EQUITY (Details) - USD ($)
$ / shares in Units, $ in Millions
9 Months Ended 30 Months Ended
Apr. 15, 2024
Apr. 11, 2022
Sep. 30, 2024
Sep. 30, 2024
2022 Stock Repurchase Program        
Stock Repurchase Program, Authorized Amount   $ 35.0    
Stock Repurchase Program, Period in Force (Year)   2 years    
Repurchase of common stock (shares)     201,561 937,501
Repurchase of common stock, weighted-average price per share     $ 34.23 $ 25.96
Repurchases of common stock, cost     $ 6.9 $ 24.3
2024 Stock Repurchase Program        
Stock Repurchase Program, Authorized Amount $ 40.0      
Stock Repurchase Program, Period in Force (Year) 2 years      
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.24.3
EMPLOYEE BENEFIT PLANS - Narrative (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 9 Months Ended 38 Months Ended
Nov. 16, 2011
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Stock option vesting period       4 years    
Common Stock, Closing Share Price   $ 31.68   $ 31.68   $ 31.68
Restricted Stock Units (RSUs)            
Unrecognized Compensation   $ 52,300   $ 52,300   $ 52,300
Unrecognized Compensation Recognition Period       2 years 7 months 6 days    
Fair value of restricted stock units vested       $ 25,483 $ 31,162  
Expired Stock Incentive Plans | Maximum            
Stock Incentive Plans, Common Shares Reserved for Future Issuance 3,500,000          
2011 Stock Incentive Plan            
Stock Incentive Plans, Common Shares Reserved for Future Issuance   14,600,000   14,600,000   14,600,000
Stock Incentive Plans, Common Shares Reserved for Future Issuance from Expired Incentive Plans   500,000   500,000   500,000
Aggregate Common Shares Reserved to Cover Stock-based Awards Under the 2011 Plan   15,100,000   15,100,000   15,100,000
Stock Incentive Plans, Shares Available for Future Grant   3,600,000   3,600,000   3,600,000
Stock Incentive Plans, Stock Options and Awards Granted       0 0  
2011 Stock Incentive Plan | Employee Stock Option            
Stock Incentive Plans, Rate Decrease in Reserved Plan-Shares Pursuant to Awards Other Than Options or SARs 1.33          
Stock Option Expiration Period 10 years          
Stock option vesting period 4 years          
2021 Employee Stock Purchase Plan            
Eligible Employee Contribution Rate, Percentage of Compensation   10.00%   10.00%   10.00%
Eligible Employee Share Purchase Price, Percentage of Fair Market Value           85.00%
ESPP, Share Offering Period Duration           24 months
ESPP, Share Purchase Periods Within Each Offering Period           4
ESPP, Share Purchase Period Duration           6 months
Shares Issued During Period   81,974 125,392 155,828 223,608  
Weighted Average Purchase Price   $ 26.31 $ 17.30 $ 26.14 $ 17.14  
Unrecognized Compensation   $ 2,500   $ 2,500   $ 2,500
Unrecognized Compensation Recognition Period       1 year 4 months 24 days    
Capital Shares Reserved for Future Issuance   638,481   638,481   638,481
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.24.3
EMPLOYEE BENEFIT PLANS - Valuation Assumptions for ESPP (Details) - 2021 Employee Stock Purchase Plan - $ / shares
9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Expected life (in years) 1 year 3 months 1 year 3 months
Volatility 40.97% 43.66%
Risk-free interest rate 4.61% 5.15%
Expected dividend 0.00% 0.00%
Weighted average fair value of purchase rights granted during the period $ 10.91 $ 15.71
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.24.3
EMPLOYEE BENEFIT PLANS - Allocation of Recognized Period Costs (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Share-Based Payment Arrangement, Expense $ 6,730 $ 5,999 $ 18,540 $ 15,561
Costs of Revenues        
Share-Based Payment Arrangement, Expense 1,366 1,120 3,751 3,022
Research and Development        
Share-Based Payment Arrangement, Expense 2,375 2,196 6,640 5,609
Selling, General, and Administrative        
Share-Based Payment Arrangement, Expense $ 2,989 $ 2,683 $ 8,149 $ 6,930
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.24.3
EMPLOYEE BENEFIT PLANS - Stock Options Activity (Details) - Employee Benefit Plans
$ / shares in Units, shares in Thousands, $ in Thousands
9 Months Ended
Sep. 30, 2024
USD ($)
$ / shares
shares
Sep. 30, 2023
USD ($)
Options Outstanding, Beginning Balance | shares 38  
Options Exercised | shares (7)  
Options Outstanding, Ending Balance | shares 31  
Options Vested and Expected to Vest | shares 31  
Options Exercisable | shares 31  
Options Outstanding, Weighted Average Exercise Price, Beginning Balance | $ / shares $ 15.92  
Options Exercised, Weighted Average Exercise Price | $ / shares 16.20  
Options Outstanding, Weighted Average Exercise Price, Ending Balance | $ / shares 15.85  
Options Vested and Expected to Vest, Weighted Average Exercise Price | $ / shares 15.85  
Options Exercisable, Weighted Average Exercise Price | $ / shares $ 15.85  
Options Outstanding, Weighted Average Remaining Contractual Term 3 years 6 months 10 days  
Options Vested and Expected to Vest, Weighted Average Remaining Contractual Term 3 years 6 months 10 days  
Options Exercisable, Weighted Average Remaining Contractual Term 3 years 6 months 10 days  
Options Outstanding, Aggregate Intrinsic Value | $ $ 493  
Options Vested and Expected to Vest, Aggregate Intrinsic Value | $ 493  
Options Exercisable, Aggregate Intrinsic Value | $ 493  
Intrinsic value of options exercised | $ $ 124 $ 608
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.24.3
EMPLOYEE BENEFIT PLANS - Nonvested Restricted Stock Units Activity (Details) - Restricted Stock Units (RSUs) - $ / shares
shares in Thousands
9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Non-vested RSUs, Opening Balance 1,995  
RSUs Granted 734  
RSUs Vested (756)  
RSUs Forfeited (42)  
Non-vested RSUs, Ending Balance 1,931  
Non-vested RSUs Opening, Weighted Average Grant Date Fair Value $ 30.03  
RSUs Granted, Weighted Average Grant Date Fair Value 35.42 $ 43.92
RSUs Vested, Weighted Average Grant Date Fair Value 27.37  
RSUs Forfeited, Weighted Average Grant Date Fair Value 30.64  
Non-vested RSUs Ending, Weighted Average Grant Date Fair Value $ 33.11  
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.24.3
INCOME TAXES - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Dec. 31, 2023
INCOME TAXES:          
Increase (Decrease) in Income Taxes     $ (900)    
Income Tax Expense (Benefit) $ 1,424 $ 6,006 $ 1,587 $ 2,508  
Effective Income Tax Rate Reconciliation, Percent     31.10% 53.10%  
Unrecognized tax benefits, excluding interest and penalties 16,600   $ 16,600   $ 15,900
Unrecognized tax benefits that would impact effective tax rate 2,000   2,000   2,000
Unrecognized tax benefits including income tax penalties and interest accrued in long term liabilities 2,600   2,600    
Unrecognized tax benefits, interest accrued 600   600    
Unrecognized Tax Benefits In Deferred Tax Assets 14,600   14,600    
Deferred Tax Assets, Valuation Allowance $ 64,200   $ 64,200   $ 64,200
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.24.3
NET INCOME (LOSS) PER SHARE - Calculation of Earnings Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
NET INCOME (LOSS) PER SHARE:        
Net income (loss) $ 2,206 $ (4,972) $ 3,518 $ 2,218
Basic weighted average shares outstanding 38,710 38,187 38,542 37,930
Effect of dilutive stock options, unvested restricted stock units, and shares of common stock expected to be issued under Employee Purchase Plan 395   486 1,047
Diluted weighted average shares outstanding 39,105 38,187 39,028 38,977
Basic $ 0.06 $ (0.13) $ 0.09 $ 0.06
Diluted $ 0.06 $ (0.13) $ 0.09 $ 0.06
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.24.3
NET INCOME (LOSS) PER SHARE - Anti-dilutive Securities (Details) - shares
shares in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Antidilutive securities excluded from EPS 1,078 1,452 740 223
Outstanding Options        
Antidilutive securities excluded from EPS   23    
Non-vested Restricted Stock Units        
Antidilutive securities excluded from EPS 1,078 1,391 740 223
Employee Stock Purchase Plan        
Antidilutive securities excluded from EPS   38    
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.24.3
CUSTOMER AND GEOGRAPHIC INFORMATION - Other (Details)
9 Months Ended
Sep. 30, 2024
CUSTOMER AND GEOGRAPHIC INFORMATION:  
Number of operating segments 1
Number of Reportable Segments 1
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.24.3
CUSTOMER AND GEOGRAPHIC INFORMATION - Revenue Percentage by Major Customers (Details) - Customer Concentration Risk
3 Months Ended 9 Months Ended 12 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Dec. 31, 2023
Revenue Benchmark | Customer A          
Revenues from External Customers and Long-Lived Assets [Line Items]          
Significant customer concentration (percentage) 19.00% 38.00% 21.00% 36.00%  
Revenue Benchmark | Customer B          
Revenues from External Customers and Long-Lived Assets [Line Items]          
Significant customer concentration (percentage)     12.00%    
Revenue Benchmark | Customer D          
Revenues from External Customers and Long-Lived Assets [Line Items]          
Significant customer concentration (percentage) 13.00%        
Accounts Receivable | Customer A          
Revenues from External Customers and Long-Lived Assets [Line Items]          
Significant customer concentration (percentage)     29.00%   39.00%
Accounts Receivable | Customer D          
Revenues from External Customers and Long-Lived Assets [Line Items]          
Significant customer concentration (percentage)     16.00%   11.00%
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.24.3
CUSTOMER AND GEOGRAPHIC INFORMATION - Revenues by Geographic Area (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Revenues from External Customers and Long-Lived Assets [Line Items]        
Revenues $ 46,409 $ 42,350 $ 129,380 $ 124,710
Geographic Concentration Risk | Revenue Benchmark        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Revenues $ 46,409 $ 42,350 $ 129,380 $ 124,710
Percentage of Revenues 100.00% 100.00% 100.00% 100.00%
Geographic Concentration Risk | Revenue Benchmark | United States        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Revenues $ 21,065 $ 24,477 $ 58,021 $ 70,090
Percentage of Revenues 45.00% 58.00% 45.00% 56.00%
Geographic Concentration Risk | Revenue Benchmark | China        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Revenues $ 5,673 $ 7,549 $ 17,526 $ 21,927
Percentage of Revenues 12.00% 18.00% 14.00% 18.00%
Geographic Concentration Risk | Revenue Benchmark | Taiwan        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Revenues $ 6,273 $ 1,296 $ 8,107 $ 4,660
Percentage of Revenues 14.00% 3.00% 6.00% 4.00%
Geographic Concentration Risk | Revenue Benchmark | JAPAN        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Revenues $ 6,275 $ 3,135 $ 25,495 $ 8,005
Percentage of Revenues 14.00% 7.00% 20.00% 6.00%
Geographic Concentration Risk | Revenue Benchmark | Rest of the World        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Revenues $ 7,123 $ 5,893 $ 20,231 $ 20,028
Percentage of Revenues 15.00% 14.00% 15.00% 16.00%
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.24.3
CUSTOMER AND GEOGRAPHIC INFORMATION - Long-lived Assets by Geographic Area (Details) - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
Revenues from External Customers and Long-Lived Assets [Line Items]    
Long-lived assets, net $ 57,904 $ 46,981
United States    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Long-lived assets, net 56,216 45,619
Rest of the World    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Long-lived assets, net $ 1,688 $ 1,362
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.24.3
FAIR VALUE MEASUREMENTS - Assets Measured on a Recurring Basis (Details) - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
U.S. Government securities (1) $ 23,724 $ 36,544
Convertible note receivable (available-for-sale debt security) (2) 2,013  
Assets measured at fair value, total 106,567 120,354
Quoted Prices in Active Markets for Identical Assets (level 1)    
U.S. Government securities (1) 23,724 36,544
Assets measured at fair value, total 104,554 120,354
Significant Unobservable Inputs (level 3)    
Convertible note receivable (available-for-sale debt security) (2) 2,013  
Assets measured at fair value, total 2,013  
Money Market Mutual Funds    
Cash equivalents 80,830 83,810
Money Market Mutual Funds | Quoted Prices in Active Markets for Identical Assets (level 1)    
Cash equivalents $ 80,830 $ 83,810
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.24.3
FAIR VALUE MEASUREMENTS - Other (Details)
$ in Millions
9 Months Ended
Sep. 30, 2024
USD ($)
Convertible note interest rate 5.00%
Other Non-current Assets  
Convertible note receivable $ 2.0
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.24.3
COMMITMENTS AND CONTINGENCIES (Details)
$ in Thousands
9 Months Ended
Sep. 30, 2024
USD ($)
Future Lease payments $ 6,230
Indemnifications  
Term of Product Warranty 90 days
Purchase Obligations  
Purchase Obligation, Total $ 34,100
Period over which the majority of purchase obligations become due 9 months
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.24.3
STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS (Details) - Advantest America, Inc. - USD ($)
$ in Millions
1 Months Ended 3 Months Ended 9 Months Ended
Jul. 31, 2020
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Dec. 31, 2023
Analytics            
Related party revenue   $ 3.3 $ 2.6 $ 9.2 $ 6.2  
Related party deferred revenue   $ 11.8   $ 11.8   $ 9.4
Securities Purchase Agreement            
Common stock shares issued 3,306,924          
Proceeds from Issuance of Common Stock $ 65.2          
Term of cloud-based subscription for Extension analytics software 5 years          
EXCEL 73 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( -."9UD'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 " #3@F=9-O#'7^X K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M2@,Q$(=?17+?G4TJ%<(VEXHG!<&"XBTDTS:X^4,RLMNW=W=MMX@^@,?,_/+- M-S"M2=+$C,\Y)LSDL-P,O@M%FK1A1Z(D 8HYHM>E'A-A;.YC]IK&9SY TN9# M'Q!$TZS!(VFK2<,$K-)"9*JU1IJ,FF(^XZU9\.DS=S/,&L ./08JP&L.3$T3 MTVGH6K@")AAA]N6[@'8ASM4_L7,'V#DY%+>D^KZO^]6<&W?@\/;T^#*O6[E0 M2 >#XZ_B))T2;MAE\NMJ>[][8$HTXK;BO&KN=H)+(:18OT^N/_RNPCY:MW?_ MV/@BJ%KX=1?J"U!+ P04 " #3@F=9F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M -."9UF[J?1+W 4 /\> 8 >&PO=V]R:W-H965T&UL MM9EK<^(V%(;_BH9V.NU,")8,@6P39@A)6J;9A W9=K;?%%N 9VV+E64(_?4] MLL%.4OF8>I8OX-MYK5='E\?2Q4:JK\E2"$U>HC!.+EM+K5=B =Q:WB179NJX85,=1C$8JI(DD81 M5]LK$@\52FPN=X<6*+\1,Z,^KJ8*S3J'B!Y&(DT#&1(GY96M$ M/XQ=9@*R)_X,Q"9Y=4R,E69WL3/4,WJ>#)/L MEVSR9[O=%O'21,MH%PPEB((X_^"Z%0%L%\#>!="J-[B[ #*+DARCP-:N8@JYLL&MP$L4GC3"NX&T"<'EY++X6L:#**?7(3ZT!O MR23.FX>IYC9)EER)Y**CX6TFIN/ME*]R95:A?$X^RE@O$U#UA?\VO@.E+(K* M]D6]8JC@3*Q.B>N<$.:PKJ4\8SS\7JY/B4-MX6^*XQ8UYV9Z;EW-<6O-V2HL M%^S:!4V'_9"LN"NYAZZ?UINQ(V MIW@X==J?;);0J(:6>H6EWF&6/J5<::'"+7D4*ZFTS1XNI55JJY0Q&M70WEEA M[^PP>U.A FD:K$]@P+ F#U M)M9$HF$-#0X*@X.:ZO=2!;Y$0D:>)K=!*,A]&CT+93.(:SF.TW:I2ZG-)!K: MT.1Y8?(<+=AN.'T4BR#1D$A-[GED;:NXSO3ZELP>[CX_31[N9R=Y\2;WXU.; M7U2IH5_JE-.PQ)!:TUFT).R$Q#%R52D;%,8ZVV\.];JZ%&_?K&YA@/ M:FKY%7G00RP_\1F_8=ZIY96S0>W-0O*_VR0_R. M?!_4DY/] ;F#Y\A#;,\K+LD&O0&Y%N2.D[%*_R%7X=JW-FY<_I.5:GQV G6L(3Q9DG:Z\C M^$RN-H8+=)V!U=8Q4(F6K$1QP+F3'N1KNI0QQA U(FS@M/OGCCUMQR E6J(2 MQ?GF*=! 1W).*/OY^1>R0Z>MU22N-)91!!/33$OOZPGYT3D%=**]O*@KKLB: MAW;FQW6;UD#)410'(*!@/X@79+:-GF5H-5Y+4#.KKV/@$BMQB>% LT\EN7GQ MECQ>B$I K!&Z'\VN1]:/43RPJ<.2CMA!=#1.E3*?,_DW3)9*F$Y2ZWI,C>(7 MZRK.&(]JZK.D(G80%4UB^.;.U_3,=RG?&[?ZQ!6K?!X#@5B)0.P@!#+?:X#S M0 0+J:PC48W.'5?0VD>>)T (9/Q B%$*Q[;4XL+5AL]!OVPDGX8#B_[ M1"X%)!*SA\M4VSL&!;&2@A@.,/N1]LT4/\M6ON@.^GTV..M>=-8VCR4),9Q?]AYA1%6 ?)/8%R_D#V%/8^VB$:7, M.:?V-?AC\ XK>8?AN#**1.QGZW^W(;>G#!>H;J3' !ZW!!X7YY0]!]P&B6'V M+P*@$UO#K9%KMREKN]95$CRRJ=&2>UR<4HH%W)W3W7KU+5RV3AXU&PO=V]R:W-H965T&ULK5EM<]LV$OXKIZ\W($0'P-;4U MX\B^:V92QU.YO0^=^P!3D,4)2:@ *-OWZ[N@7B@1(.3,Y4-BDMI=/KO8Q;,+ M7CX+^56M.-?HI2IK=35::;W^,)FH?,4KIMZ+-:_AEZ60%=-P*Y\F:BTY6[1* M53DA01!/*E;4H^EE^^Q>3B]%H\NBYO<2J::JF'S]R$OQ?#7"H_V#WXJGE38/ M)M/+-7OBJ$#62?'DUNL8?9C0R"JW$'P5_5D?7R+CR M*,17<_-I<34*#")>\EP;$PS^;/B,EZ6Q!#C^VAD='=YI%(^O]];_U3H/SCPR MQ6>B_$^QT*NK43I""[YD3:E_$\^_\)U#+WR%JW;IAFTTLIGI$TTF#-7+2Q:;7! MFZ(VRSC7$GXM0$]/9U_N;F[OYKW# M'%V@W^-^GZA/P_. ^.;A/6GMTP-ZU4ERK,9HU4O):HS^O'Y66 MD%O_=;FVM16Z;9F"^Z#6+.=7(Z@HQ>6&CZ8__H#CX&>7H]_)V(G;]. V]5F? MSIA:(5A E)L+_E=3;%@)_CL7=&LJ;DV976$SS>*0I)>3S;$[#JDT2SJI$YSA M 6?HQ3E?":DO-)<5I-V&*UT-@=S:B8Y>3VAB,NP$I"U%XR@,W2"C \C("_(Z MST4#L&!7RSD$\K'D8U3##BR6B)6P3[(ZYPAV7)1+OB@T*@5DG3(_OTNS +'V M$@I#\^J1RT-UM L$";][ZDSZK?.1Y588QW%_A1Q2818,.!\?G(^]SM]+OF;% M O$7(!;CE0$M] H0Y[N:8FV-N7#']J*%41+U<-M2. D)<>-.#K@3+^X'H5GY M!HB)_?(,TZR/T266I.% ^J<'D.F9X )=2_W:!M54Z=KD?YM<+JRI(PT"G/6@ MVE(TH70 :79 FGF1?@&<3!?U$RHYD"J2ACTOQ/*B@1NVVV0'8&1<_':&3A!03&D?J$,LBDDP +1C4.QE*J#D)8-A/>=N"W^Y,M:@OSI?^SN!II1 K,QUB."-XH*!P1WW8SWU;P!YX#C(+ M$AI9">J@QBS =*AX.MK#D;=W^ERPQZ(L=,'?W$!A+Y-^:P?UO:R=^M\Q'_93 MWX'WU^S5D+[389N\DBCHMR4.*1+%>&"!.HK#?HX#@+*!PLQ%9\V4QD%X.2J/ ?7WH#K$P#89VE8[YL)_Z]MCM=J+LTLZ)V^:W.,)6 MT;JX\FC+/$7=L2#^-AH\P@HSU-Z#-32UL!1.]#;/X22(^^@=4M$0Y9".#8F? M#0\[N>0;7C=OQ4QL!B1I8@T(+C%H]@8RA71$2?Q$^1'X&R*NS&#*7W*NVG8: M>G'Q5!?_._+&B=TF12O%'3+ 1T.XCR9//V^>=J!GLIK8G!@E">VGM4LL2,.! MO"8=>1(_>7X6]=-^#(/=A!NN'P!JLR%)TS[%NZ2R9*"E)QUE$C]EWAWQ^BYA M32Z(X:ITNN @UC2Q0FU+A?%0FT(Z4B7^8?*+U:"<0VN/=22T&,8EE0SU**2C M0.*GP&T.GT-HLQL,IVG2A^@0PS@;JK..!4GB;5/F6N1?5Z)<<*G^@6YABM*O M8W37M%.U&;Q73)H.YIY)] 2'[N9,C+Q-]\-/2=K)U& MK.->(@U>B6DV6VA]1?[ MIX52!PIOM()Y9@%%Z R?%Y#;8>2,W/]OZ#1H'?43/_7/1%7!=N.)6!*X0_9S M+UY1,(;Z:,,69N,$_@&%J35O#[S+UX/X44P13<=)3%L=N"1I3\<9<[N)Z/<9 M7I'3@\>NR:#^)N-ZL2C,Q@S[QKTY. +6GK%U ?N(\^S1;AK"+"91__S%)9=0 MZ& !AE)%^9ST@;WAZD.H';[<4%(1'IXW:)T72 PVG7 MAM"W3.[JA'=XRSM.L([Y' @\[E.X2PX*/1RJR*[EH/Z6PR+Q-JO?##^R#OZ= MQQ ..>Y:6?2 M6+;!0 X\0X!..Y.F3$E[GQ6S8$ULRR?)T-ZOOY7MN#8QD+3W!4OVOJMGEY6T MX[V0CRH"T.1[$J=J8D5:9]>VK<(($J:N1 8I?MD(F3"-4[FU52:!K0M1$MLN MI;Z=,)Y:P;AXMY3!6.0ZYBDL)5%YDC#YXP9BL9]8CO7TX@O?1MJ\L(-QQK:P M OTU6TJ*6!6_9%_94HN$N=(BJ<1(D/"T?++O52(: J=W1.!6 M O>E J\2>$6@)5D1UIQI%HREV!-IK-&;&12Y*=08#4_-W[C2$K]RU.E@]OEN MOKA;+>8$1ZO/MQ_GTWNS!5E]6"SN5^3-DDE(=02:ARQ6;\D[\G4U M)V\NWA(5X2=%>$KN(Y$KEJ[5);EHS<>V1E*SGAU65#J*LG3;ZW9K=NBURE@($PNW MH *Y ROX\P_'IW]UQ?P_.6MEP*LSX)WR'DS#4.2I5KAS0^ []A##)6$Q'@(L M#8'@<4)""6NN22R4@LZ_O%S!+U8PI\LN&([HV-XU8SQMTT+OU>B]D^A+/!= M(AS!S10^7I*,2;)C<0Y=D*6O00. 7E%*G?X!Z'F[%FR_ANV_#K;:7BS7D9#\ M7UAW09<^^PV8/K(<$)\Q:N'Z-:[_2[A: MTG@^\73;13HX2WK*HD4ZK$F')TEG(DGP:GM)G0Y?6*?G[5JDHYIT] K2%Q7I MZ%FV!O1YE9ZS:M$Z].[Q**V_MS>+[PP/8#K/>:- ;':%MW,G.ZVG/ ME&OELLGB#0>^=XC<9>8.CR'_O"&=D]=/<(\]I,KECR?HL JA8._D=9^!.,Z( M'M9OIUG//RP(N]$!F?;S$Y-;GBH2PP9U]&J #F39T943+;*B*7H0&ENL8AAA M%PS2&.#WC1#Z:6+ZK+JO#OX#4$L#!!0 ( -."9UG!LA]%?P< &$F 8 M >&PO=V]R:W-H965T&ULK5IK;^.V$OTKA&]1[ ))+%(/ M2VEB(+&TZ *[FR!.6UP4_<#8C*U;/5R13K+]]7?TB&518SII]26QY,-#G9DA M>4CKXCDO_I1K(11Y29-,7H[62FW.QV.Y6(N4R[-\(S+XYC$O4J[@LEB-Y:80 M?%DU2I,QLRQOG/(X&TTOJGNWQ?0BWZHDSL1M0>0V37GQ_5HD^?/EB(Y>;]S% MJ[4J;XRG%QN^$G.A?MG<%G UWK$LXU1D,LXS4HC'R]$5/8]LJVQ0(7Z-Q;/< M^TQ**0]Y_F=Y\7EY.;+*)Q*)6*B2@L._)S$325(RP7/\U9".=GV6#?<_O[)_ MJL2#F G*:!\]8>W*9!)7U< M:Z\"%W+%IQ=%_DR*$@ULY8_CW-?IV/R:%D"3.R/TZWTJ>+>4)^:%S?3%6\*AEA^-%\UC7]6.Q X]EDZ]YIM:21-E2 M+)'VH;E]8&@_AA#MXL1>XW3-C(1SL3DCMG5"F,4_1/^Z] M$PQ[5S1VQ66XIK$P4G*&?!<;OA"7(Y@BI.B M>!*CZ8__H9[U$Q;?(U;Y< M-9ZFCN=8P<7X:3^Z"(K9KM5%A7T498'M:[ (@SD3VL(Z4MV=5-=8=+-<*DE@ M.B'1"RR3\FCYN4.6WY!DX9!DT4!DG9QXNYQXQO*K [6@4B M*(?Y3*O /LKVF6-K!8BA7-?%ZV^RTSHQ:KV#Z/%BL:Y*< EZDWP#CDEADB=] M,;9+/4TRAJ)4$Q/V479 '6T 1PC*A_CADOV=9-\H>0[^+#Y/O]X7Y5J!G'$&Y'J6:_#[*M7Q70T5]E.-9C.'R@YW\P"C_ M*LT+%?_-*T<+1K>*'1! NI5!HV0=]>8%> 7V,O9>S.@!] MS(1JH8SZF& 2X.*IU3I#RRC_CCW(F MS#L0#=9&@[TE&F\7SI!2<)@^&V P#W:[NG2,S?4GNG8$QF#B.""^-;[4Z.:F MWV#K'N^7 ZK8[G7.F*YDAJ!.G6"BKW@(#)827]>+=4D/R6W=)76,GNNF&O6S M/ 7OL"Y/!YX$>1T-7TKY)Z2,",R-]_SEA-R6\R7,E5=*%?'#5O%RAE0YN84= M8J9.R%4",TI6+1M'O!LUVM[WFK=!V<)!V:*AV+H9;DTU-?K#Z2>8R^)51A;; M G*T^$X@)YE,ZC6/+_^WE:HT.;*:Z@JOD3CY.R MQ$]A03B5'&I]*1X4D0*"&:M8' ]:WZCJR_\,P9RZ>L0PBZT'#.GK0+1:1TS- MEKC>?=;68-&9),I@H8H1SVM9MJZYCX(ZF>BJ49>MRT:HO,GD@/+6&%.S,^Y. MB?6*@.KU>WMAF_5VWPBJ'!>!+A@A\]S>R.BCJ.O0 XI;+TP#XU*PM_)M(-W5 MJ=\Y*MEHJM\]=0_)%@[*%@W%UCV0;/TY,_OS:R[C!9:!IIV_5P'66<]_(*A3 MZZRW_<3)].WGL2Z[$EOGSC\BN1,]%^19@C,#IR@-PGT8911F^E'/1B.LL ]- VT'I^9/7YY M_KDJJMW>?V.1+,D=3S>H;B//NTMP2+9P4+9H*+9N1MH]"#/O0=XZ)0RZ QF4 M+1R4+1J*K?L60+L#LJ^]_$13S]8UMB*!\J[?]Q7JDDSU8 MK76\]\I,*HI5]:Z2!.N]S53](L3N[NY]J*OJ+2#M_C4]GU'D?DC/H_IMIY:^ M?OGJ*R]6<29)(AZA*^ML NML4;_/5%^H?%.]L/.0*Y6GU<>UX$M1E #X_C'/ MU>M%V<'NK;+I_P%02P,$% @ TX)G67!'1'ZW#P ,Z< !@ !X;"]W M;W)KY:6>JF@3!/^K9GFDD M LU=V^3BM#?WDI492Q-9\DETG'[[HV1%,(#5,K ?QWD36P[X+ 0L0."'!7!R MNUR]7T^;IHT^7LT7Z].C:=M>_WA\O)Y,FZMZ_A6M;ZZNZM5?+YKY M\O;T*#GZ](O5]VGX[W*Q>RJ6:QGRT6T:MZ= M'OV4_*C+;// -L4?L^9V?>_W:/-5_EPNWV\^O+PX/8HW.6KFS:3=2-3=CP_- MJ)G/-TI=/OZW$SW:V]P\>/_W3^IJ^^6[+_-GO6Y&R_E_9A?M]/2H/(HNFG?U MS;Q]L[S]N=E]H6T&)\OY>OMO=+M+&Q]%DYMUN[S:/=SEX&JVN/M9?]P5Q+T' MDO3 V+W@' >$,6!!]+= ZEK(3OP@-P](%T+A[Y#MGL@KKK_G77/ MM6>C5[^-J]_.JW'4_7;^ZI>7XY_>=A_.WW8_?JU^>WL>O5+=IU>C?_W\ZI=Q M]>8\JO[]^\NW_XT&T>_GX^C;;[Z+UM-ZU:RCV2)Z.UW>K.O%Q?K[Z!OK\\EQ MV^5U8_%XLLO7B[M\B4/Y6EY==9YZWBXG[XFG1_S3/UU7L^CU_7L8M#E M951?S]IZ3FB->:VW70M?WZS^.IB7JB-)>S MQ6*VN(Q>U/-Z,>F\H6Z[+SOY(4J3[R,1"T%YP)UHOA7==)D?SO*3XP_W:]E/ M(64AD\Q.-O:3#9(T+>*AG:ZBTL5)DL5V.D6D$YF;2ONI1!+'B=@GL\HRW9=E M&EJ6W]ZUL.\^JU#OU+-[N4H+F29.P;)YV+S^?EQ?UY/F]*CSL76S^M _X-J/[[))$E*X10^TJ1"BFF0F%7=LO;9SJ+PLBO<802;N=#. BE6(<444DR#Q"QW*??N4K+N M\D>S;C=#R\X#.O%V-9ML)A1W'G.SF+6\0Y2^0Y3NB)VU'^H12+$**::08AHD M9GG$<.\10]8C7N_&#NN-3[2?IKH'^Y"V_KC]9;J<7W2.U#VUB#XP3E7?UBMZ M^L]F*_0E@Q0;#_W9G^RFB50NN8Z3:&*I6[=2LZ4'FS)04D4CDA0,FB42Y.( E$\,E$QY,5HL+ ME_#^6J_V,#(E:R_M1;R)3P]E)M.X+S5(TJ),8K>3]04'21P70Z\LB81" ME*E;FGXRD:12')BY)8;\)3SZ8\)HDJ0NCJ^@ M1A543:/4[#HWD"_A*=\#5TIVJFP[\MD>N59"2-&+)80@O5I")2262XADW'I) M8@!8PA.PQZZ8) 27(99,^%P$-R7?*+5H C6JH&H:I697NR%?"8^^0@<22(@S M@JJ-H6H55$U!U73B0\4DDX?FI@9K)3S7(L8FY\UUU^QCY@U:]O>I/O&2>9'& MWJ3 EQHD,LW*PFW.ON!@6 Y3X7:I1+I4"&^@1Q YD63YH4&Z@4()3X6XH4E_ MP?H (BV%"_U'?!:"FY!O-$FD]%YJ4&P#5=,H-3N$P_ =P?,=>FC2.Q#=J;)1 M'#X;(8?XA!0]Q"<$Z2$^E9 8XA/)N"&^,%1#\%2C9VC27[C^')P:Y?.Y"&U* MA%%JE \UJJ!J&J5F5_N]<"B><3S!FBQO,73X(GQ"X+ZKQE"+%51-0=4T7QJV M#QA<(GA<\I0KL\)'$EZ7 (WP@JI54#4%5=,H-=MK#!,2/!-ZW *MH*"0ZQA0 M(@15JZ!J"JJF46JV8QAP)'AP]&SKM'R^@E\\T/ R0; LF9?N0 4:. 95TX)@ M9_>_@>TM!HD)'HD]_UHMG\%@MX&R-T&Q-]=IH. -JJ91:K9S&? F>/#VD*5: M7C+8'7R*)/.B= >P4*H&55-0-=U7'G9%&ZHF>*H62%AYM> ZAD:20=4JX7.W MO$P]^$!!/'>:I2DM*0_5G2%X(HS@U6WTSYL%#^Z$'_GD32M\S":S85P(M^T1 M051)6@JWD5:$X&"8#G-O2PZ13N2%MR?'3R:$3.ZELS?E&#J6\G2,(Z*]!9OZ M?"DMRL*!DR,^"\&[%,XLE* MAD8C0=7&.S6K.1;2#4^#VE10-9WZ4-+Z!G85&U*7\J3N M-QU=@.84A;RI.V+[+?+B4"IH2[$,IG-+B?@!(YJ)J"JFF4FNU ALBEP V; MG[?(PUL,[DA\MN32X#'48@554U US9>&[0.&LZ5/NOF2[SM\2B7/E_!;QXHNTN)Z#J9Y1[(@&[PA*KIE$"!UE>P_<50OO0KV+W)]T;0 M?9Q0M7%*Q 3&WK$TT(A J)I&J=DGTQCF*7GF^9"%'EXRU!^DSS#SV$688ZC- M"JJFH&JZKSSLBC:@4_*@,W"AAU<+KF,HZ82J59*@CG+HKG8H*EF6N2L]="IQ M@&1(PS ESS ?$OPN^\]>DSYP)(/?"2DZ^)T0)(/?J71$\#N1C M^EP85RK"- MCD'![Y(X?XT(?N>S$.STU EL?O [U*B"JFF4FEWG]TYAXVE@_[X\NK9E?S/R M$: L4N&&JH\)J4TS&@IWE880[)I1[+J8HM()?_V92"9$.92'7BJ&C\G@K8Z' MMN7194L F[++F5N^T(@RPFC7DMSI=04UJJ!J&J5F5[M!8I)'8F&+IKQ8\% " MRL-V:E:+S,NAUZM"01=434N?(=I?P:YD0[ D3[ >N&PJ?70U$.Z,;,3;#JY% M I=YDT"H2055TR@UNZH-DI(\DGK2 TJAU$GZD"49)MYD$1H)!E534#7=5QZV M0QCF)'GF]$463J6/;@KI]A-06 15JZ!J"JJF46KV,;>&*F4\57J"=5/>8F@_ MDA&[0=W1.M1B!5534#7-EX;M P8X93QP>LIUTXS8ONJ><0Q%3E"U"JJFH&H: MI69[C0%=&0^Z'K=NFA&\R#ODA<]!L&= M]!"U1143:/4;,\PR"[CD=VSK9OR M^0I^\T"I8$:?]V4SV"PXT!# M"#,B:C%Q-VY 32JHFD:IV=YU[R8'GGP^9-V4EPSV!Q]CYDGFKMQ ;590-055 MTWWE85>T89T9SSH#UTUYM> ZAL).J%J5$=PQ'3HK&8I*E4F'S6DJU3 ]- 4Q M"#/C$6;/<::2K,"B=[DG([9BEDDZC-VVYTL-.H_,75Y5$8*#82G3TBU,BJT. MQ= M30*'BDPFAVZO,9PP"SN"[= Y1W3!^J@J+3V'&?%9"'9Y@H\E1>FN]4"- M*JB:1JG9=6Y08,:CP >NFF;]^TPS8I\IM6I*2-&KIH0@N6I*I2-638EDW*II M;NA8'GP*6]"J:4YL-2563?E8&:BDJ73?F<,=Y1#(A8WDHGBLW<"C'Q'/1!4O%JW<DZ $^ M(4@.\*ETQ "?2,8-\'-#-?)'Q7/UERT5S^6/\?EBC*$6*ZB:@JIIOC1L'S"L)'^^6R9S IBX70(T M( RJ5D'5%%1-H]1LKS%$*'_*RR9S @EYC@'E05"U"JJFH&H:I68[AL%&^5>P M:Y'T*>AF1:C:.*>NG?3.,H7:5% UG5,73QXZR[0P1*SXVN^=Y#,8ZC90M7%! MW3OI. W4HH*J:92:[5R&NQ7X:R=YR6!W\"%25N3N>8I0FQ5434'5=%]YV!5M MH%H!O7:25PNN8VA4&52M*GSLEA0N:E)$JH%WEJ2FM-+BP&Z3P@"\(OCFR?M' M;I*TH>B_>;(@;IXL"Y&X1ZT14H,DRV+W;MB*$!P,\\*]!EA1Z5(/Q&HBF4A% M<@@P%P:.%3P<^]RS3.F"]?E26OJWY?%9"'9Y*B*I<-E1!36JH&H:I6;7N:%W M!?"TLL!M/+SIX,[21W:=T[M$!VJS@JHIJ)KN*P_;(0S7*X!<[Z';> J?1KE7 M7([X? ;W%%#2!U534#6-4K/]QS#!XDF9(.DMT$L""BK2R>U%H"P0JJ:@:IHO M#=L'#.$K@'M# [EP0=QMZ?8<4/P'5:N@:@JJIE%JMM<8_%?P^.]Q7+@@(J]D MZ7H&%,U!U2JHFH*J:92:Y1FE07WE5X#Z**?B\Q7ZYH&JC4OB5M1TZ*Z%5%"C M"JJF2^(:5NLKV/YBZ%W)T[OG1\-\!H,=!QJ(5U+WN+HG7T!-*JB:1JG9WF60 M8P85XRV!]\GI:7WE08:K."JBFHFNXK#[NB#5\L>;X8R(9YM> ZAD8. M0M6JDB"0(G8XJB)2)7'LWK%-I$I%?( -EX9EEF$L\W-B.LO^*#\B"1DL2Z2C M@V6IA%2P+)6.")8EDG'!LJ7AA"7/"1\5+%M2(7Y^L"R?A6"7IT+\_&!9J%$% M5=,HM;LZ/UY/FZ8=UVU]=G)=7S:_UJO+63?;GC?O.OGXAPU07,TNI_L/[?+Z M]*A[U_ZY;-OEU?;7:5-?-*M-@N[_WRV7[:DF -&FQ =HFJ-O;#X?[P,BTK:M>7)'* MR_[Z'5*V*4L4'6]]7Q))'E(SG.$\SXQX]EA6/\2*\JP0YZ.5E.MWDXE( M5CQGXFVYY@7\LBBKG$FXK983L:XXF^M!>3;!GA=.RNNC@K:YFE M!;^KD*CSG%7/[WE6/IZ/_-'VP==TN9+JP>3B;,V6?,;E]_5=!7>3W2SS-.>% M2,L"57QQ/KKTWUT%5 W0$O].^:-H72-ERGU9_E W-_/SD:OS<3#K:O5,-;%]O9_^HC0=C[IG@5V7V1SJ7J_-1-$)SOF!U)K^6 MC[_SC4&!FB\I,Z'_HL>-K#="22UDF6\&@P9Y6C3_V=-F(5H#8![[ +P9@+L# MZ, LAE M*&-9MJL:R;9Q5E5/J)*2<-LZD*OC1X-UJ2%_;]Z,!]X8^>$,[Y^BXCW!F$/4XL^5R\?3ASJD-W*$CT?&9CO"^S!*R96 MZ*XJ'U(P$=T_HU??!5RDQ6MTN^85DVFQ1)C;O MH_;WJ?W^3JQ9PL]'L*$%KQ[XZ.*?__!#[U^VQ3C19'M+0W=+0UVSZZ5)BZ3, MN\+8=P2VE,KV*D5.#UV.?\?;#C(45*\05_* M(E'>NY$\AUM9HJ\\@6=IQI'2_T;KCUY]*H5XK7X^K:^#4_KZ1)/M+6JX6]30 MZ>MK#I,F*6N2=C%'+"\KF?ZI']@L;Z8+VIZ-XJ#C_KX0F4X'W#_=:3IU:CJ3 M9?)CK#!ACL"W )2BT9H_J6MKK$Y[>OA10+V.MA:I( A]N[K13MW(J>YE:QU1 MN0! _%FGE8XXR8IE>@^!RH3@TIJ;H_XJTS#LZ&T1"H/8KG:\4SL^2NVD%%*@ MA*U3R;+T3] ?]E)Y+X&! $UXX$7-0:;0.\5J2=Q?W)CZ'4LL0C2F=DM\SV"G M=S"/L22I^-:8>2J2LH;\@>!>K,#2L>15#BYYX)O,8@5*KZ?>V,Z1M05TL:U:Q0G+P!&2#=%ZSS!%'F[GW=*)1-UO;I(*!^/>Q41P? M2"T+7JF(E^R)V[7#_?>2;BZQ"%$RH)L!?]\)H!>W7/U6G$XK6H;H[2S=:[^E++[---X]4:CGANT?"?L M'XM:IYIM?[4,&?"=L*BV1;.5 ;YX^L @GUIM#BQ[=]H*H(TQ?3$?H&+ I09< M?3>ZWE5\S=+Y%J(:KY7:H4D->Z.0KKW;1]%Q%)%N[K2)33TR@+:^@5O?C;&K7$!OTQ&[T5+A3 M=[F6BM^*9TPJ#LT+ODCMJXMMD!EZW<6UB06$X@'=#6;BPYBI=#?;+3.ITJJO M!0']+M^R")%X (JP@4G\0ICRKIHU4+E*L(SKS?7RX@3WD121Y ]XVD(O=D'M75\F*B:.U MMJ J)5Y NVI;Y C&P9#>!G^Q&W^W>CUJMP3'MWWMO& H>U.# T@ M;AIPU_+,?2W@5R QNB4G4D5LWZ "8$OE H5UL"QU M A$K5H$M7,J,ZWP#SE"Y7J7]1U;9O\,2"Y^(_+A;?=K$8G]HEU%#%*B;*'SE MZW;.AW(_5]UQY0_KYS]+R1Y&<;>>LXE-A^")&FY W=Q@E]8+&+)4=0RW'47.L/$@WT #O0 M%RIL'H"U#1!HVH?_WC:PR(RGX9 /#$6@;HJ@?="8D!ZKM07=<1!TJ;--#&J5 M 8I&6]^UW2S@:DA7Q"2ZY\NT*%0D*;;&J[2TXC_M(W8MUDQI9UF#[QPSF MN"F:$T^JQ>A&<'I2!#_5;/NK81"D8M);T7=E'<(D6"<*!510V,4S>,&]65JBQOFMF@LK!(@8<&##1@3V,W^=P>,#%4&3:7X9SZX,FA8#U1"V!CZ/^C MH1 8GA <;"A8"MC-Y[=-KYUM^NZI.@"X_X%C[_<7]^6#/HV@TVDWQBU2@Q] M L,U@@,?$>8/X&O>T+UV*;](GY0-S7=8\'XA-AU\36G7FV]^V]_+(TK_H,\^ MHBZSLLBT3H;LVVKH2>"F)XXV.6(5%,GPB[:N.?JA;E_X/3#HDY"PU_UW:_=W M0]LPFN! T\,>VFW7@AMU\622KM7WF0CW<_4ZSD6H?CPL];Z ^"0R] M"=ST9O"$5/OX#@.'PIZL=$)6.5J=\#FN01583O>1+OETZWJL2R>M([0YKY;Z M9+% .L4T1U!W3W>GER_UF=W.\_?^NZOF#+*9ICD2_9E50 %^'8!4WIOI^#$ MJCEEW-S(5$H#?%V4IMS?J!;NSWA=_ 5!+ P04 M" #3@F=9+C6=] $) "X& & 'AL+W=O/D(D)"$A 18 )>M^ M?9]=@!3=R$Y[36?N2RP2V,6^//OL@CG96/?9KY0*XJ$LC#_MK4*HW@Z'/ENI M4OJ!K93!RL*Z4@8\NN705T[)G(7*8C@>C7X8EE*;WMD)O[MQ9R>V#H4VZL8) M7Y>E=-MS5=C-:>^PU[RXUICFI[T1&:0*E072(/%GK2Y449 BF/%+ MTMEKCR3![N]&^WOV';[,I5<7MOB7SL/JM/>F)W*UD'41;NWF;RKY\XKT9;;P M_*_8Q+VO1SV1U3[8,@G#@E*;^%<^I#AT!-X\)3!. F.V.Q[$5E[*(,].G-T( M1[NAC7ZPJRP-X[2AI,R"PZJ&7#@[G\RF,_'QO;BYO9I=7=]-[J8?K\7D^E+, M[C]\F-S^A]9FTY^NI^^G%Y/K.S&YN/AX?WTWO?Y)W'S\Q_1B>C4[&0980OJ& M63KU/)XZ?N+4'\4':\+*BRN3J_RQ_! >M&Z,&S?.Q\\JG*EJ((Y&?3$>C8^? MT7?4AN6(]1W]A6%YNR\N\=CC_<=2!;[UE!3H,*WZN32!/*P?MNJ)H+I51C@_$NJI"E"6W[PW# M8$;:.Y.XA8)VRI P0&WP!.:"K4X;V<9]]'LG^?2N(+#]&T&!9,&PT)JN.?,YPDR- MML%VHR2L9$ $MHB^4 \50D01I-ACE_O"J&3KHD:<%L 8O-\JZ:*)! O MWWDQB17R98'^O4T9N2X4]4IQB6B7;E45M'MB-@39?S[W.-5!")+> #2RC"HVA M)O(*U%!5L($IOQBX"F*!&-;@I/$R$MR? 4)2*N+4*]F!/6%=886I(H?:-47$ MV?(/HF%>!Y%;YL;0!H^\[/*F4[_4.O69;\5T W'ON0:OP"0E+U+ (LFV\7XB MQ^08\;T.VV_,O\E5W^%"HJ]2?@866DLIV=+CGE"E9D;<(1<+D$;B%"H5'"#+ M%H'8KU+Y%5K.=<']M,_[=\&FG7"./&&ZW"LD9#R&\MJ ^\E:?\H>I];*U,D9 M(CS@T(N\=DV[CD(<4N:\@9CII=$+A F6[8(10XID_B]UFJR@SF&AG,(90]+H MST7M%5@6_J]CJBI''2#$.J9T59PEKFI,76:IYQ@78N3ZL=VL95''T()XUA#F M+3P?X&"EUY*>^X]R6LIZ/^V0,<]33DJL2 ?FJPW(]7EW<3O9BK&W@[N M9$BA)-72O-!+F>8_W,NRSP=T':1LE)3=>%;*=#_%"VN*ST1'B:-4.^6U,,SP M9B F6:BYQ<=VF7%;RC5 [QKBL?ZW14+]-$I0*.F](R H+A5/76!?P_FRP_-( MU^*HLIZ1,D!/RBC>DUT\4-(FEPX=>FK$M5U'THR$26>];[7L%3JW^--&_OUD M=MY.S!AT:T1SK]A]Q;78R$UF]ZW8M1WP\0G&' 2P3XS>C MEV_%M 2XUZE$0#MQ&X.SD;S<\7(?'4QGJQUG/:81)->Q*JJ\)-T=DWE2;L;? M5#W$D93$^&M,^]0!UIJ8WCFXZ[9-JK#5TVCZBIOYB>B M;4#B#ZDZ[J<+2O(7TXNSODJ6R:HJ>+8C5%EN8N@%,/>+.;+I ON8:2"N)%U' M9&Z9",A[*.C.W\T<@14:=R&%_8HX)H*69UALR4)#SD9MZ @&2P/ZWS>I.57P MADX['O"5;G3TCA#>AJB#<("V!2O2MP/@CWPOI(J_DP^(7\+>Z^-]V-OM[&+N M,2PHJ3STT109Y=D$'H3HLF2R;8)BPS/=N6*^3;GD0CA\*=+-@I"*1*JE=0T9 M+<&7! F(RR4>EBUS=B&=\NID)':+D*)MMI?"%^.7'5.@&82==U7&$><3>J#' M-2%2S!2MI?#ME(R/IZ,0,948@^FOHY*N,(]K MKZI!\QGF-J]9+[;%F2!>@KB8&\!_M9X ]D:<3FIQ3JZH71FP.RU^Z:#$<^F\ MO>CEF8BOLS1:;C'(\JR:@ D=W&#E6NJ""8[4TB*UUT%B3S'I5*'2'/!J5_)T M]W2/6:#8]A_-^K$%)R<2< D-734[POL_J.T/N[F3YGO,1UIM*&#LO.-^1_?8 M&,9'7QR8M*U*J095QM5PIUE51>R@:_UZL1L:B4S>JG(3Z:3 MR?E)(75Y]/PI77M?/W]:M4VN2_6^%J8M"EG?OU!YM7MV='KD+GS0JW6#%TZ> M/]W(E;I5S0^;]S5\._%0,EVHTNBJ%+5:/CNZ/GW\8H[/TP,_:K4ST6>!.UE4 MU2_XY4WV[&B""*E20RM91MWGRH=G]3=C]G""^MN)P<>&%J7Y@2WKP08?E2-O+YT[K:B1J?!FCX@;9*;P-RND2F MW#8UW-7P7O/\PZL?7WW_PROQ^L.[M^+FW?Z_E#T+^>6P^#G8[%9T$6']=*W%3%1I;W(/HUZ),!S=RJ MLE5B65>%:':5,%5;IW#CNI3Y?:-3(]Z4C5K5LE%9!T*MTFI5ZG]$0#3J:5K5 MF2Q3!:K0K,7KZ]L7XAHNMF6CRY6X;629R3HS "?32YU*4N_CO_[EB8_51J?B?'*>B \QEC<@FS78 \,KW)":J=HD D +W2 ^.:$KP?YD M\#]<.@95(UNR5?F]^*6L=H"K$6%97,@M/1;V@K"&T @I#*"?*Y'"]FNU1L.V M5:*H,I6+IA*M\=NW.P63ZPDC:VWH&N*?=O%/'?YCOTUM G4SL8/%^"6P+]52 M;.HJ:_%U6 !%5".[X!4 6IJEJFMX!S!* UT0,?BO0-1$LY8-&F2D!KRTQBW! M9D @F!5-Q&-UM^&G*K%0 @BIFYRA TAUEZYEN5*TTV9= 04 M4(;>&((QW%/ M !M5%T1;1R6[9XM%7;6K-6&S!-95.Z(?TMPT:F,> ^NNSB^NGH@W&>+E)0D( M9/=$1$X0 T_QA$DN/7$^ 66C:O*<*,[5(MV MJ8$2_O%KV%?ZB6>!UE^#R8>(E@#;D1AEB4@B@1:'8,H:B R?S5+W=-Z*MR&6 MR[ JB:ANQ!I42FZ ^5N9DS:"MA2Z015DV5]40/Z-K!NM '$O$;':SS!^1:A MH"U+5 :HRGL"@N3=O]NA .* RZHZU8"%:1>FP2TF%B$V PN=Z^8>E^U*/^@1 MH+^0BUR-^Y;F+<0*>@,VX'U$N'<1X6)2 7:@>\ ?5$4/AY0O!67499JWF1); M, U52Q@OK-P0,7+@?6F02%Z5$'VG2PG8Z4+A@[NU3M=$D4P;,#Q 7P0+UAN M 0^)70;>!OJ"93S$^;%X'6L+[[IPNS[P4M*Q&))%6ID#XMQ33Q1O)6$#P\ % M1GYLSE'S(8 #_K1D2A&*(6>25R5\A,@0+_,JSIW_<-2<"CQ(/:B3-2([L@F&_4MYZ__D9BT6 <=V7RNA5 M.0+L1V]*L^'0&^#-+Z=/_!HO7[^QE_Q*YAYLZUR4(-T MK8&U:#O&W2ABB#U=OYLIR)TRY#O !PL'LE"30%B>$V55O5%-"W8&?2"P;408 MC=%$V!O'L,0(;PEPE_5*/?+O'UA7-JP[NO#J@CO>Q'Y"UC6Z7K*)G?C !0'& M.0Y/&*'Y5;]JM UG W%UBG4>-A1!-[S$DTK ZXO[V!ST:+ZI3#/RJF_:S::J MF][NJZVE0= MEJHHL"0'07Y[D+-AG6@1D"N@Y'U,0XP1B [$Z:Z'&/1)R./(8W8=IEV=35I% MA INTSO)AX*?KN-TRI#?_]G\([@_X"EXDD7[:3'K22^ZDMC,(+--9!X= @GI63\,DA04IK7>'% O&>4D+*W) P;("W('JMW' M0JUT65HG@@^AA8E-)RZ]U+5I1"'!SP5+$VO:YRH!,PWVXS+@_PC^%PL^Q#?= M@.9'__68HQ%<92_,<91^] >%+ST1#2$=Q?76"Y/.\5(8A/P$MH^$#5D;9PA? MR#&G#$!'N C:F@/V-4IIM 5X5==(>2NM7!'XMY69/FV1VT#?M%:'\ZM$K($# M%>".5B^)LX[ SZX=&F:M15OB%10FN5*P,!!4S4&C N$ M]V!3*3G=M-ZP*S1CFDE=P-.:+ *)4U;>XK#C54-)A>HM*-B7K3RGO_& MR$.!X!7>3'T*:^T WG%:U2Y^5LS> L4" MIUO8DKFI!"UJ?)*.1!,[*OAHXGK)PX!KNGT_&^FEN26;9V)UY' ?#9*5%+) 0!"@OVVH#%V M[R"\U8;**B"I]AHZ%0F,&S7W&PL,MGEMP2+;'2R7B/2>QB1&@ZM4B'"JZD8" M8N!ST1!+".HAAZ':+=>.+^?31/PWK?*$(\&=-A@4- -KE7UTQ^)=]T*LKW'& MLORCD:@&Z_S,U3O F$@GL06 M65 ; RYN9=YZ]5VV#2HSOVM+:[9\[@('C>4KT%KT5B3$Y1XZAQ*WL%M?B<+' MZ@SM%G-HO^["V&+\0>*.VV]+";X6D0$ISCA_PD2URG7&P4T#_W!YWYJ14)BW M:!_G$!L^ BM@-VD1V!-"YQY=^!/<@B<$Y<,:K)).==/1!W(&G<*Y]>(FAJZ* MA M_IIM1F2:]Y2]5MA6QN71CX"NWM-B:*TWP7A4V"WAV&*!Y@9XF*++R8;6., W M%8DA%QH&%TQ$J9H#2D.22O=U"9$9EZR[1@^QZ( >7<=.($/(+DM"Y("1D#VQ:&! ((,JL MS8?W0+'44A3M+">X$"Y(I3T7G$3;8Q<=V! *+"2#[(E 2G'Z(VMSSG__[0+* M?U%:PS;BGYR20,"@"YU+'[MZ_G&!T_N3TL:KY% >R&%)6Y%JA"(F.U8#]IQR M(K+6]Q]+V43LPEF=2'C8>!G5JQ]F.(;I%5$Q+K2&#C,$)]3.QT1"!]L MQ6 ]4%NTCUB! Z&@3C%SW"HU^0Y4\JCN&)G",CO<$NW/O*!U"GA0ED(\LK:> MO<1]ETA[7L]S]0 '*1+GM4*P:63A&:A+ZTHXL2-H*<04@/!+#5_!FJZ\VCG& M=?+)\%1_#.A@=$K-;-LAH))F-+2 6@;?5Q5Q)6Z&XA=\;*7 QLO->9++C: M)V]4!N8B6K036"XD"]YAHRE>534Y9195-LRHHQ#ZD\DB&X+F%=Z"^%+CC$"U MBZQ:8D=C$KLOSH3:THHECPETTC1IUF*)?16NFBZ7L (WOX!I956 $U\" :M> M$N]UX/,F+VR7)_1SJKCE,](EM15YA="D;LB>U,IF?BB?V9Y$N-U$!AD[=YZM M]OYCLIB3V9,__-^/ZQJL5#QV*&[5IL&DJ:;)P>\QKW[@O@.$$X;X9_; E7>> MHN[*^5Q\*\XO\<\%_+G K^]C*HO9.5R:3?'/#/Y,\>O'J@%1/IU,X//^7P<; M'4'--7H2?*+L7EL"8Z,[=)4XGW9V]BT)VGSZ[2'3W]#:'EK6UBYJ:(B4!9-* M#9"*"(+@D2A8A>16/T[&L>@?0&;^%5," MU.799A1L#)8&/'OTB?)!#DE\.86"B"PJ'IU/SL&*AMC'AB1N7LA5G4)0SYD; MF?#!639P=)Q0#B_FFVE]LL;A%$1 ]S9#1CH"L"K@,/*Y@QV0@FWB\UN<5@%< MJ; (+HL&H6Q]ONZD+0<2%@Y\HJPH-)2&BV%?DF&,JN7HJS(,^^@?G6>\_->% MO\D#L2\'!R1(YD#L^U_JWCD@Y)-6N[W1#,I,K"984E/<23@I3EI\%H.<=$5# M9 9'3+:YRR^39M&X:!3 ;5%GU!+PTZJ$_[%& 1O7==H65AAI-E;9P3B>)T4L MP:>O--K+H*W!+0%Q:5&:9%1W#6G#LL_(#+=HB!T".#*#!H&FH(<#E(,A8 6Y M19A>M/.^3%07!;JALF1OU,@XN<'$-3(EH:T*]Y;2=Q 10!5?MM^$I;YL3?M;-SBR8JC\OY5U3;!=( M:D@GK>6C.@AB^6!O]$T9G V2F*LUU&&%E9@(X#,:+.DMD-H\6C4PR)55BE]P MHTOQ= >/E4!2%X]3Q!3O0.KVSQ 7]D@Z"B"(EZCU3L +6?^B&JJ_:ANB^RIN MA#K7O;HLZ=&4T[FX?MEM?7QF-VZ18P;NE^+65-582T 18+"D47M:(:PE+&(,!!NI7!EOE<)']C34X MO!1-V%B*1K$29UUDUNQ2N;.W=H06S::]U2OBI6G=6E:ZLHDCJ \@.JXC[)(" MGIPJ[-1/Z!8YAJQAY,7!0.&V:89[$:T5&OLXX2,3#/JHQF+ 2Z U T^86 >W M/[6/ IL(QZ901>P^KLL,-E%S>: /JE^_ :UL,01@EJIRJ^NJ) '(E:PYQ>8C M%J&>M6?MR1H2C4 R#189TFJ(OL4QE##49W>T9ENM\XW7X+#^KA7<7FPGD > M.M-+FM?TX+H ]L3%=H%]K\-JH>5"W3U-(J,NY<=6G5-OR5H[^!3Q"#(1MRH;-RX[B)(2.,40K>U+0_AQ/TN M% _O%F2>"#YV L['8]%9P%'VI@_;6#E@F5(M@0,"JGB 'C(-$U__NI;\TJWR7*I4QE^T1-+M, M;T)]'!6#U!Z:G3$"BFJP6EEIJP(.!R.]5B-DWU!I):A'74.-['"/!Y< MV38B_?"$MTC'I!T5.&BP](]^_UK9<('K)4@I7SSM5;VB+S-Q8_O+: -9D\C_ M?F'/VH'\1EPEIU>SZ/MY46LTQ7!H7WU@M*U T8B2,MM:\SY8 M8XHG;4(I9D EZ6D_,46Y+UJ__;V0,0IN.1R+"<4]<.BHV_1UI_*M&E&ESX6Q M'95%\VA%H*^IH47 (R.4"#IA,@'$H#Q%6CTX1/&9HQ/[^]^YM.5/JO!!1Z:7 MH"27\86SY.)L,JB\QZ>/]M Z3<+RNW=8W(-?WFD)G_YO<Z329S"?QA5ER.KV*A7.>G)]W+LR2R]FY MOW!-Z.SW,&P3P'547:1S\%AWY_!7S_0=*#3%3JHSWQM.%I/-:LO00L0,!(]4 MDV>);^S<26W?YOEF.KL:3T6!],+BSGFW?KJ8B*(BFPGA MZ5KF2S]"88D!GWR%F,?]AL_<^$G24MTU]*,4]Y"RFG#:C&F5<3*XZ$D;D( & M(#"8"VO[RHBK0^@RKJI%=*SBJJJCLRU;^:-J"7RMQ3 $C!@"B =^+@-+)KE/ M7MVO,X17UK*7&]EXP%86W1R0ZT-0A=%6Z7E0TF;>]>" @IO[W(U(E<$?U@")?^V5&D M]W$EH7/> 6BD_?V$MF@=+%N'/RMA:&-VM-C\0R *\VXB:T4J.9J/_:@ID4I MGDXY<,Z_.D0!WFC8.1<9]\POS\,>V%'8\W''4OCKCVRZL*4?*7 Q,!D/WP)! MY+^9C"^_3.IK&Q@W3306Y7F=W%@2,++F$Q MIN+A\]C71)-1D6? 1K.-:M *03IH4]=HS0,;M[C\V1.,WUI1F"9GY^=Q+)9< MGT5AEDS.0@ 'BUQ>?#%K E)GR?GT+/H^3\[FH6+1$4-L,GP^\_^3+^"G MKR=@5(DZC[/+L]FT*U,1N_#[_&H>;1%5$%E15G%9" \-B?=HUJBA\PJ$.M-X MHU-?^O9@=N\@8C]-D#J1GO=./ M=!0?R[Z8@-FCC\Z&$E&&0()_ ])? M%>X7-*_YAR/#X_SSFV]E#Q&@PH #,C 8 M >&PO=V]R:W-H965T&ULS5I9;]PX$OXK1(\QL &YK?N( M#\#N.#,!$L>(/5GL(UMB=VNCECHD9*U$'U9G-R(M(%6U(QKE:LA)%9Q9=40I//3\2*,YHI MHF5QXMIV>+*D>3FZ.%-]M_SBK*IED9?LEA-1+Y>4/UVQHGH\'SFCMN-S/E]( M[#BY.%O1.;MC\J_5+8?62<L%'E5$LYFYZ-+Y\V5C_/5A"\Y>Q3&;X([ MF5;55VR\S\Y'-@K$"I9*Y$#A\< FK"B0$8CQK>$YZI9$0O-WR_V=VCOL94H% MFU3%O_),+LY'\8AD;$;K0GZN'O]DS7X"Y)=6A5#_R:.>ZP8CDM9"5LN&&"18 MYJ5^TN^-'@R"V-Y!X#8$KI);+Z2D?$LEO3CCU2/A.!NXX0^U544-PN4E'LJ= MY#": YV\N+K\<'DSN29W?UY?WY/)IX^WGVZN;^[OSDXD<,^3T.SG]?=Q_2,[]G#PR)KNX MDI2"O*9I2Q_H-."]7V\[\O+M*@S1NA2#\D%E81R1NIRFA<%RPBTY8(1 M5F:DFJF?*\;S*NNGLN\K\$*8*BLR9:2E P*PWT(//>9RD8.;$L<]7J(E-5S& MY*]NH4WQK%:^C"#QM@FRDA2I#UQ['($/%84*![#X@1.._;Y'H/A@=9(MIXQW MIF>IN6^!H^YV5+=GP2("MP51I7C:+V6OB;*2+])&5O.\G"MEBCI-&4E+=.<%J"4 M$HA@\IA<@G@%X B,, *L6X9%!=L4)!<$<4C"'^P3QU>\FJH#&$[$.)Z1>@7; ME;V\S=)"*4V()>JO,>CNR)H3RN'0/&$\L$HF(>61*^1,9B0]FNVK,?DE@-(E MPA+=_F85THX$5NA'1BM(0O*NYF4N:PYQ8I9_QQ_" M&NJK%\<*?,]LV0[YP,"2%E4!WK<$6WM@2"&Z2:$5V8'1\J. ?*#3BE-9<7TN MVF4W5P-A7:=K^5:<..2>P8EM$2RTW#CLFX%E^_Z.T\''FOKR2* M-G@FOF5[_6[C$);PX"!P/X!?];(NJ(J@#+ 9 HALHQP &)?YW[JC)3_T8\MV MHB.C([$"-S@B]Q@N#:OR0YAHFID'TGIQU[%V.!B(P),;=!+;5 DR3;Z0-=4T M\5IV$9&(7#(#=L%S)<^GM53X4&$,866]'@6V'CC,5?E*J0$[ \JBTK,P.D%( MD+S6V3+$A=5V?DJ0!7W06/8$L63*&*Q10#ZD0 CSH;R)>-NB*P1HABDBJ073 M!]/@8G=B#$#_[=[CPWA< ODCH-6!/8[7X:S'MU8*N>",D:5.4?7ZFQBGR#=1 M34>$ W><#-?QC(7;=4K GE0P;]=4NG2"L=WN:6R*0!L1 #RL%CU8]O_'CU_] MW'*:6T%,X=8Z\>6V$/0'AWS@V77QZ%]/T3YO==[8-B>M.70"&@%TYZ37474! M]M^,$CA>8%)X5I.Y(&9JK"/]P^6 M+LJJJ.9/Q#_NHSTCQX9$*AY,#VQCNFO9B6],AU0I",D] MAPRVI$L=\R6VEI1_%<0U-^Y 5M:S/G0LQ[9[5KXQMC'3=HW-!K#16S!(,)G0 MY.\B0Y,J]@WP=P-O]\PH-M3O.3&YJUW@ MQ>91E;OPVOK .)VS(3PWUU/$1/J,P[89#Z*//PXAH8#HL/,2JF]5/=I(Q4U7 M%/._F=C">&O>D)?=O4TE)^IR"O=,',P4O%5%GJF )B0\]+&"2#B?LP56)1]4 M;00\F1SBC>[H'P=]]RKE,:MR.VY?-YBSO&!>?R'K?PV"-"BH.V\CN'0EFAJ8 M8Z(IM#*;U%48IA;$IBT&D=D"%PS<03N,[=T";)I"D_SBH;(5A4L8)%T#F52F MJTVD%\I)^CCLN;V31DXO7!(EC7O2EXO3[R2*!Z'?-G?I6GX8#MIAD Q\L2VW MZ"(%[J*L]TJRWQ-U50H\4+N9>+5=(]"C/:%S#7*C!LN5$1URAESJ4W0S M_$1AA'/[BS0$J##!+N/2:R40K:$K,KHB7Q'&&Y*!3GT7AQ(-1G 5972&!88> M75P 4WVDLQKK ML#R<[(>H\\(4RJNPU6!VC.U?TI75 ^!_/J\NZ6XI.Z$=\8 MQ3N=]C<#6ZIZOS -?V49!YTLI:L?G A-0X@Y=H"KGLL7Q:,5)@C6G'(MX6R0'0HTV3ARP, YFVI2Z?4C4P MPRM &&WS.RO)AO8CRPW-N.4DH+-8[?P.'/FFD@QXDL_-RQ4)U2]O\N% M!1FK8^CHX+YZ10M5.;U3+R$GF1?#^0LTP;U:GW@J\/X/_38*!*IX9KFJ;E MA)8?!$9' B!H@V?/:X!M0'#8(V!YGBF]Y_;7M3?F)\R "H,%>?:V"> V>HOVGH M>KLO0B[UAQ#]=/TYR4?(LO)2@%0S(+7'43 B7'^BH1NR6JG/(J:5! A2/Q>, M@@'C!!B?58!#30,7Z+Z3N?@O4$L#!!0 ( -."9UF[^/%*, 4 (4- 9 M >&PO=V]R:W-H965T\Y MGBXV2G\W)8!E#Y6LS6506MNF0:#;QP2I4< MQ>/Q9%1Q40>+"[=VJQ<7JK52U'"KF6FKBNO':Y!JL<392XXZ=G[(,Z^8'E8D%IR;AN=P&6":&]#W$"Q>O8@FXS='8*4] MK/28]2/Q/JZ7ALRKLB\EL!M5-;Q^9!(P(0WC!6:&,%9S2G'&ZX(9+O&%6JU$ M3@*XDH.V2%(&/UK1(*TL:_'H-*M5_3KG=8[$X'<2&/*=[-3KSOH9VY0B+UF. MYTWZ]UP+U1ID9 T;+IG2S()& -S13#7T<%N>,10WJ@*6>T.:]M; &O[H *@5 M6JTJ(B<6%!P;BU*6/W206RNDL ),2%Z;I]@8/#1DD-L>5L$MKMM2JW9=4C+- MPKV0E;Q E[?Z'^E!5K#, -MP0X :+0P4A,ZBXDI)K%RTYPFZ8TO!OF$P_(T?4H[]D,/I]/^1]K+8Z M+UDZC@:S9!8/9M%9-(GVYUG"EJ72]C5E36>4#IL.T"7@_CXGT>D.WV2V&R?S M?CS-TGX\F2;LB[*8F,_AG4SFPUF\CV\>97OS63QQ&#[ZA-D(6R)IL];R+O% MZ!"GOKD. 9%S##TV/.@)Q6='+9=+OB@_\8QJSR-P;4Z?@$G"[,E:&NX8\63? M0IA-.8C^" M%"2\9X!*>7]\_[K>_HEQHCI'^^^=R57EW'9'>;JTA562YWE+W3FGM+T:QA=@G%'#L&-P^H3/^P5<'X\I(WFI-\!N\!5S+ M<#QA\/7+*)RB=U*Z1OZ9! H/M6>C06M< 18@^@"@6QX3P7?)_6K_C7'E6^N= MN/] ^83U2]14<5>H.@ZG6<"T;_K]Q*K&-=IWRF+;[H8E?B>!)@%\OU+*;B>T M0?_EM?@;4$L#!!0 ( -."9UGCW3G&BP, " ) 9 >&PO=V]R:W-H M965TI>YX@&'DLN],S+ MC:E.@T G.99,^[)"02L;J4IF:*JR0%<*6>J,2A[$83@)2E8(;SYULELUG\K: M\$+@K0)=ER53NP5RN9UYD;<7+(LL-U80S*<5RW"%YEMUJV@6="AI4:+0A12@ M<#/SSJ/3Q@K#:A MV8$+U5D3N4+835D91:L%V9GYZN[FXO.GFR^75\O5;W#UU[?KNW^F@2%DNQXD M+UB \"KK#R81@.( [CT0&\81?F MT.$-WQ!F&^7I2V$V**.74>P!.=452W#FT0G0J![0FW]X%TW"LP,<1QW'T2'T M-V_%892Q#WV@#^^.X^CHK(6#E9')/2RQJE624S'#K9*98B7<"#BO5,$ABES2 MXP&8'&$AF4I!;N"R4'2.I-+ 4ED93(&!=F#J":QJP7ZWIM9S')Y9K+T7)XK. M_@ C^V9U907OAV,_I!+GW)Y68":@!K/_;P"LT$# M(U9TD=K $[09?#\<^?$0*C)Q^$"7N%/,,H49Y8,B,HSW#";^R7X+?+@6S?K@ M&84^NY/AT6 <=NQ_DET\]D\F/\,N'OG#)WIW__>#CQ55:6I+XEDM4YIM23R) MQWOQ#TM<4%MYI:I';ZOJ4?CK5_5=;_LI-A#2/"L#*W^I!+H4^2]=CT&O:Y6H M,M>;;3)J89H&UDF[]G_>=+TG]>;M\)6IK! :.&[(-/2/QAZHIA\W$R,KUP,I MN=11W3"G)PPJJT#K&RG-?F(==(^B^7]02P,$% @ TX)G68S&'MA3"P M4"@ !D !X;"]W;W)K&ULU5I;;]LX%OXKA"EI.E^)B*>V7(L83Q8RB7B&9;(\ M3=>)X+XZ%(6G;K\_.HUX$/?.S]3>;7)^)O,L#&)QF[ TCR*>/%Z*4&Y>]YR> MV;@+EJN,-D[/S]9\*>Y%]FE]FV!U6F+Q@TC$:2!CEHC%Z]Z%\_)R0/ *X',@ M-FGM-R-)9E)^H<5;_W6O3PR)4,PSPL#Q[T%78:K^LHV&=0<]-L_3 M3$;%87 0!;'^S[\6>J@=F/1W''"+ Z[B6Q-27+[A&3\_2^2&)00-;/1#B:I. M@[D@IDNYSQ(\#7 N.[]^=_O'A[^NK]GE]?OKF[T?%^_OSTXSX":(TWF! MYU+C<7?@F;)W,LY6*;N.?>$WSY^"IY(QUS!VZ>Y%>"_6-O/Z%G/[[F //J\4 MU%/XO"<)^K)+4HUHT(V(O.1ENN9S\;H'-TA%\B!ZY[_]XHSZK_:P.2C9'.S# M_H3[V(]G9+-N5.Q#S*#;3$0SD90*MEBV$NQ*1FL>/[(5]]5Z(4,X;1 O&>QP M_N6$S-]G2\MBFU4P7T&" ME,V$@-%[5+RQ&=RP=X$"8*$!%T"*RD68'L938-X M+@@L9L>@:UC+)M 8(H]M_I81J2*$>.*]>V.P3 ML"65Z%NRBC!8!K-0,%&H)&5SZ'L.3TR"60ZR^9IEDCG]7S4#(D@:UV>)@+.DTR$^;FBI=2C]9:G9N,RY/#I^SE,6:0G[T2201]R379Q0A='<)'T1:@% M; :$C4IWY%@/(D'VAB$AKZO#J46>AJQ(<(51[3E828DX0I;?]UX]V__WL/1& MIMJ*A;O.48RL+[QRC;!_%Z1?3A8)@F( HZ! QQ(*.RUX>^1TH!G:SA#;I2Q^ M0 X 5^C2A^-VZ[>^_^?N6]YGRVUS-0B/$,3LJ=,BC/VA/6[OOZDP(19#+Y&^ M=-%QZ3H!7_#V2P=\UH&7H4"$PV/W)'M.22B MIF$_E5VOP:[C#BUOZCXCO\[8]OH[^(W)I9ZB76ASAYR5T+8(.$?N?80O408 MXASE'Y0E5>+9H@"D]-@$!B">P6LK"!1*2:>819;&==L#'1+WR37R)M9@XC24 MS!]X$'(J;R@/+_(L+S3/J>3:IWN[* W? C"FKD_MIE2(O@?#BK8S(MK.#Q6C MCM-)Z!\O0CF+CQ<-FXQ!QZ(A*Q:((E*8@*&I"""7F M@3;8(O0?%^3N+^Y20\G J[204JFGUSDN B4NV9QJ2LKJLTM#C6H4=EO6R!;2 M6Z%JB\4H=LR3:E]=@2JCN5KK*HTOEXE8DMHJ=1<\%(V@+AFY+I;SMK;(EQSD M8.-]Q7$+;52>%L6Z5SFGP0ZM/00R3V&!'9&G;ZQ04> ^E-ZR&ZK#"-*8)AP: MLOIZ&\P=-RZ^W[QX(*)8!N\3* 1!]SAX08(NL!2J$C\.L ,;*IRP19V4@N.% M.&D^^P_T3,(6JOJF@$HTQ8;F7)?_U"N() IBNA,J4F6>P>L>R#B4XXFO(ID' MJ68R%5D6:ID7>1A2]4]\+8"B'19L^#2:*=WF%%Q*)3S(FC)9F289KO:"0^RC MRR@VN&T*J[Z8)T*I3Z6.I'!0Q_8\@Z?0#A1-85"I,,UQGYI#;:9&Z"+#+$KW M,4Q'U/$L18Q(34%MIIHN!9S"'QBZ@51+N;=#,_%#.:F)N(9$A;VXKTP4A3%; M)#)J(U >-T->B01[0(@LHF4AB\H"1:I1G1BA*CNHW6D%M:&S[4P ;80&E6O* M^X%"57QI3#QV.[1%Z+1+>2VWWI/&"J71=>VV%94'RM.=X22>A[F/,_UVT%#N MH3C8ZV\1]T6GMQ%U=;ST=,N$#8OL?H^[:Y]2+N%KBS!!NF+=I*+VM>V[4/) MH=F"I<+=D4QCG_R=FPD%S]3\2OF_Z2L($ U-BXO#NV^EU*8Y=#7@3B,6_Y3N M6_%8$[KIRX8)1?7D4O%W5:\+[W=-[AI57^'3VA658^H34@14A(_>NC4^L6K!00Q0=)NQGGP5\Z_]'U8@= M,"PX=*B@A@AJ>%#]ND*%K:P='BGB''Y;ZVPM#\U]?>VX_=K:L\9#I['NNRZ[ M0_C@">4$W(T/K*%W_'VH!\D,AUW/3+$<_/PW!1=%3?B_"[?-W@MY6DDY*B+)R M:PT,R^Q<#?R*\LIL7!5]0@[#,GMO:0(?I\&\?25;UW"KBK0RYJ":!*L2: MU;$:I2)IXS[3%VI<<$])B1W_I0>.6P"UN[?8[SS.>?)8S+D'S)LT)VA3MUS_ MJ\@HAX[ZKLL:^WC<,?4_@DY+I/.12^(73;(9GG-.6>#*G?\FJ; M@ZG'/M<+T&KR08GK![!>5[7L#V"ILE.]X0A*>]-YN1B[9ZIRY#/D7JK7J+*D MAEH]4O.M[7.-K-_JJ$.9EB\#:_,KS[%'DVI^11&OLWS3U58W81PP@;=JVIX8 M;M6%J:Q*4ZXJ[FYYQL\/PT\O -X>(CZL /!(?/W*6S\J[774IJEIFYZWNL;-LLWY/(W9 -[4\1MF2)* M_;8S@8,JJJH&443V[;Y7)H&Q-V@QXPWM@6MBY/%X.&I'?7=L>V-V4XZ(C@=N M&PB41H,Z:QT>#>X:8='S;*=:4SAI39YK/4SMU2*9-*RG\U73$V,+V/=H/'K,-I%3/?Y[+_1W'NIB%SIW.76CAB[M :H%_ -:/5 M&54ER2$1Z6CHVEXY Z%&7RG]P-A$MT'I"7WPSWCGX=HC\\Y#W;,O$3'5:+)\ MY0FLYBTKS6,"&FA*TQO;75\2G=:^\HI$LE3?LM&<.X\S_<%7N5M^+G>AOQ*K MP/6W=N]XLD3Z8:%8X&C?'@][FB^SR.1:?3,VDUDF(_5S)3@:(@+ \X64F5D0 M@?(CPO/_ 5!+ P04 " #3@F=98S/'(DP% #;#0 &0 'AL+W=OUG)-UQ0^U>\=[L:=EUQ5 M9+RR1C@JS@;GTY.+!>^/&_Y4M/&]:\&9K*S]PC=7^=E@PH!(4Q;8@\3?#5V2 MUNP(,/YI?0ZZD&S8O]YY_S7FCEQ6TM.EU7^I/)1G@Y<#D5,A&QT^V,UOU.9S MQ/XRJWW\%9NT=[H8B*SQP5:M,1!4RJ1_>=ORT#-X.7G$8-8:S"+N%"BB?".# M7)XZNQ&.=\,;7\14HS7 *<-%N0X.3Q7LPO+J]\L_WKT5'\__?GM].@[PR.OC MK+6^2-:S1ZQ?B7?6A-*+MR:G_*[]&$@Z.+,=G(O9DPZOJ1Z)^60H9I/9X@E_ M\RZ]>?0W_X[T3A[*+YDO'C;GCCCQMW(W-%@^?S8]GKQ^ MRB [=X MROLWN7_:^H48B;X'<64R6Y$(\E;0+9K6$^29H5,]Y6*U%0>3T2M(2&ON!K2S M""4) Z^B2D4D+J) "0)5*W)='88B6'$P'1UWUM(+Q*JEPWY^-AL=_1_/\Y'X MB)V7[,ILGS][.9N^>(W=14&Q66,N3@82&T2<3T?37X0TN3B:\]6/I!#-..(0 MD\37R;W>?G?\/9'*_ !O]WAB0R]1HYJ1_4&582#AS$%&Z1NLV B&M,R\R]7 CRLR%"A@A^B5S+=Y,JL 3T0 MU!%BW6#T&,:#Z?&^%X:1YU)E);?!9+^L"K&/"4/;:/ :I14Y^;;J?F)J;RAK M,YL.6PVFS([V,^*G9G;^*,,]#Z($)@[E6#*/)LJ>@+!7$HCP7N)QSZ2_!ZZU M->M#/*]:N=9R&]76=IW,LH2#'646NC4\ 7#EK5;<;YBK4DN3H:WY#9P*YH@/ M0VQS,%WTAB8GLR(R^XPV*I1MK/N2-UD_I7 M:IRL&$0*_\"#6%M9HU%OT5T!@T\<'"]&LPY:3V23O-AS M ]_0A%:5"I$NH&^<(Q.0:"HAA(77:#?$V$\<@^T(@UPG7)!X,D OIE?,]%5O M[?[;Y@I%R?,XGH>[46]P\D8PXH5N)8V,K""!$(3GO.)6_CLP[&+ITT!W?Y 3DMJXX0;P" M@3VA RD;Z7*,HU*&7?@F*!V[$Z4M&E296L"/P]M/\Q[0.X./Y6]LZ%6G ?W] M%TW?]*ZL4#GV8+'@.&L>%I7\;%TG*4#R*E>0'/FV^>[)[*&#WKAWX(;TU_&S M@N6/F9S.WMUJ]^5RG@[L^^WIL^>==&N6FJ8"II/1BZ.!<.E3(MT$6\?C^\H& M? S$RQ)?7^1X YX7UH;=#0?HON>6_P%02P,$% @ TX)G6;$5[<(5!0 MT0\ !D !X;"]W;W)K&ULQ5=M;]LV$/XK!VTH M$D"U)=FN[30QT*0N6F!-@SC;/M/2.>(JD1I)Q<^+I6JJO.D;WZDK1K+]!R7B)0G,I0.'J+'@7GYP/K;P3^(/C6G?&8"-92OG5 M3CYE9T%D'<("4V,1&+WN\ *+P@*1&W\WF,'&I%7LCEOT#RYVBF7)-%[(XD^> MF?PLF 20X8K5A;F6ZX_8Q#.R>*DLM'O"VLLFTP#26AM9-LKD0?F>&38[57(-RDH3FAVX4)TV.<>%W92%4;3*2<_,+N8!/MP.$-OC_:DWWA>K3A?C1; M+R>Z8BF>!500&M4=!K-7O\1OHK<'?!UN?!T>0O_>G3D,-NG! 3PX9YJG((@# MN$AEB7!42*V/H4*JWYPI!*Z!%JK:8 ;+!\CX'<^XN-VC0ZLF1UB[>B!I=H>* MRAM$72X)3JXL4$D%Z8 U$%-HPX1#(Y)QRF27RPR.\#XM:K?2E:*B2+^"K&Q9 MZQ"$%'>HK2F",XJG=NAE:L&-!E)KC>EZ^1?Q 1A)PE6MTIPJ^K@'[WGA0GMI M"FIM'?FWXJR*6ONY-"@,9P7@:F7]))3,ND;,!1K36G'#"6N=\S0'ZU1J@U>& M+PMR4%!8NT:/MHX:XFQ=JXM2#&Q)9R8*8W5JA!#%**[F4\H(SQ[H4@,6AI%!VC%1^-S(4DLC, M?Z@U9<^:=\FU0$MW')W@"_;EB'0IEEJ3@F[#V2ZS4M;"')_ JU\F231X^[^] M;W*%N,.00/QFT!T72W*MX"45[TOD+"G:QZ SNFP3_>UX+Y_DM%WY%9(PB=YT MYD?#<#I.NA*# M2S=4[DQLO9R.=A(3)]L$#2?;/8C#:#C>\-1W)6T:QM'HV:1-PRB9=%>GX_&+ MS_2/OI^>P4WA_O<%Z\_?]@A'O=TS'_7BP?'N^O2Q>+LA/X;23C\T?<$XJB@] M!> >"K"U'M*!2QFQIU.Y(/9DX@'6S%$X YM.:BB:VU,>[C"I7^HV-HN@&>T" M:2\W/P./Y)B7H_VB?M4A]VW7VFT^OFOD=$3)4Q2'FX=AMH5II'Y-W='DCY"? M*3^3,^I.2,X):;QGF>\F5OTEW2-E15H7OEFQI72^-EF5D$G0\IGN]ZB)VZQG M/&76WDY'^@F=YZ=TEB\=:FFH\PEAD5CWDWU?2O'Z\.\9,=MX2T!Q.)C&,!YN M63XAU'E+I0NG>-52Z55+I5TO!I,GG]KYC31TF+S%.!R.DB>6FO&^'_A^YYI% M7?;672;M3R']7_@;U^;KYK[ZSE_3MN+^LON9J5M."2QP1:I1;SP*0/D+I)\8 M6;E+VU(:N@*Z84YW;E16@-97DDJCF5@#FUO\[!]02P,$% @ TX)G62>V MOV[N!0 %1, !D !X;"]W;W)K&ULW5AIC]LV M$/TKA-L$2:"N=5FV-[L+[)%CB^Z!/=K/M#2VB4BB2E+V[K_O#&5+LE=V@A1) M@7ZQ17)F^/CF<4CI:"G5%ST',.PI2W-]W)L;4QSV^SJ>0\;U@2P@QY&I5!DW MV%2SOBX4\,0Z96G?=]VHGW&1]TZ.;-^M.CF2I4E%#K>*Z3++N'H^@U0NCWM> M;]UQ)V9S0QW]DZ."S^ >S&-QJ[#5KZ,D(H-<"YDS!=/CWJEW>!:2O37X4\!2 MMYX9K60BY1=J7";'/9< 00JQH0@<_Q9P#FE*@1#&WZN8O7I*D MW!N%HP+]S,GYX_W#S=6'.W9Z?<$^?;CY='=Z^_GRG%U>?[RYNSI]N+RY/NH; MG(C,^_$JZ%D5U-\1=,RN9&[FFGW($T@V_?L(L$;IKU&>^7L#WD-QP +78;[K MAWOB!?6J QLO^/Y5'W8MNXH:=D>E_7.H"Q[#<0\WB :U@-[)ZU^\R'V_!W-8 M8P[W1?_>3.T/.CY@WQ"7W12@N!'YC&F8X98TFG$%I'Z,ES"N62RS0N9V1$X9 MSQD^@BJ4T,#X!*L!6\Y%/$?_@F,H8.C)\UCPE(F\JBVT204&7G"1\DD*S,RY MH1Y8\+1$GP2KP*Q,N4J?V>09AX'%PP%[P!G/<:$\?W[] MR\CWAN_U5Q$T*.$)XI)J$#(T%3$-*EA0F6&)T+&"G:Q8->5$ -4QY#K7,A6) MI01+$E*$MJPH52$1-R6@(0IA$*R7 +6S)H"FL#XK%AQ+0\-! VJ#C=,XEHKX M3)^K9:ZHL?A$ DHS8;#^3HGK"1"OJ) 6$II%02&5;=W! O(2X4^5S$A!(D_$ M0B0ESEL50E"5)$AZO"B4?!)($. B/?<5I3J3BLAM@VGRU";-2(-1U7I&&Y!( M1#Z6^I"1DQN\_VG_#W,%L%$S&58\ ]D$ETQE;VUXC=MMG]WYFB>JD[47-H*. MGM.ZZ8W9J[H1C+#A>^V>"!MG=?-=:XB>/7^KXZ()'&P-;?N^(P%4ZM8L1;U1 MAG.;ST]*8I.CR$H:5!"#6-BZ,.$I*5"S-R*/T])N:9Y59K5 RGPBTA22MY6> M.L2D_X6:9E\#]\,TU2V,]?\% JD&O6:P6Q5;6O W-##>3&/4&O-(&IN;M6$4 MR_(,Y$SQ JL]<<#MG#^*T=^:U3W@*6Z=S@I?E[3.O<80[JY\[.QUQ0M;PWG/*Q]O\5 MJX/C1@,6#EJRP-[0"8?#NF- =>1WCMOF!:C(\8>#1E!A*TRM0,<+&I,A6CQP ML=P1*]@?RW/\<=1$1HOS.1YI#5(GPA ;96SH#,)Q$V!D):_-6K:HTC1I&7N8 M/*_-QL 9C;=0/;3/G!9M8>2$[AB+CKO!9N@[P<#=ZOZO_K]V[OS_)#X8.2X> M@EL2'[J..W:;+$<[)>X/G' \:*V](XLXA=N81"]TZ:$*_4:X&]K&+3CVF\UF M%;ICAXPS'9GQ'.B48M\)XC\%?MI-WNMR8;.V W;DT7.>.192)?V3D7G MKW7%]X4BE<\4RC3W\.J$KE[I\ Z$J/""CV]Y=.^W4!\/[@^Z7GK[K4\5&&AF M/\C0[1R/]NJK1=U;?_,YK3YU-.;5!Z,KKF8BIVOC%%W=@^&@QU3U$:9J&%G8 M#Q\3:1"U?9P#QQ<3,L#QJ91FW: )ZB]A)_\ 4$L#!!0 ( -."9UGX!@3; MR0< !(: 9 >&PO=V]R:W-H965T>J,B'<12=# LN5>_JPL^],U<7NG*Y5.*=8;8J"FZ6KT2N%Y>] M4:^9>"_GF:.)X=5%R>?B7KB'\IW!:-BBI+(0RDJMF!&SR][UZ.S5A-;[!1^E M6-C..R--IEI_HL&;]+(7D4 B%XDC!(['H[@1>4Y $.-SC=EK61)A][U!?^UU MARY3;L6-SO\M4Y==]DY[+!4S7N7NO5[\2]3Z'!->HG/K_[-%6!L?]UA26:>+ MFA@2%%*%)_]2VZ%#;MG=[?7]P_O;N]O?/]Q?#!W :!:!X M!] O[$XKEUEVJU*1KM,/(50K6=Q(]BK>"W@OR@$;1WT61_%D#]ZXU73L\<;? MING9-E4#TF0[$N7)F2UY(BY[2 0KS*/H7?W\T^@D.M\CYZ25<[(/_5L\LA]H M% W8#C#VFDO#'GE>"28M)95-@@8-)Q)Q54B>0X1K#,5(0#8D#(0TH2U8"1563G;AY@I),^D,-PD MV9*A]M7? C(T"<)(-6>S-5,*Z_@TETC(M!\LAV25A?Q3!#.#GO314PH;K!0- M,/%$?F\NK=3FXND2HG^NI!? <_$&TM9M09Z*(/4B@XGY(Y?3N/1RW/;2A1X5R6X2U#J12M%1T$? M17;E!HH*KCZ!D"<)@M5;&-'1]?,J,KSMP4\;Z5K'U5!U_'$?XDXDF9*?*[$* MSCJ>UP)(4?)D1@@V-9JG+!>/(H>,O]&3C=@1>[.2\W.E':!\TEJ?7GZ+JY6T M(6S)K#)!['OGV*YWI&B1XWW(A&,1F#DWVU'JU%YCW]\"LA+F.8B-&M[&))72 MKN;1;VRL86\J5N"^SJXEZD203S$/>@3/&CW5ACN?SAX+,9=DG@85RIZ,+9/@JDVK? MU)&*E'#=:*5#%>T'E3%UNLFF7F/S=J*8PC?-#AZJZJ_8/<+TR$^/PS3Q#N0S MO_=HNU;N+3N 73!=6:RVAV<;NOW=3[]_?O16N.O*^6#)$L]%^2.$[(\2\EU; M&'X4A^N0\G"WM@BYTG() M>=H,'[I;6;V4TH(=U*7]L'F+#QO:>F)\R&ZXS1AM^$@\'V=?M1[*Q[(I2$7E M*F@[JY [[8H7[#3JGXZC?1.^#L3G6V;N,VR]1TX8VKX?<>BIT[0]7AS!;T<6 MTJ+F3;&O4Y7PE?WPJ[(_#.X'[)\:54WYL]Z*EAV,5N2H'2]AOQW#IZ(WX]^U M.J*"1CT7@KPZ26Y'JZ*\7AK,?[157C$PFNX:[JO)JC M_GBMXFS.[#8+R77]K+4.3ZG^//M'LW;E2NQO 9H#\LS#]4DD2:I M"NNX:AN@T*A[THS3G4:WDQ"S&372U']D:UUHT!M'\(XJ,JPJT<#HE%ILWS6( M=,!>U[=%H6TE@15Z>S0N_C:0^OITJQ^"6@OA&SM2&M ( B-X[ET V$JUHSF7 M*C2)&OD*RPCIJXY4J7R4:>5[-']-$SPYGQLQ]Y=$!_Y Q:ZK>06?MKP;M[*R M0B?O;PHX>Q$/(H:V-*>N3.&H$'+75YRDLXW#K86T5IMEV-%]/X<>E 3.:V]+ MD_I;DR4[('84/G%TGCPY#/CIT?EAN,QZ^A4.Y]3;L>-_T-T ; 45J/4$,Q5T M)H,O('$(&W\CLU+UQ'^6Y+XDK])P=15Z9K5Y$&ILER3!-+1G0B+49NM30EF= MRS0TOCRG,&/AAX-=/=]@3QHZK^XJRS947TL>NK_I1"BW?T-6/.$9[JK(3-96 M7GDR!67PZB(JI <%_6#;3?"P,R,4,I-'@Y7&/F? +1!@X7?I;_ZEV3A?^-1,\%886X/M,P\CU@!BT M/P-=_0502P,$% @ TX)G62HU:NK0!P Y!, !D !X;"]W;W)K&ULG5AK;]NX$OTKA!@).VN\'=/%#G MWOU,293-+46J)&77]]?OF:$D*V[BVUV@:"P^9L[,G'E(YQOGOX254E%\JXP- M%Z-5C/7[R23D*U7),':ULM@IG:]DQ*-?3D+ME2SX4F4FL^GT[:22VHXNSWGM MP5^>NR8:;=6#%Z&I*NFW5\JXS<7H>-0M?-;+5:2%R>5Y+9=JH>)_Z@>/ITDO MI="5LD$[*[PJ+T;SX_=7IW2>#_Q7JTT8_!9D2>;<%WJX*2Y&4P*DC,HC29#X MLU;7RA@2!!A?6YFC7B5='/[NI']BVV%+)H.Z=N8/7<35Q>C=2!2JE(V)G]WF M-]7:\S/)RYT)_+_8I+,GT)@W(;JJO8SG2MOT5WYK_3"X\&[ZPH59>V'&N),B M1OE!1GEY[MU&>#H-:?2#3>7; *W1GAZ2_O>C) ^ M6N7#2M>@9%R)>;&6-JH0Q:N?WLV.9V=BH92XNJJ7=,I!?SH+( M757I2'J":,"\=#7TD.H7C1F+^UKAF+9+\;M">H?>O,^J)$$NV7AZU.W_36R& M;@T1CL4-(%96ESJ7R=R'QN*^Q)/L(/=]T%[E#;G=XCG M0< 8Z"&O9EN&\P%.WDBOQ%+! ]( B:^=3R*Q=30$+0!":)N;!MDKI*B]6VNV M3^,?G OE,2%2A ='!]+@*F4TBA3MDE2 "'?*+6RHK-2MG^>$>(C6M,D=!N-,B3 M)49Z1;OPQ!%+.J!?4A;D2JAOZ/'D!<+T,I+$C<;3;7*@2\T!@XRL.X&:E$2T\;M&]M@2UMT858_&XQT'DB4IJ!F[J[)9=40E)\0'( MP!B!A+*[YW)(<:&<@!7!50I."35N!+#*R:(C!]<0K)/F[T ,Q+5*DE=^).>2 MO0?,:H/T)'8_RI?.]5W.42ZPP>1WZ9DH6VB0(=64E#XARMAPHE /@]PG^?-4 MPR!_*+1#122?G%UZ5SV30:1/8JPQM[X!C:0P8=AB M(2G+6KX]I9MD'@\(EW.>/*5P;SIMV.QT*1/TIRIJZ8"]JXK[55% (M'U2$[^I%;9&W3@7%JR+E.[^&X%A@9=D8UC# 1+)/?#H.YUG?@3 M\1_G.#[T]VC?;:')_@0/:'\-U [)ET"R:88E#ROJP+S6M\YCAQH>^.T#]^.L M0?:IL$<_F>>^:1NI<8'RRK>C%[13YK;!Y2Z#KH]YQT9-?1NG"2R 9,2V74?A M'?CG)>X2E1F'8E6*O^(7![DT(]AE[!M%"@Z\;#*X8Y'?J6_F* M"[#J[.DFP-Z+%%TNB'2H=P=%]+L(8@.3L16W /J60S+=8[ %;1@4^=)G.OJ^ M+W95F9U EWYS>/HW_7=CV24\H!@Q']R[3I[M*OGB]N9:W.&E_E'E*^N,6VXQ MD =#.D[P"L5]9M>D2.@>#U8(%9, M";92A@O")Y7YABH6^'2"=--$@HVG]Q5+!1�IJH-AC^TL+P58;2GX>,E#+< M$THQ;Y9H6RQR5YZZHSL9>+G72ODE?U^B_HS:DC["]*O])ZQY^G*S.YZ^?]U*#^_3^V*)J]/Q+S^/ MA$_?E-)#=#5_Q\E&UL MO5;O;]LV$/U7#FI0M( CV[*3YJRJ,QED%M;G_7[)LFY%"94-5?X MLU*Z%!9#G?5-K5FDWJ@L^M%@<-POA:R"R86?N]>3"]780E9\K\DT92GTPQ47 M:G,9#(/=Q$QFN743_L_VMOM<8]3N45)9<&:DJTKRZ#.+AV=78K?<+ M/DG>F+UO:K[DH'!#"^&.+&70NG>'^]P[] M)\\=7);"\+4J/LO4YI?!24 IKT13V)G:?. MGR.'EZC"^"=MVK7O3@-*&F-5 MN35&!*6LVK?XNM5AS^!D\(Q!M#6(?-RM(Q_EC;!B*; M3_'=8CI?4'QW0[/I+S"Y\0:_$^SOYO'UXO;7N_E%WR(D!]Q/MNZO6O?1,^Y/ MZ:.J;&YH6J6!)QS'=)HT*-H$(U?P!MU^HP\WNC_T.?L M1P*U_L<_]N_.Y)FI1<*7 0Z=8;WF8/+ZU?!XHDB@;G'80? M#\_?]N!.)G!<)463LCFC-_(MN,PY:;2TD@W=-SK)4:4HSC0SJJ>%30N\+X8T MIH%742%H57CWSP3:'#<.XW&9'*!G'1S3HI$E27406::5,51KE3"GWN+@^"B,4-&* I*>@XAG8F16R16<(V[1,7!8SH,P M1AHKJH0A 6HO)%2U7P' I%!->N@J-'C5=0$0MUO&6S^2LPH5$UH(2P4 -&X> MQ--HFG[U5PWHBN+!RL1 F97=@*&/SH?G*+).I"CVH@.K-7:]RKPGIS)\ XN= MJC:7.O6))5NE('?3QN5C@'ZX/VBE5>E-]TFY^ZQ=!;]+G!UZDA'#=^< P<"Y M?L+8;>L^I;H0UMW?Y_[/&[EV7(X.'UCH)[*Y_$VTK'V6.S+/:^*1- /8V:$L M@;()*>X6:A"I&L8[4=C3/[',DWS#F=,&9 M8Z:RO2S871;(^MIRN63=U7N/@(]1S^E:[TY9KT4^?64_F>> M0EJXPT8;]ZB@6Y*HIK).C83E6BP+_E8%X;/B>P_0\N^-MWXL.@*4,I^6'NX& M%BW:T*.-0DQM*\UN8T3IT-O2E[=]XT>A,XFD+W@%TT'X[B@@W?9B[<"J MVO<_2V713?G/'.TK:[< _U=*V=W .>@:XLE?4$L#!!0 ( -."9UEY0BGA M@ ( +P' 9 >&PO=V]R:W-H965T MQW>V[J(-%_F?)14F4-L4*RTH R2RH M++#OND-<$LJ<.+*^N8@C7JN",I@+).NR).)Q @7?C!W/V3INZ"I7QH'CJ"(K M6("ZK>9"6[ACR6@)3%+.D(#EV+GT1K/0Q-N 7Q0V-3"9WG-\;XRH;.ZXY M$!20*L- ]&\-4R@*0Z2/\:?E=#I) ]Q=;]F_VMQU+G=$PI07OVFF\K%S[J , MEJ0NU W??(,VGX'A2WDA[1=MFMC!P$%I+14O6[ ^04E9\R@$W2X2='ST"1TARM#/G->2 ML$Q&6&EMPX#35F?2Z/@OZ 3HFC.52S1C&60]^.0P_N( 'NN(3_R#A M JI3%+B?D>_Z8<]YIJ^'!WWI_)_Z[,WJ>\4(NE<06+[@+:^@[[(;NK"?SO2V MD:Q("F-'-R\)8@U._/&#-W2_]%7Z/'$5[OUO=YT$EX<>;O1R7/HX*!=[X?-.O3 MVPEJ$L4[[:@$L;)S0**4UTPU;[+S=J/FTG;8)_Z)-YIZ/?Y$CZ9FDORC;^;: M-1$KRB0J8*FEW-,SW2U%,RL:0_'*-L,[KG1KM&ULG95=;YLP%$#_BL6D/;6%D*\U Z2DV[0\=(J2;GMV\ 6L M&IO9)K3_OK8A+)L2*N4%;'/O\;E&7*)&R&=5 &CT4C*N8J_0NEKXODH+*+&Z M$Q5P\R03LL3:3&7NJTH")BZI9'X8!#._Q)1[2>36-C*)1*T9Y;"12-5EB>7K M"IAH8F_D'1>V-"^T7?"3J,(Y[$#_K#;2S/R>0F@)7%'!D80L]I:CQ6INXUW M+PJ-.ADC6\E>B&<[69/8"ZP0,$BU)6!S.\ #,&9!1N-/Q_3Z+6WBZ?A(_^9J M-[7LL8('P7Y3HHO8^^0A AFNF=Z*YCMT]4PM+Q5,N2MJVMCQO8?26FE1=LG& MH*2\O>.7[AQ.$@SG?$+8)83.N]W(67[!&B>1% V2-MK0[,"5ZK*-'.7VI>RT M-$^IR=/)VAPO 8F>)":4YV@I)>8YF&/7*O*UV<'&^6E'6[6T\ +M'CT*K@N% MOG("Y-]\WYCU>N%1;Q4. G=0W:%Q<(/"()P,\,9]N6/'&U_@G2OS!NU?T9H3 M>J"DQNQ4)[TRI,A>K*M&:!1 ML)_>CDZUT9*(2O]_R*WN,###3,& V+07FPYR?@A^>X7<,/0]N5DO-[OJU)Y MFJ\(7W ;9K[G-N_=YEBGW_2'TJ0N>N""J6BYKIM%?UJWVB7;7_Y M&]YVZ4&PO=V]R:W-H M965TW:UEI. M]NU'$!B*$X, @T/'_OK7UUP@2,F.L_<76\31T]/3=_<,OKNMZD_-4NM6W:V* MLOG^R;)MU]\^?=ID2[U*FW&UUB7<653U*FWA9WW]M%G7.LWII57Q=#:9'#]= MI:9\\OP[NG99/_^NZMK"E/JR5DVW6J7U_0M=5+??/YD^L1<^F.MEBQ>>/O]N MG5[K*]W^N+ZLX==3!R4W*UTVIBI5K1??/SF??OMB>H(OT!,_&7W;!'\KG,J\ MJC[ACXO\^R<3Q$@7.FL11 K_W>B7NB@0$N#QBP!]XL;$%\._+?0W-'F8S#QM M],NJ^(O)V^7W3TZ?J%POTJYH/U2W_Z-E0D<(+ZN*AOY5M_SLR>2)RKJFK5;R M,F"P,B7_G]X)(8(73K>],),79H0W#T18ODK;]/EW=76K:GP:H.$?-%5Z&Y S M):[*55O#70/OM<^O+GYX=_'FXN7YNX_J_.7+]S^^^WCQ[@=U^?Y/%R\O7E^I MOVR4:_+7.?Q^T\!3X?LS"+[ M8K83X)5>C]7!)%&SR>QP![P#-_D#@G>P!=Z+\ZN+*_7^C;K\\/KJ];N/YQ\O MWK]3Y^]>J:L?W[X]__!7O/< A;X=H@L/>S@\+ K:M\TZS?3W3T"2&EW?Z"?/ M__"[Z?'DV8Y)';I)'>Z"_OQ%VIA&50MUB;#+-D7N3Q2MX_T0LE\ 3GU<:F7* M5M=FI;HR[7+3ZEQE%2QTV?!?#0R8IWAY8UR#3;0-O9T4';*&6 MNM:F5,OT1JNYUJ4"FJS3&N[,[]7E*UB JNAPT"91%V4V5GLM#/Z'WYW.9I-G M+ZO5.BWOZ=?TV;Y:=W73I66KVDKA8W57Z$:E90X:Y+HK"'F:#=Z\TEE7F];( M$Z_OLF5:7FL%0%>F(;VS)^-$Q13-FW=90Q9AOUSE]9 G.)> M?=#KJFX5@$(EHJ:3T9]IL/.Z-5FAX0)B\\$AIZY&_S=6+W7=@D8%V*QW27_! M6XNJ:LNJU2HW359430=KHDI\I("Q'$D-/EUV0/"'U\%1&U_*LJK.X1D-6JA= MTN^N;'&FZQJ@FS52\UJ7NJ8!X;Y>M_PN3OO'DMC@"J$3E<]7P"%9&BRN9Y&J M5M7*M/#"^"NP$^AR5/2)1:5:FQ*I!DBLTA+L"SZ6*$!;I?G/H%?YM5)GNFG M'*D]',,T--FJA,G!FTQ9@ U\4N.-X-5]7.LURX1*U2(UM<<'7X9;8!D:6+-: M^(3GMX9_J[RQ[]KI@YVM4QH]?!%XN_>B@L4"Q%J'NJ&5SX',:-\L;UL@[3)M M@0+W0'VE[]9 (J0@TAZ>JC>0$EP7'=!I 3P&L[_7:O*L4>W9#AUI=%XJ5= [=4<*'8P)?-SD >!=QPN(**("AZ7G?(4+,3ME-? M@[ME+DP3%DJGQ61>1 $#EV^7%T84!7X+U M"H!!J2 $97W!SRE0"S!9VSHMFY05W*]A! &JV-M,:0(#9%W"'5(5.8"]08K4 MU>HSN6'>M2JO2#>VCG@XRU!OUOJ7SHB=^5J:;KS#@!\Y WZTT^)^T#>Z[#1P M9E9=PS@/F._=P#X&',($Q8GS $S8VTHU55?C:I^7:7$/=JD!0]OJZYH('$*H M&:6_!4 &S,:;\ZL7ZMQ3%*A4YFD-ZN5EE9L%::K MIY?.=NJ/H+>SM3QY#A1 M'T(L7X(C60,/-CS"2W*,=0TN@67[6A>$;@H*[F@)'8!YE<-H ]&&KF]UDN,14##KJI<%ZC]N\9-7V:*BL,2!F2N MH6N(?Q;CGUG\QVZ:IO'4!:VR9%O9UA 1 'NMZRKO\'48 !U&@\L%KY!L+G2- M; P899XNY , -1 UM@)B(DE#D@R9G$Q.%>E'L1+DRJ#-@(FU!4,'D-KZ2*PB M*Z H ;>$CPQA.-8Q0P(JF)%M+54JCV3 [RZZJY9FRY@Z:I;HA_2O&GUNOD6 MEN[L^.3LF;K($2_'2:()+9$3Q,!1/!%?QA'G 2A@"LGI0G:NYH6Y%J=1)-_" M=5!>R:0B(('.1(62:??X.^!9\2(_%Y- 8; #PB1&7B*2I$"+;3#1JVC@ M[V9A>C+O[ WY(WY48E'3DKY.U[#X-Z"#41HS=)_)26+>GX.KH<#'1$<[8><$ M0V5GP.06H6!D270.J*;W! 3)NWDWH@#B@,."!2-+ %:OQ2DF@A"K@;DI3$N. M7'>!X0+287N7(WK@Z+HX)#P96GI#-$- MJ(:J(XSGPC=$#-#P:#9QE:PH(?I6EA+0TRMR\&Z7)EL217+R6($"^"!>D-42 M)P_(TJ![#YIQV\J/T>_IZZ>5G?66EY+8\V"69M]K@)U[XHGLK5.8P#!P=*)2 M5NO61;83QRH4=J,TI$,Z.>;IE?.?CYBL PCOM*-^:Z' 'VHXNR M67.R#. =GLZ>N3%>O;F02VZDYAYT\HII\'*9XL("??[&2_B37E)T*T-:,"]_ MLE: @J@+4,+"WJCG'L10PM M3VQW<[T&]X%C0-1P%"0A0\B:$V5UO=8MQ@YH V'91H31&%6$W-B#(49X2X&Y MK*_UOGM_R[AIR[)C5DY<<,;KT$ZD=8VFEW1BY!]8)\"E'QQAE.%7W:C!-*P. MQ-')U]FM*+QL.(XGD6#_.5 '/9JOJZ8=.=%ONC6%6_'LJQNALE<1H/-9$31P M 1D#J/EMRJROPA)4AN;40D;8@94\PV MK"NP,>0'$,/4@AS^2!M17N)[V15''Q:XLNS3/N2\[5P5.)8NX!U>63]., CP M%5#R/J3ABG,_LM*QA1BT2;C&@<6,#::,SBJ-4QO>;#HCN-"6AFL'59E<#&*5!3,+F'J!C-S MF)APFB:4M,<* 2\:9;@Y OXOXW\VXX-_$SLT/[F?>S[;O^'F6$KO_T;N2X]% MO4M'?KU889(Y'@J=D+]@^I.3H'&$\)DK9H4!Z$B),UT ]C5R:3 %>-742'GA M5LX(_-OR3)^VN-J84:SU]O@J44M8@0J3@P7JE"#J\.L9ZZ'AI16T4[R"S)1> M:PYE5T!;FBL$$$M4/X[!P$!3-@:4"[CWH%,I.%UW3K%K5&.&2;V"ISF0![Q0 M8:UTBHE2%Z;7U74-*A>H=$O)O&#D#?N-GH<&QELY-?40UL8"O..PJIO_K'EY M5\@6&#,S\TDNBW*W"F,7RN" L/S[(ZL3)[;2HJD4#=JX(!V3DEZOQ&H%5KG1 MG&.CQP.EOR5?1EG[.^ D769B?7F2Y+-%EE(2Y@ M<=DM+!N(])[&(,: J=2(<":54;"YJ(A3<.HAAJ'<+>>.3P]GB?H3C?*,/<%; MTZ!3T Z,5?;1':OW\8507L.(98MGX!T#?IM#A*O^C%R.F+)3-8@5^,QY.&BF MS0WS.RJ!V%_G9RC?!5O$F+SHGOHFM1F/E=2:U)^MPZ#E3) :E% M:T5,7&Z@LRUP\[-UF2A\K,;2F:S09MZE=/4L5TQZL(@4%'E$C?C$O*"]5X!O MN ]:0"8I"&PPH36/UOWQ9L$1@N)A UK)9*:-Y(&,P7!A,8".M:U<:I#;2@"L MT*S34%;E2-;H\ZQE+Z792Q'/=7N+-36192J6VH%&:E7AX Q1S+7G15G."">&$ M5-8SP4DP/3;1?AE\@H5XD"T1<"DV;.9=P?'OOYU#^0\*:UA'_)U#$G 8S,H4 MJ?-=W?IQ@M/9DU('_3([8EB25J0:H8C!CDC AE%.5-ZY^F.9ML%R87=MP#RL MO!K=RQ>U_QF.OU=)2-+4NLO#ZM9;?LQ,N1DIE&;K>TG%$,TB"J90:T@AHW-" M]4PL-'BCYWI[O*:PV2;1+;K,,75NF3S=U)<[ZB>1G?"SYSH"LA,JI&Y=#;M$ MWMFI43*0^ZPC;X,-21OB*C :!8Q<@('S@]DF-?S;M^9@!@Z80ONF3Q'J>]O: M%.0= U58YMM+HOV>%]1.'@^*4FB-1->SE;B/B;1A]=RJ;EE!\L1Y+.]L-NG* M+: IQ91P8$?0,O IFEU=1\>NZ^AX9Z/0*P, 01]?.\']8%7"]MZC+P09![G^ MJ7YOTE:7F2KL4K:@/&O028&B#[^O*V*5L$)+S6Q+Y!TP/.EZB086^X(WUSS( M37-F+Y@)=6C:",9Y$6@?KBMNLV/Y86OA&\Z PW[F9B3D4W!Z#38NP")Y59M( MOTXB\^+PK"M%5KAW(8H=TV:I%ECLX53N8L$-GO-[!9Q45BOP+!9 P*J767"" M^;AV$"D]^2)3%=:A1J:D6B>/X"OG+2FY6DLXBD*3;W"$G4U@);"5]XZB]LKQ MH?J].C[%?T[@GQ/\>1E261T: M"P?$^$39C5H).FQW:+^Q:>[HZ/?$:(>SWV^S1RV-[:#E76U=F99(N6)2Z0%2 M$4$0/'=^8AK$MNLQZV]!YO +D"EQV;X,%_#'8![D$YPEKO>0'O[!J1*@KN_5 MWZ603YQ"/MFI/6TCDGHAS;B[%/%G@HJ4G>B AC*6H1+@X"9L^>HUTODH#626 MB[%(;E<*K.J@)._;%GMMA''FP@6B=A16*[&BWZG&P!,"M\(LJ';MP,4 -EP? MR8BYN$_:Y\4*UW%G71IDQ)*00)POB/OD"G#VJ/$L-C%!!K6U+7'B!<9YG(A6 M(6D=07M-H,$"@:=BVP;")%Z,("&-&=DXS9=NPXEC?V0/3%$85B>)XA8\WDO" M6$0#6,H^!G( EWU*L6&22H'')-$)D*VG[ S0*OT9[##;RD%?-$*K\08*)@0+ M55 /,7<\!LYYF"6P?G7@GMA<8*^ME?HV[C*M587K=.N/ !ND--*.4 M*KGOF+CBZ)'D,M?" A:'/3/6XV23$2E](FT?_B9ZV^/!D24IXQ+)SL#OD714 MX(E"9+'_]4WTL%V-M@Q$IC7X<0!JFG-MV!;"DN2W@SP^?V=!?@.:?WIV$/P^ M3DY.3\ H^*S>T$A;KZ8= M,<(TU#D@Z4RX;VI*NW%W6M./0L.A;=/'P+:E5SV.8SHB; M@>S3EK&D7;]/R&U'O@[WC8=7!)[X&1)*>=M4C?&6% MVF]S+J2,;F$RO$O)MPAZGZ+I,I1M^GFKBQL](@!"#_!1(]6!"^9%IY,WYWTK"[5]5X+V,S$Y!2$[#"T?)R=%D4'CW MIOL;:$V3H[.S@:NGDYG(Z^:*^L%@*@>SDW#TD^3H:$8C7>Q4%<'2^D1,P(G, MH6FC^EO=AAGL\8+IMW^QE0@:FA:ZIO2TXB-%)1KX/?94$ZJRM]Y@(C$-Q>0I8EO'%K=ZVXZ/*; MV<'9>*962'],\_X L9_HTS46@,DOCGI_^VFI!.)+TIDI;F]:VJ"'&U$;WWG+M,HYQSWO<1N0@)+!Z,SYL3=V0YHR3*$' M=*R")*.CL^&77=MN@GNCU3 $]!@\B!U;!_4OF "5]7<[U?PKR[07&XD_((V* MMB9B2Q*TQTG:'+AH++GN>C!9:WL@-F*LU/5,;\O5QJ0U4;E: $D91="!&:=% MYW?ZN!) %/\D*MA)ADVF[)%:EEL%FR<;WN-&AB*[#_>E1[U7R!!1W-L+9+W0 MA;*Q==_9T$2EDS9,/?(=MQNAR8!JB7V>F]8%I3!3OV7/4[6- K(5VZ/00IY #;-+ D'IZKS^Q*OIVZY-OI QFSAG7A^SE5J8 [WG3% M J.!U&T1W)60^PK@XW11NC;@:9+^Y!8E6%5D>XH6!5KEH"TA-57Y>==GL$L8A8TM%C?_-JB$SE?H'TJ?M,39H06W M51,[JUQFL:6_S$9435-QIU!H#(.*46"ZL/M W"Y4DWC,!L?6P9A;)BZX_*M' M0+\VY3%+CHZ/0V7$S!(E1V'X>_1P2SFJ6"Y\/?AV6$P111!7(JR"O-6 MV.&Y0\N?.2U_]IB3-D96+_5[1&Q3RW8UOQO^8,])\!=U*HH!LQE>.9/$MS4? M3X['ZI7ORI%F&;N3W?9#^W8S3@&1D1P\90&\ 7:8A@=S&;]^XCQL]+%'"O%^ M63KQR.,P8E>SHRF(7@1BIV=*5]4=][RHXZ$KK6]W? M-$P]H?.AF'V<7D(;A);==*J"(%7MAQU:ZDZ21IKJ#DIIBE1\QJ/@&/BVH0/(X"; MN5$AT/D\PUTJ6_N N-;K^I#Y)!HFJFT%LF%ELK$)OK%\@RV5@2KQ?C'<6_ F MTZ!S#*/T;%E2\Y#=].SOD3CP\29X0E"PX]QN-(\JM&-W? R.9P\<&#Y@XC%M MKTQK?[K:MLV=Q*NR?MQW+EK[Z+TQ@9)+$X][OV3M!8[,EA[ MFB.U>=/_P!$#+HEF$T24WHA*\A!S!1V[$<4C2/'.+L2%+5)XXJ,[N\\R. 36 MGW3KR^.A%Q^@SAW9\9+T:"I%P:"S/MZ4\[BV0_5B@$B^,].1BQL+[/%U*.B% M9KZ10H+T:6 #BA=NR4^DZIHRL;_PF9JD @1+ZH=:U(BK/\@1Y2O'U")E==G> MB,+AH2AC%1VH1[Z2+SK:H0JK;^5P%U2;$IJ%3'CG34?CND#0,K#@J**@1XNM \&,MO.<6]YVF"3A]U_S9@)5";@25, MPJ1*U N #)LHNTR^OSU^W)0Y3**^[^=G!MMK0"H[= %X275Y8^JJ9%=>IS7W M6?+A7[[3>D/;DS8D&@%G-MC^7N"&(>IM(;.(I6-F!D*(SN^JL0GMF*V8^W2^*SLUG?A3FR<[(XM+7"A: MW]?@Y>2&6I>VARF?#RUN);""S#3:4M*QE-:4"FZX42HT%G)4(Q6E[1X6USGC MSD[@C6INB 7;>>LO\U%SV-P;'C#1ZZ1APR['AS%:Z('T7A(/-*QQ],HS:*+H M#%!T^T'.>IM^Z00*[/!!ZR,[?BT3L!:D"FD4-U%Z3BHWS@@XP_\PO6@/L/@9 M09>R:4,OR;9^N),O%?)X34>C/0!_(SE->P4_)SV\D\\FG.UGRW)XZ]R'H MM-O!X)\-3;EK8=N;)9@(K=LXXUO#F/MUF0?G!2+CND=[/&3?\^?02?(24]EJ M.HM:1L;J1S?0)GI)E&<;?(#Z7^'^-[-^0>*;Z7%8&]A:QN4SP39.98U3_KNP M])1 %GP,-88[:GJDB;MI=N49R9.U=)A.?$U7Z#">?B4R[&+TF6?TV>X<45ME MGT8OR"JA9M%4B-M]Y.NC0-K#,\[J[US2*@OKR3N*BZ6NK;X_^,E"H7?X+\093^/.BEW*>SL%_C M(#DYFD:_)[,9:#7PZVK<8TI6 9BSXMW6/LE^<'(4_)J>^4&.D^.@)>0H.9Z< MP62H"<6MD]0:#!G9V&^?SC4]\G>9I,#\^"H]HR4=1D M>1!._R@Y.PN;4Z:GR5'0U"=1Z?2RQ8P!85C0IV4LX(DHBY-BZ_,)M,ITY'0"C6H:$N_H?1% 2'7 MZ"I;5M@2\5;7+:;_Z, JRJ+B[ZP?@8MU)],,VGT0+-0'P* MR,;SX^/I )BC\?0(+KNYY :SBV4^2(_I;)B^X?6_;%_E7;R\R:Z!D@023#<& M1N4Y/G'7=PFZ/\E^NOOT^=<0VU,SXR5PQ=623N?;(=Z[@>&7:#(YKB,XZ 7G MIX+=R*MU)WU(1'NDPN8[$OMMB%#9$0-S/62%60($W."9\)2VM(>\!W3=TWC(T8H,006U&1\F T^TY7&=CWQ8$&QI=9V@??'ZI4I:&J/)8%7 M4%]CGNNBXPS7NL(2!P:3'.E3(Q>B1@>U^V_J^&,O,IQ\W1H.L;BP$PRZYQ'% MXF33U?="&JY$[2?4";NFND=FRQP^)REHW+JD-V WLACM]-+]YNCI[JW,;U#H M?B*A>\LUO =+PX^!R&)LW/%>+:=2$OL=EO#X_EO_Q13*IE)(10EG/.??;CRC M)H^P_I'Z#6CR30#*/X#G'69P;-I%,LS4"9<9L*1M(T$2U3/]U"EBD U7]GR_ MP'#AN6.$!\_0?Z2#OY8DY>]:CFJP6\;\82+$$8:IHEGQ)/*?0[LW*=4W(BVD:^G,O4X.!N/-J5FP_/[R4YR)PKP105 M? <>UHPU);O<:9]C]7[C2:G#1:0<6A-F!OD A74Q0C[PB^ZB.H&#"6'I%+/M MD=A+;.OX]EL@(%Z%'IRZPS'8!4"?B0CV8PI&/#9MX:/-I;<.BV""MM)IEZ&F M*L\GR2[4N9Q5DH;K[#F#: _CX9Z_H#N.0 G_236%JG:_8+QEF=.6XT,&XBW] M:/_G=97Z8RC^A/^KJ1I!2.#P_*6KN,!L-[;R1P9EDEPVX$/W,+DJ^8E@=:@& MS9!GNR!3^4'.A!F$(J(=#9\, /'(/ :BG4:4T>$Q$DOC8$MF/)Q[*> @[@1! MH",\]JZ:5[6PPH.2^"0-^1@/9PJ05:F2';PYCXIV 8M;NA[$=(V.Z!AD M#F=:,/L+PU%/?Y@VM1.W+),CQ+J1/*''9OP85\KO!I_NWL.-F4L8?.BS.CNM MT!=#Q;KIN^J&/7K.?J%HO7&J?/"E%Q7V.M@#__%+0/0G'O5O0.2!\H.O_4C% M\>"30#^ZU]Y58QI^-#E)(,;@LN$'IWGV^-C'V>ED_UMUL<)ROCVCK)+'B#7L MFZ_\%Z#\9F^I;(>'=2RB%MM&W@[+LQ6+'']&C(N*_"4L2G[)'@&8"1DEB@,/Q\U6666'Y/ .>T1_^ MF-ZAX\J\=W(XQ'O^R9#G8K; 1:78N:7V1GS?5[YP*SUN[F!61%@MP J_8!8Y M(;B?4';44L]]<" -T.$:N_[X(*O>"2PA2]OC#E 6,<$+) 63X#;8[LWV U2P M#HO>9GB #RGDG\$M:W*32?M%R\?C2NW"'^'*EB/X7E>/"$YF2MD$-TP%YBG1 M&-RHZ$%202:2O74'SF&FYAAS(%SR7(RVGULD8;8,_Z \ ;/;UZ6]T'[5 (^ M3>6_PZZ>9'HOV M5.>!%,I)$&LO\MCQ4L=:H-^H0I5P.PEA7,KW!V"\POLGD.VW[FN?M'_,]1LR MM]5D[_"+F4S&Z+M_55EUKQK';:\ M'33BM4P)-I&7%CFHT5KZ.%K(!N[H;-#=]!F,>I\&GXE>Z?J:/H:-^0) D[\8 M[:XJ^\'M<_[,M'^&ULY5AM;^(X$/XK%GNW:J6T MY#W0I4B%LMI*UQS\SS M>"9.;R/D5[4$T.0Y2[FZ;"VU7EVTVRI>0D;5N5@!QS=S(3.J<2@7;;620)-\ M49:V7=L.VQEEO-7OY;('V>^)M4X9AP=)U#K+J/PV@%1L+EM.JQ2,V6*IC:#= M[ZWH B:@'UC!1GCQ9,^;^-P MS )WN\#-[2XVRJV\IIKV>U)LB#2S49OIY*[FJ]$XQ@TH$RWQ+<-UNC\>?1[= M/8[(Q_']+1G>WTW'5\/IA'RYF7XBP\?)]/YV-)Z0DRF=I:!.>VV->YJ5[7BK M?U#H=_]&?Y?<"JZ7BHQX LG^^C;:6AGLE@8/W$:%$UB=$\^VB&N[?H,^KPJ ME^OSWA* BT..%WK]PWK-8;I0*QK#90M/BP+Y!*W^^W=.:']HL-JOK/:;M/#B3=0I$S,DU4W2QD+"@.<]1,H8GX&L@#R!CX!H/%YE](U.&_%G4WA_TJGG? M]^\ZKNU](/_V<[J4 'O4(0B\AFP&,D?_#@UK>E\J,BPQC=<@N7_"11I3324) M??(["3NFB;")S/!!,*[/&#_+9WHABCS7-!XVKAE.A:8I<6P;^Z_:!M"#"O3@ M:-"'Z+K$E$:NE *MR,D?C,Y8RC3#8XH QT*:H)B\1^XPMP^H8@ISBUZ2:YB# ME/BRI,D)XQAPL5:4)^KT("N:#?O9Z!^&\AKBK=!Y@6]MX)'A&IWCFJR$S,\# MXW&Z-K% +_$DKBA+"#QC45.@"'I,A%ZBTGB[C!;Q+%7^1KJ6T_5JX]"*.A&Y M$_PL;MBI4,IKLUXH#AVGZG>10P5YXA+6 V9T;+\VCJS(M1M(%5:D"H_/)"^8 MH8ZA1K/Z7YH:NVBZ'0QGIRX(K"BP#\)\XIR^,LNQ@F[W@+1CNUMDDS*VLHSM M;C-TQ7.C^NZ1%01NOM--(ZG2W:D_;R!#5)$A.IH,)H2Q1U6UYSQ9RE M 4M1YT*9&:/G&)0ZK IG:X+>D $L&.?;NC2B\1)GY(%&"98O)I)C.-CLU7]5 MM'ZXF)43_WE1V_5*C.0NUGJ)0=Y0M9>83-!?<]%@-ZMA!Q5V-7W5[!E-*8]W M(,[J(((!<55 MV.TXUJV;]<%GN6XW3KG?2L,]P2>U?'"!E9W*E9WCJ^;=,7P M..;^7#-T3I,)Q4];+*A9QE1^UQ@*I8]*?DP.*45:2$-VO&"RQA MR#Y_,(>?R>M/H'BE[)'D[^>D,N9,5#@EEQ-("4'X YE<_?J+$]KG!^3T.SG]0]RO MEI"!69T3Q-9HP2$/N7Q"N,S0[5\UK2 SI(7N(&^GM$2K+:L%O!,G9_O4.+S1 MK[_$KNV=HQ_U!(=)4MP3KKVVFWU'TG;2Z2>52]6/A^:LJ&H)K\E.NV[1&^0X M5N(DYH1K!4Z EFPM'S$GW9O "OW(& 5)B-[7O*2RYL1":_I=_1&6MN-X)^#J M>^;(=M!' EF_97F&:%%Q]D 4A>@6A59D!\;(CP+T$=\SCB7CC;^8W.[5"X1U MG6[D6W'BH!417&83\,+-OWAU'1$T$\@* ;T%.<_5]GO7O_ ?[ZL7N. MQ), OR$L!#$4[/:,K"1QQM.N%8<^FO\!<1_Y/9-.[V?L(LL#E_?V2J)HQ#/Q M+=OKM8U#V,(#1RA]KM.T+NH<2Y(!_$+:I10W \[XH)Q2?]N)G;D4S^V;"T;6VS=%I M?'B/'YW&/_LYA!&-%'NQ1,/'<^+K?9'P&V=B'-C/G\H9KZ?8/1>$4Y9UPSGF M_(F6FUY (XY?7/0ZJB[._T,P%R?*%C7 PL D_=R+KU( % [[T Q A:ZI:@@ M6W;!>P2V_.SG7#=0$":%X?D3"D5LA;%G1H 'O49@#X+& MLQS/&Q)%MC\@\BP[]@=$JB>P#Q2W_#4P'ML4[E#0RG)9I7BNV-3#G*&4" A76+TVL2Q0/\M4TM7Z?#!K'RCMNV8C#DLT[&1K>JXBE15Y >M3UNJ=7A..5&W M,&J-U)E0Z @WT24*([6V/ZX _H2)FC*.%E8"8 Q3D3$5^9HP'DD&WO)=]2II M:@TT_ 2OU3&N+QXNU,HF6-:U.GT-8Z:-OQ%P'G!YW+D\/MKEG_59!.K(VWG- MN2I6QSOQ\"X_&L9>>7I6^9SBBH*=Z=\*CQAB]Q("8@<[D/,E] )IFXF.]IG@-SG*8J\ 3P3@E]T/FQEZE[,M(/>AK7 M"'LFA@$?C'("N2V%F$V%=_Z2O'HPT 6&:)&A.Q>9>(WR$8Z<;FA#I)&"S M6&N^A,R^8Y( 3_2E]>R:LZ(SG4"/5&Z[WE>@4^V&CLZST W.<9D2M-3WONKF MA97=I8:RQ/7.OU]Z_YYJFZRV1!/@\@EM<8;*8PR\9AQ1>+GGK@% 8W1UH,UQ MJK=:LSQGCQK3M!#-Y3$$N%!8@])>=,AQV6$EA\$QD0"]=:& MS-[4T"% LP Z0MM ,U4@7[@)BM3MR6C6MR(G.C[A!E5$'7OL<6+Y<(J*VGN? M'6Q7JG8TO48^TK-I;J#OJ3 U6IO^,NJ%E.M. P%4JSV8!6>2)(;D>S6>Y/5.W,-XI:&_;>B MZ;71 \X!D''VW[J)$33%QL6C!U4!PFNX>&\DCS)6\9GC/&TO?VK1& BH8*RN MIG.:4KF#LH9A1J 3*\!9F89@@M-M\^9T7]C-C,](4#@V^F,9-!7*-&ULQ5=;;^(X%/XK5N8BD#J0"PG0 M :26Z6@KM;M5ZQLI,JH@:G:#G6A&$VL4":&ONM& MPXSRW%G,[-J#6LQD:03/V8,BNLPRJEZOF9"[N>,Y^X5'ODT-+@P7LX)NV8J9 M/XL'!;-AHR7A&Y>XW5OL3HKY8"FU_R:X^ZSHD+K6162T,"#*>5U_Z4L?A' &_%O M[LJ0 M1?F%&KJ8*;DC"D^#-AQ85ZTT@.,Y)F5E%.QRD#.+NYNKUI)C=YPI)C^2& :1#Y>T37?J?"%2L&)' OB._Z MHPY]0>-A8/4%G1Y>GO*L$AR=%L1VN-0%C=G<@7K73#TS9_'QG1>YGSM@C1I8 MHR[MBQ6T5U(*1N2&W#&H*W+S IT&WQ[/R5,J2TWS1/=/ N]6_?'=Q'>#S^3_ M^CZEBK&CLB"05,.R-5,VL_N#OP/P<\YA)>!/T!K]43!%#<^W1-CHL3IZ>YGW M9.1ZK5DP\5LS[\*+O.-Y&)!5*I7Y9)C*:J60 ?),%U5@*EP&6BB6W3'($6BL,=P\4K!"0696(=R3*T M"E<7P=O*L-SZ$J=4;9D>=/1TV/1T>'9/K\JB$ RN+TSYL@GGLAW.ZSJ<*QM. M5H],V"-&MBJ]RO5)1N@&]E]U^NEV_<+B>M$[US7A8#HA'UH6IA'YT%$\45,\T=G%PE4'%/O\5C<5K9&5CEMQ6U:Z MP,'V>V\P!N^$L*]CNW3K5?P_DRW.\+C8@Z@[&0&2J>DE7$R,+^WI=2P-O83M,X<\'4W@ ]C=2FOT$ M#31_9Q;_ E!+ P04 " #3@F=9BE+KDN4% "V% &0 'AL+W=OQ(D2BKTF< MBM/>2LKLN-\7X8HD6)@L(RF\63">8 E#ONR+C!, MF_'Q"XI>1*M9Z0\>6#L40TNH].>I0PB,0FETH#A M;TW.21PK16#&/Z7.7KVE6MA^KK1?:-_!EPBIEK1X*GW#VA+B2!FWJ0;NJ5X-Q-%6',I<7-ZB MV\H#- 52^5*H&D:D6AS?1^,JRUT M*@O/G$Z%V/[UOL.,P>UF8,N[>,YI%^4QP1=8,K1/8YS@J9"4@ B$8@MT"SG MX0KPB'0B"?0GQZDD$;J#N',D5T0%S&[$9C%.T9V@Z5*_/(MQ^'@$NS XYZ,K MPB7DR*=,I/1@A."*!PE8$HB#L>]+6_Z]@XUGFE[,%W[$M$UC4@: M[8R'[>R.;WO^L^8TT(37A -%HX7"XEIC$1"85=#B!0*7)0*CG% M"H-)'+,0Z\*AT'"[8KF Q>)P9SITV_+:Z?"C_]N5@M0>^;)O7ND\TOG3/)TS M(34O<;(F:0XV8[7&KC'T[(VQY3CH!C@5P]GH0XM :\PR: =D M8X;A#KW6R Z:37S#'S1;>(9O!>!,#$>S--"2I(#GV-":<01EE0H)F0;]04M= M, I:(W_4L,7(L =!:ZO M0HP':D&(4(A2Q2*"OB0$E&->[XQ=-ON>T80!.WP MC QOT!:P/OT!\ TM9+PD+80?0Z,P:&]S@%*U=PE3%%HWBZ)3QI2JFN--5(\;"L>5B5%C1?80[E^DM1J[\1:)V]@?[&:0X?'4 ]!6>Y MH\WB$SCUN&JD]JV253PB=##L"65!@P!*-JZ(+NTNI1 >]F_E=[Q!-U*\/? M3NL5VVH>V7JK*:MAOP^*-\ANUE-=G4,MSG-AC[":V6+:YF66]/9T!UL M&>-ZYL"ILOU@Z/G;_.4,37>(+AA?$*JE!LZV$.SD#]JF[^_?G]$7&U]DO'%7:'=S[6Z9=&^1XQD#Z&,A M^-""^\ZNZ/=;=TD)X4M]8R:@I&ULW5;;;MLX$/V5@;HH$D"U;G9\J6T@%Q3,\ QU>#SCG9 /*D;4\)2E7$VL6.M\Y#@JC#%C MJB-RY+2S$3)CFDRY=50ND45E4)8ZONM>.!E+N#4=EVL+.1V+0J<)QX4$5609 MDS^O,!6[B>59]<)]LHVU67"FXYQM<8GZ>[Z09#E-EBC)D*M$<)"XF5B7WNBJ M9_Q+AQ\)[E1K#J:2M1 /QO@632S7 ,(40VTR,!H>\1K3U"0B&'_OI[L?N*^WI*@*%(5?D+N[VO:T%8 M*"VR?3 AR!)>C>QI?P]O"?#W 7Z)NSJH1'G#-)N.I=B!--Z4S4S*4LMH I=P M\U&66M)N0G%Z.I^MX-O\^NYV!F=_WBV7Y["8WQ@AF/,#J.=PAA ].O85[Y)Q,N,>] X-K@NW[W1+Z@ M*3LH\P6_7_;HI7*K;-V7LYF',U(Y"W%BTR M3Y?T$*,B11 ;N&(J"8'Q"&Z2M- 8P8Q)GO"M@@5*6,9,(IPE'%:Q*!3YT2=X M"C'7K>W+3!1.'@>\&G^&_&E>Q1#SB%A S-&9KJL[0HW:<$_"W M^!DZF9^@-9L7&4JFA1R]BF=.JIGP4&1TZ:E0ZKS9^0-\VW\P7$$V3?(!3WTMP&H^+ KM8>*9(^$?(N@S(=60"*L-)& ^-%$! .[[[EM MTQOTVV:OZQ_,OCT,7)AM-B2BAG^181W)*) PA0\@:' QE:U0;H!O+2)(K#WS*L0S0 M8(B5(%&05]-0F8Y:GXB?5Y>2'# MF#08\I3Q \IA[^AB//]P0=W!X1MXMMOM-P_GMRYM:'MN[Y>7-K1=?]#>'?;[ M;^;T>\?G',SIXLIB7N?/>\>*?P<*NYUCSKL=+S@_WA_^V[W^(._*XW. M]MZLLY=<)Y]N:K(O*V:0DJ:%T9*-%!ED][O7CV2LFMO63&N>"?3FJ*><[]PZOS[&#H0;][D#:?LLYJ_5B6@8M:/Q:U M?K11!(-G2[6]$IJE^Q,]N]OSGYVTG[_$0Z?5GM%?R[9L0A6)(/T-5YU:L]KT MN9=5>W=PKYKD6R:W"5U@BAL*=3M](I"L&L_*T"(OF[VUT-0ZEM.8>G64QH'V M-T+HVC '--W_]!]02P,$% @ TX)G6:J9QW4B! &0T !D !X;"]W M;W)K&ULY5=M;^(X$/XK5O9NKY5\Q79>(%U HK3; MY=0W ;W];!)#HDUB+C9E^^]O;$((+$75ZJ3]<%]P/)EY/"_/Q$-W+DVB]O&RU5)2(G*L+N10%O)G+,N<:MN6BI9:EX+$URK,6(R1HY3PM MG'[7RI[*?E>N=)86XJE$:I7GO'R]$IE<]QSJ; 7C=)%H(VCUNTN^$!.AGY=/ M)>Q:-4J8]9T OKWRC;Q7^3L5:-9Z1B60FY3>S&<4]AQB'1"8B M;1 X+"]B*++, ($;_U283GVD,6P^;]$_V]@AEAE78BBSKVFLDY[3<5 LYGR5 MZ;% M7G/-^]U2KE%IM '-/-A0K34XEQ:F*!-=PML4['1_^#R9/M[?C-'@X1K=WCS> MC@=/7T9#-'KX_#B^'TQ'CP_H;,IGF5#GW9:&$XU=*ZK0KS;H[ WT$-W+0B<* MW12QB/?M6^!I[2[;NGO%3@).Q/("N00C1IAW L^MPW"WN#ZAU' M-8UTJ98\$CT'.D6)\D4X_8\?:$ ^G?#9JWWV3J'W)]"8\2H32,[16+R(8B44 MFI23*"-1:/B@_8QJ7<]F;8\*GPLH$82CN:G4UOXWQ"@F@8\\ M'_W>E'K8:[=K@=^!MW_Q)2]^<"K K.W7.^HU8+:KBZF[4VF#QI2GZS>PW--8 M%+,PV"&#QC!)"[[S% < 05G#M(U]+]P!F%#&0NDME>$6R.*&,H7BT68V?-P) M#[R:2LTSN&-L;AMI\P+LD1!10O:RZ3'L^N1 _*O6!^BY_Q?%_0XFC!Y2O$TP M"R,\(:ZI2@2*[ JQE4 M=J55&@OKZO/%Y.(8:UJ-<16 %G8H5P:CT)O)M9;6<_]@,^[NU#=_&NYYN4@+ MA3(Q!U-RT08FE)M!?+/1&UL[5AM<]HX$/XK&MKK)#,$C"$OS0LS)$WO,M/T2H;E??[N2,9 3:^3ZX>[#V!K+>WNL]I]]'(ZT^:SS0 <^YI+9<\:F7/% M<;MMDPQR;ENZ (5?QMKDW&'33-JV,,!3/RB7[3B*#MHY%ZK1/_6R&],_U:63 M0L&-8;;,SD'JV5FCTY@+;L4DST/?P;8,EI74ZKP:C![E0X XUW\_N+IEGP8?[B_9]>5@>'][>7WY\6[( M=N[X2(+=/6T[M$)]VTFE\3QHC#=H?,NNM7*999QUL5 M#J%HL6[49'$4][;HZ]:0NUY?]_L@'Z^#&C3UUFNB@CFV!4_@K($58<%,H=%_ M\ZIS$)UL\;-7^]G;IKT_Q ),2PE,C]G 6G"670.WI8&4<2 0;A MWA+(YVKYH]0. _923MX8D8!E&.N7LC#PO%4WAV*BQ%@D7+D?5GW-S6=**^3V M6O:[R\#\L.:K%*<*G90+O2.J#R*59T'!HG>0C] 5JOPZ%J$,:BNJ*)>:]THO MC%1=B3/8S@>8@F2=W?E;O#L?6PFZN^R"VXS!EU),N?1Y]LWH:04/R,440Y:7 MKD2TXQ*+K>[QFAU%S:-NM$U ;YWX9(UDF&GC]AR8'--K"M:%]-_A4RXD8=S# M>=NSZ"TN0R/'+!& < )9^YN^W[>&+?:KGH)1I'5I+-OI+(;'W>8AQF]#\['K M\_9'K?:(BT@Q7YVQEWI>:(R0<8)F7F'!XWXA 1$RX5L!>\"TB)^&+&Y&G>Y: M@X\Q;Y,'+7?:+97":]:)#IK[!X2JN2#C[EHR?FD6[C:/.M$VP<]AX>]DX_FSB^31ZVUJ M;F+E)QP41\WN"N,\E6P."_DUL+0U75VI:;UM,MQRKF8+S7R380XSGF,\Q5]8 M^XFVCA20]$+G!5H%']. M5W*[F$KL7BD(SE)U I9\"5%NJNC7!,[P' M+#76*T8&A&<=H5(Q%2E6EGR@SY6??#(Q,$&=+;]^7BDV*"=X8EW8GD\K*TJ# M0;1T<&&OXU:$)UDIZ5"N<*L0:MV [9([2)XY.DD>; 2_NG.RV\#RT:L,K'@$WF$=L_Q=$AA'"Q&,&#: Q M%3!3P&?H<4@;H LH![XSX*F+Y$ES01^UCYPZNE&:!Z[) FAH343/4)NMKXD ME-52I![>B$M*,Q8N9_B&8FMM*4/GX2ZJ[ GTE>(1M.0L,I3;?Z$J'MGTVENY &PO=V]R M:W-H965TQFMB9;:"3]N-G)R$#E@:VL1>PG?N^\W=WN5QWR_B+" $D>HTC*GI& M*&72,4T1A!!C46,)4/5DR7B,I=KRE2D2#GB1@N+(M.KUEAEC0@VWFYX]6]NG!D\$MF)OC;22.6,O>G._Z!EU?2&(()": :N_#0P@BC21 MNL:WG-,H7&K@_GK'?IMJ5UKF6," 1<]D(<.>\=E "UCB=20G;'L'N1Y'\P4L M$NDOVF:VSK6!@K60+,[!Z@8QH=D_?LWCL =0/.4 *P=8QP#[#4 S!S3/]6#G M /M<#TX.2*6;F?8T<$,LL=OE;(NXME9L>I%&/T6K>!&JZ\277#TE"B?=B??D MC6<>NIT\C-#@83R=W RF/GJ^G]ZAP&@B4:,RE @CRY@48(?5N.O*_"F$ELHMG:*^U8EH0])#37K'Y%5M^R2 M^PS.AS?+Y/R;=^^OO1\$HUFDOYGRV6_PC=?Q'#AB2_7.;X"N 0FVY@&(LD1G M5$Y*I?O/QK6ZYF8_="$DR[T)D!WERBCPYE7GRR8J2)0DPE7GG4Y49'&3L*@&NM^H+5MJ*,@?7>[73 M.*K0DQ;#DQ9>E<6!\E:AO'79"E5G8T8_S?RR(%3Z^M-2O239\))DWH7(#A+6 M+A+6_M^EVOZMB.HUQSFJUC(C^[BEGL/DE3+91V5K[LT12M$J'>"$$K:F,ONF M%*?%C'B3CD9'Y_U&9] H.1^JF3(; 7_19P/I"/,5H0)%L%2NZK6V>LEX-N1E M&\F2=(J9,ZG"G2Y#-1<#UP;J^9(QN=MH!\6D[?X$4$L#!!0 ( -."9UF' M:Y[+^0( %X+ 9 >&PO=V]R:W-H965T^!A#H-8D)[QEK(=*.:?)@#0GF5S0%(M^L*$NPD%,6FCQE M@)>:E,2FU6BX9H(C8GA=O39A7I=N1!P1F##$-TF"V<\^Q'37,YK&?F$:A6NA M%DROF^(09B >TPF3,[-0648)$!Y1@ABL>L9ML^.W%5X#GB+8\8,Q4IDL*'U1 MD_MESVBH#4$,@5 *6#ZV,( X5D)R&S]R3:,(J8B'X[WZ=YV[S&6!.0QH_!PM MQ;IG7!MH"2N\B<64[NX@SZ>E] (:<_V+=AFV[1HHV'!!DYPL=Y!$)'OBU[P. M!P2I4TVP%&V*!O2ZC.\046JJI M@:Z^9LMZ143Y9":8?!M)GO"F_I/_\.BC[]/Q" W&#_/I[6 ^0\_W\SLT>)S- MQR-_.D.7:!AQ'(8,0JS/EZ[0%+9 -H"^#$'@*.9?NZ:0&U*R9I '[V?!K1/! M;32B1*PY\LD2EA7\83W_IH9ORD(4U;#VU>A;M8(S2*^0W;A 5L-R*O8S>#_= MKDKG_Z+[_QS]J!AV80U;ZSDG]"; ]#U$ D!T$4?9T?,+E (+@ AYC2@?L,P' MO.KXLP W.H"ZL;9>LVMN#POZ)F+X)L*O0QQE[A29.[69C[? T%Q>AU4YU5+5 MM=[A*0Z@9\A[FP/;@N%]_M1T&]^J_'1.L>$YQ?PSB1W5OU74O_71SFO]X8G& ME>N4S%<)NB[YKQ+4+EFP"M1VJEWH%E5PZZM (R(N(W(I3CBQEOZW3CRGV/"< M8OZ9Q([.H%V<0?NCG=BNL(;MEIQ8";)*3JP$V24G5H$LM^1$\Z!A2("%NE/C M** ;(K(_B&*U: 9O=0]46N\W.X-FQ?I0-H]9K_=;/NL\1YB%$>$HAI4,);\2 M^>FPK)O+)H*FNEU94"&;'SU&PO=V]R:W-H965TL]2P@=&+$1^;9H\C"'#_(+F0.3*DK(, M"SEE*Y/G#'"D05EJ.I;5,S.<$,/OZV<3YO=I(=*$P(0A7F099K]O(:6;@6$; MVP?39!4+]<#T^SE>P0S$(I\P.3-KEBC)@/"$$L1@.3!N[.O 4_$ZX#F!#6^, MD7+R2NF;FCQ$ \-2@B"%4"@&+/_6$$":*B(IXU?%:=1;*F!SO&6_T]ZEEU?, M(:#I2Q*)>&!<&BB")2Y2,:6;>ZC\=!5?2%.N?]&FBK4,%!91J(G'"GXZ>1T^+$;J;CA]1,'Z:3V^"^0R]/,SO4;"8S<>/H^D,G:. $L%D MSM$M3C$)@:/3(0B5@P M!D2@G#+==PD)TR*"2#FE(@:&2",*2;U::[]GVWUSW72W'W/E MNG7,C@6WMN"V6IA3@5,4;JMW7%])TVWN?6EU/@C<#_(\QSJLL%,K[+0JG##( M<1*AT;L\F;AL+-DZ:*PS&U19O3FJNI5:G8#7/,^Z^[7U;YR/]1U/ZCG77J'Z]JK M'?5:'94E;+Y"Q\O8RO2O9?PBLAW37FW:^V\GAO>)$V,_9O_$,!NW@[J9'S%; M)82C%)8295UXLNZLO.W*B:"YOC!>J9#7CQ[&\@,!F J0ZTM*Q7:B[J#ZD\/_ M U!+ P04 " #3@F=9N'@^6HT# "K#0 &0 'AL+W=O!'3FV80-B2:Q M,[:!SOGZ8RSM[I:RWSP&$.@M2PGO&;$0><11# MAODMS8'(+TO*,BQDDZU,GC/ BP*4I:9C68&9X808_6[1]\+Z7;H6:4+@A2&^ MSC+,_@X@I=N>81N[CDFRBH7J,/O='*]@"N(U?V&R9=8LBR0#PA-*$(-ES[BW M.^.6BB\"?B:PY7OO2,UD3NEOU?BQZ!F6&A"D$ G%@.5C T-(4T4DA_&GXC1J M207!7 .U?!KP#^ MN8"@ @2%]Z59A=,C+'"_R^@6,14MV=1+D:X"+0U.B%I84\'DUT3B1'\2_@R? M7D,TGCP_HN'STVQR/YQ-T:\?LP69'A)R;%&TF_Y5BUYX+A?.^XW M.OY$R_JV?W=W9'*CVD=-/D$%P_*_01+EM-SB,&C=:^M&]WMPK)C-@JZ+LYRBB:R+*P[[NK6\6]T5!?=0_ ML#M#6],_LCMA>7'XG[Z\QCQB)O/ 40I+*67=MN1Z9N75H&P(FA>E[)P*61@7 MK[&\30%3 ?+[DE*Q:RB!^G[6_P]02P,$% @ TX)G635),A,2! [Q( M !D !X;"]W;W)K&ULO5A;CYLX&/TK%KNJ6FD[ M7 +DTB12AHLZ#S,9)9GVV0-.@FHP:SN3:7_]VD H&0@E&K0O"38^YWS^CF]X M>B3T!]LCQ,%KC!,V4_:Q9#=D!0EXLV6T!AR4:0[E:44P3 #Q5@U M-,U68Q@ERGR:U3W2^90<.(X2]$@!.\0QI#]O$2;'F:(KIXI5M-MS6:'.IRG< MH37B3^DC%26U9 FC&"4L(@F@:#M3%OK$US4)R%I\B]"159Z![,HS(3]DX2Z< M*9J,"&$4<$D!Q=\+=%9YXA0P[!WZ.0[V?* M2 $AVL(#YBMR_(J*#EF2+R"89;_@6+35%! <&"=Q 181Q%&2_\/7(A$5@.!I M!A@%P'@+,"\ !@5@T%7!+ !F5P6K %A= 78!L+/ HD2-KS:EX&PD.,N'S6KA;-;@^]WF*W"> MUIOEO;=:@\_ (8PSP E8/G,Q7@&AP#_@;80Q@.)EPJD8(^"CB\1;S#X)Q-/: M!1___C15N0A3BJE!$=)M'I)Q(:0!N!=\>P:\)$1A ]YMQX];\*I(3YDCXY2C M6Z.5<(W2&S#0_@&&9I@-\3C=X8.F[KQ/W7N?NM\.=U$@X'H3_"R7@W*\#3(^ M\P+? TD^!P=*4<)!2FBVND1)@ _"*B#'%=\C"I)**\@8XJQI&.5*=J8D5]"7 M^4"SQIJF3=67JCVM$\)2&*"9(M9FAN@+4N8?_M)M[4N361U%O3Y%_;JH M88V&5=$S,\S2#+/5C WA$(, II'XCWX)!\*(BB4?,(@1 P&)XXAE>T@@IW^3 M![F 58G,L@VK[D%K(-=ZT%'4ZU/4KXN:EJE?], J/;!:/5C$8_S--?I='-LUMKYK8GH;L=9FNTRS79K MFN_B%$8TE@L*)F)%8>)8A"$7219[6C7GP6DONYCD5J$K1Y73)YEKUPQ[:Y5= ML^JM23T%=&;2L#1IV&K2(T7"I1!XK^+@+#V"20B6V8[@%+O!XN)NT$I]K2U] MDKE]DGE]DOD]D9V9/2K-'K6:[;2< M)B(*#J0,B/!G\^%HQJL\"P;+N^"K:& M=ZW''46]/D7]NJ@^MLR+6]*X=&;?RJ5M>7MS"*[DWA3?ZM/'+VAWM4G7G[W\IL^OPJZAW07)0Q@M!52VLU0 MK XTOUW)"YRDV6W ,^&<)+_?"BV.N4YWDM0VRQC\ML4 M4[$?.6WG>6')-XDV"^YX6+ -AJ@?BGM),[?6$O,,<\5%#A+7(V?2'@1](V\% M/G/A?AJ)K?QR/&,0YABI(T&1K\=SC!-C2)RX^]*IU.;-,##\;/V M#S9VBN61*9R)] N/=3)RWCL0XYIM4[T4^X]8Q=,S^B*1*ON%?27K.1!ME199 M!28/,IZ7?_94\7 (#W- +\"^"\!W5< G0K0.=="MP)TS[70JP V=+>,W1(W M9YJ-AU+L01IITF8&EGV+)KYX;NHDU))V.>'T>!E\#CX]!/!A>;> V=VGU7(R M6X7PY7;U$68/X>IN$2Q#N(9)''.369;";5Z6I\GSVSEJQE/UCD1"L=9[)A'^ MX!$5$@++8UABRC3&$*+PX*G*1E30U=3Q,9O-ZJBFY;1^:]$UX&%R'6B(,ACC!OP\]/XFQ-X MEYBNZ?:?Z9[Z)Q6&6+2@XUV![_G=!G]FY\,[3>'\/^O!3UL_(J-3UU['ZNN^ M5GNXPWR+4*"T%95'".(QY1M;6PH4_=6:4_50$= MN.-BJXPT%TVYG);6VIXU M9R[(W?C::_TV='>'##=+]8^EYDU2[5;W6"IHD.JV.K70$2O=FI7N.:QR><1IO^:T?Y+3 MA:!G1R@K MZ('>V(9.022VN2ZO^7JU[ADGME5ZL3YM#V;MAO4Y]9AE2_BO^K)!73"YX?0& MI+@F4W2+4WG)LNDK)UH4MJMY%)IZ)#M,J$]&:01H?RV$?IX8 W7G/?X'4$L# M!!0 ( -."9UE:LB0L-@0 !D5 9 >&PO=V]R:W-H965TP'7P$(]#..$CXT5D*D?=/DP0IBS.]H M"HG\LJ LQD*^LJ7)4P8XS$%Q9#J6U39C3!)C-,C+GMAH0-";+E<@*S-$@Q4N8@7A)GYA\,RN6D,20<$(3Q& Q-,9VW[>= M#)#7^)/ EN\]HRR4.:4_LI>OX="PLA9!!('(*+#\V\ 4HBACDNWXNR0U*LT, MN/_\RN[GP_Z)M4;0/*H 4X)<(X!S3. 1@EH' &<JM J M :U+ >T2T,Z]+\S*G7:QP*,!HUO$LMJ2+7O(TY6CI<$DR7K63##YE4B<&$W& MW\8/4P_-OGC>=S1]O']Z?/ >OL_01Q<$)A'_A&[1R\Q%'S]\&IA"*F8X,RC9 M)P6[YI(E8<>4D(H0+OZO$]#=Z4D5;A.J_A3APMX0S2.]2P;I!C.4U% M>Z:7PQNJ<'Y-W?LU=5\/=R&0<%L%/_"R476=1L[7/,/WDLQ)%$$H)Y@ R ;/ M(^"RLR0TN0W6C$$B5!VFX&SGG-FTMQG9EF.W+ONB!\!>D>$!P,34G(<(Q M98+\DQ>H/"_H6GOMZ%K6J>/-T^8ZBGKN*9W34]3S3OD:*EU?&^WEGA]XV:J\ M;&F]_$QIN)7=^ 8%F+$=29:9FVMUWVV=!&ZW+-L^=5*K>6W?;9VF1:GJU:GJ M*V-USG?>=F5X6VOXUT3@9$GD9($PYR#XS4'W12DP0E5+Q43+>V5XTSK)7'W$ M3;0#S#CJH+A8S-HHQ#NNFO_K;)5?$]E!ECM5ECOZ+,N^#()ON.7JN;%6YJB6Y=O*ID\RMD\RKD\ROB>P@K;;U=K"QKMZ>*D\PUNEV MQNJH]D=ZP6OS=K&N5ZNNK]"UV\U#W4/+]\Z2MM;R1[$"AA[>#@!HG"_Q2MNU M5->.J%K9W%K9O%K9_+K8#E/LO*78^1\.?27IT?E+.<:T\E[QQ?GMU5#ZQ^U-;4>[:?:^XI7NC+RX- M[S%;DH3+3<5"2EEW'3DCL.(>KG@1-,WOC>94"!KGCRO (;"L@OR^H%2\OF0" MU6WHZ%]02P,$% @ TX)G6?GL !H7! ZQ( !D !X;"]W;W)K&ULM5AM;]HZ&/TK5NYTM4FLB?.>7D!JH=TJ;2T:;/>S M"Z9$2^+,=J"]O_[:(>2%F'2=PA=(PO,YM=F=#PD M&8_"!,\H8%D<(_IRC2.R&VE0.USX%CYMN+R@CXL)SS+^G,RK.]!)E%<8X M82%) ,7KD78%+R>F(1ORBA\AWK':,9!2'@GY*4_N5B/-D(QPA)=<0B#QM<43 M'$422?#X58!JY7_*QOKQ ?TV%R_$/"*&)R3Z-USQS4CS-;#":Y1%_!O9?<:% M($?B+4G$\D^P*VH-#2PSQDE<- L&<9CLO]%S,1"U!FB?:#"+!O-W&ZRBPCCX^NK+U?WDQLP_WQS MLP"3AZ^SA_N;^\4?P#LH'X!9A(3DQ@ ,P"=*F%+D'M7-4>7ZV8X# MV[#AFB_6H1 M"E!,* __RR^HV.__P*GQ^FC[!O2.Z*O* L=TU/SMDK_=R7]!.(I 6I]R^##B M*K)VBX7M&C XXMJNLCS+\M54G9*JTTEU0N(TXYA64T)%L!-#WIPO68J6>*0) MEQBF6ZR-__X+NL8_JNG?$UA#KEO*=<^R&-S6V$,8M!Q25)D./#&9O)*RUTEY M3M9\ARA6T>KL?*LO/8$U1/JE2/\LOOBM$7=<^WB1*XJ**ML[<=>#50: KX0 ]$@HXH3N'Z /?//:4ZH;\,V>]836E%]%"-B=(?[8 MLW9,<%P3'GNFB!Q^<&I]56$"=J>)!6;\%8]ZC1)]H37E5F$"GB=-P'90,%W3 M/\[6JC+'L.T3+E6! G8GBNGM'9B_,(YC<,48/G$#[#5;](765%RE"WB>> '; MT<'T@J"UFA1EPLY31E49 W:'C,F/@T_5';##L5[315]HS7?6*EZ8YXD7!6S] MA=2S3/OXK;5=Y0:>=^277MN)D-M 7Q%]"A,&(KP6;<:%)PRG^YV5_0DG:;XY M\4@X)W%^N,%HA:DL$+^O">&'$[G?4>YOC?\'4$L#!!0 ( -."9UD0CQM_ M[ @ #!2 9 >&PO=V]R:W-H965TMLOB2V+YY#WD"+OD<2KE[SX4FZ$J,C7-,G*Z\FFJK:7TVFYW(@T*M_G6Y'5 MOSSE11I5]==B/2VWA8A6;:$TF5++\J=I%&>3FZOVV'UQG-U39:BP=1_;Z]+^IOTP/**DY%5L9Y1@KQ M=#VYM2^Y&S0%VC/^'8N7\N@S:9KR.<^_-%]^75U/K*9&(A'+JH&(ZG_/8B&2 MI$&JZ_%'!SHY<#8%CS]_0^=MX^O&?(Y*L0W>,D_*]B]YZ_< GY7P&]COP]6&^DPJJ*;JR)_(45S=HW6 M?&CE:DO7 8ZSIF<]5$7]:UR7JV[N;O]U^W'!R,,OC#V2Q6\?[G_[R#X^/I + M\FM61=DZ_IP(D2C-BRK^,VJO*UM1Q+E.]#L0M[G<7I;;:"FN)_7UM!3%LYC<_/2# M[5L_ZQ3#! OA%KOD541%20*2[KNE3U;1JVY<,,Q:<20P167WH+)KJO*ZR,N2 M+*.B>(VS=2/Z+JO>D2JOHD0G]Y[ ;PF:R?#YQIWYL[H+/A_K"%;#5,>S*!DF M)==1!I9[H%2B[QVB[QF/L>5RE^Z2J!(K9;P! NPYO*.J73B>YUD]!<"JF"IP M'B?#Y.0Z3L>:C6C@'S3P337(ZE7A^?W?'U3+=FRGW__!2IA&_RQ*ADG)-92> M3RU][(-#[ ,P]H]-3-5I)7^JA\ ?N[BH^W_ M$PYQJ.O[O9 .@:COS=63.-CF[[R>SPX1G8$17;3+3E&03R)I UINXJTV;B". MZ2R-"19B@C%,,(X$IB@[/R@[_[MGZOF@B\\]J]?%%V M3*4\AY%A,G(MXTQ_ MF;(MF6E9_\!$W9$H,U@0!+TKT0*NBZD$YY$R5%*N)74<;T2'HXS7_GLGZPY? MF<<"Q^TK -;"6 %[,&L,.1DJ)]>TD]:D(_&G,O[T.Z87\C_R(<[B=)=J0PY" MFLXTJ&@A*AI#1>-8:*K4,OVWX6SX]GA5=M\F^^3-?^L$^:U69-2D'Q4M/-%0 MNTW[M7JBIOE8:*J>,M&WX4Q_?.A&7T>'+F8*O4!%"U'1&"H:QT)3I9:N@@W; M"H9#%S-)7Z"BA2<::EM[RTZK**KW@(6F*BH]"ALV*4+Q+))\6R\U'\5RD^5) MOG[5:HF9\R]0T4)4-(:*QK'05'FE#6+#/@A";F;)CY4&<^\,/ARA@+<1XK0V7E6E9JS4<< M65M:';:QUV&8Y@UM -ORW5E?!%2SHT/S85*&2LIU+:6>Y^LEH-+QH+#CH9MQ MX#P/!C2=>U#10E0TAHK&L=!4H:6E0F%+Q6RQ"(,9BXSJLYQHJ#N^5D2M!\=" M4P65'@V%/9JQD3N>YL& QJ*B.C2H: P5C6.AJ4)+AX9B.C0PF+'(J [-B8;. M@9&+:M%@H:F"2HN&PA;-8Q&M1!:E]:HGJT=O\RV-BB_:VW-8:*K$TIJAQD]\F&9Z=/@V DZ%R\E/M5!605@HU M?M[C.](\.GP>XL*VK?Z#!W!=C%4XBY2ADG(MJ45';N51Z7E08\_#+,>C0Q_ M'0X#5+^##OV. 25#I>2:5GIC]_&H]#HH['6,S30G,CS49T90T4)4-(:*QK'0 M5+&EFT)A-\5PG8AI3RQ0T<(3#:7 .A'5=,%"4Q_,EMZ, WLST.@=S_)@4./G MLE']&50TAHK&L=!4L:4_XV#Z,S"8L/ !LU] MO=#,*JUZJ$8,*EJ(BL90T3@6FBKHT9LRQJ_*F"9U'8/ZO-8@G8#K8:RH,UC- M#CD9*B<_U4Y5 >F<.+!S@I/4=21JJC-S@[X*J&;)>:0,E91K28,9'=%!VAN. ML;UAEM0YPZ2?>OU[IW EC 48>AL#2H9*R36M=.P19\.1SH8#.QO[>05.X6 ( MXQD&U=Y 16.H:!P+3956FB4.;)88+@(Q'8@%*EIXHJ$^L 9$]56PT%1!I0'C MP :,'*M PH9JMZ"BA:AH#!6-8Z&ITDJ[Q<&T6V P8Y%1[983#043-E2_!0M- M?45:^BTN[+=\S+-EGFY%%;>:WJX+(=)Z^&IOS,%8IH*BHH6H: P5C6.AJ1I+ MF\7%M%E@,&.146V6$PUUQ@>B&N^?8AY1NX.[8(+C02HMLA9G R5D[M#*^9B7(2C MS3U@6V21EU79O%+_23R+;"?T$Q;JDR2H:"$J&D-%XUAHJK;2:G$-7O(YWC6A MDD_]Q=DRV:WJ8[ML)0IRZ X%U!V&WH0WZ[\@JSLIZ)T4:DZR Z__XK'N++^_ M@P.'@_&]P9;6B@M;*_O(-7?;V->MR,J1T*&:*ZAH(2H:0T7C6&BJN-)<<0W, M%7#_$=+R9\T$5HIM5-136?+:#:[EH8L(J(L,GR"QY_TM�G.736'UW#DP*[ M_U*YYJ1YT-^O! Z/:?BG1QO:I:)8MUL/UJNN9JVUWWWL%MNZE?[_B= M?;FP-<=#^Y+M-R^4\/N]%#]$Q3K.2I*(IYK*>A_4%XUBOSWA_DN5;]OM]#[G M596G[<>-B&KUFA/JWY_RO/KVI2$X;!)Y\W]02P,$% @ TX)G68S$6BFM M @ #P< !D !X;"]W;W)K&ULE95=;YLP%(;_ MBL6JJ96V0H! Z A2DF9JI;6-FG2[=L(A6 6;V2;I]NMG&XJRA3;:#?CKO,][ M##Z.]XP_BQQ HI>RH&)LY5)65[8M-CF46%RR"JB:R1@OL51=OK5%Q0&G)J@L M;-=Q KO$A%I);,86/(E9+0M"8<&1J,L2\U]3*-A^; VLUX%'LLVE'K"3N,); M6()\JA9<]>Q.)24E4$$811RRL3497$TCO=XL^$Y@+P[:2&>R9NQ9=V[3L>5H M0U# 1FH%K%X[F$%1:"%EXV>K:75('7C8?E7_:G)7N:RQ@!DK?I!4YF-K9*$4 M,EP7\I'M;Z#-9ZCU-JP0YHGV[5K'0IM:2%:VP\3U:J6F&R95$ZW,$:H_RE)R-4M4G$RFDV^3^]D<+6_F M\Q6:/=PM'N[G]ZLE^HPFE-:X0).2<4E^8[.)+$.W*5!),H+7!:!;*C'=$MV< M" %2H/-KD)@4X@*=(4+1*F>UP#05L2V570VU-ZVU:6/-?RVZ7L&EWO/U/N<]@H^?U*^L!$T3]K&''&IYB!7VLX1'+C1RGGQ5TK. 4*^QC M!<>LT']C#\..%9YBC?I8X3'+]]U^UJACC4ZQ(J2.F_I90-7H3 +O0X^.T /7 M&?6CHPX=O8M>,:FJ15;+F@/"AT4#7M05(J#/2'3TRPZ\@>?]X\0^J&_ZJKC# M?$NH0 5D*LZY#%4FO"F_34>RRI2\-9.J@)IFKFXLX'J!FL\8DZ\=746[.S#Y M U!+ P04 " #3@F=9>;DZ1Q # "O" &0 'AL+W=O_R\Q[?T]ES\E!L A9XRRF3?VBB57]NV3#>0 M87G%*// 3GHY7L,,U&,^%;IG5UF6) ,F"6=(P*IO#=SK M86SBBX#O!/:RUD;&R8+SGZ;S==FW' ,$%%)E,F#]MX,A4&H2:8Q?AYQ6-:01 MUMLOV;\4WK67!98PY/0'6:I-WXHMM(05WE+UP/>W$F5F<*:'?$JU3RD<__ MQ[*T&2LS==HSF5UX+7.<0M_2VTR"V(&5?/S@AL[G-IO_*=DKTWYEVC^5/1ER MJ6_:N[KD9Y 5Q5 6]\M*IO'1.>GED"T*IMH#3E&^9YA60 MGA!85C M=*\5O&PO=V]R:W-H965T32/;K21MFYH2&Q4=(//7G+;6B1VL)UV^_=<.UGH(RL@^-+X M<<_).??FVAVMA?RNE@":/)8%5V-GJ75UYKHJ6T))U8FH@./.7,B2:IS*A:LJ M"32WH+)P \^+W9(R[J0CNS:5Z4C4NF 9)']L\; #\ M\ 5 T *"/P4,6L# &FV465N75--T),6:2!.-;&9@3*S*[OKJZ(Y//-]//MU>W=S-R3&[Q&_K(5Z T5DT3QLF,%J".]5,% MY!-@[A1Y>PF:LD*]P_C[V25Y^_H=>6U"[Y:B5I3G:N1JE&E>YF:MI(M&4O"" MI!E4)V3@'9' "\(>^.0P_!(RA/L6/MB&NYB<+D-!EZ' \@W^,D-]QAJFL)_) M-.29JF@&8P<[3H%<@9.^>>7'WOL^F_^);,OTH#,].,2>VO)BEV; 5O0!J][G MMJ&(+84Y+5:I'X=1-')7FS;VHT[#V.N"MN2%G;SPH+Q[OJBII%P#Y*A2L;RF M!:%*@>Y5VK!%&QJ2*-@5NA\4)G[2+S3JA$8'A9H>8EL]I'[U4&%[J$]OM"HE;6*/]TZ/<;33JCR;^6YHAP MP8];%WWRD_T.&";)<$=^3U3@G\8[\MV-0]Q(^#- &X/Q="/T_,5='],TA_ E!+ P04 " #3@F=9 MA$D:\20# "Q"@ &0 'AL+W=ODSBS'6C__>PD32FD84/[ M G'L]_7S'BNV^RO>2$*.$YB5,Q,"(ILU/3%-,($R).6(:IZIDSGA"IFGQA MBHPCF16B)#8=R_+-A-#4"/O%NQ$/^RR7,4UQQ$'D24+XRSG&;#4P;./UQ3U= M1%*_,,-^1A8X1OF0C;AJF;7+C":8"LI2X#@?&&?VZ="VM* 8\8/B2JP]@X[R MR-B3;GR?#0Q+$V&,4ZDMB/I;XA#C6#LICM^5J5'/J87KSZ_NWXKP*LPC$3AD M\4\ZD]' Z!HPPSG)8WG/5E=8!?*TWY3%HOB%5376,F":"\F22JP($IJ6_^2Y M*L2:P'8_$#B5P/E;0:<2=(J@)5D1ZX)($O8Y6P'7HY6;?BAJ4ZA5&IKJ91Q+ MKGJITLGP_.SZ['9X">.KR\L)#.]N1G>WE[>3,1S##9$YIY*B #:':U3%@A%Y M46LH!3RD,^0P)C&*8_F28=DOX/ "):&Q.%(&#^,+.#PX@@.@*4PBE@N2SD3? ME(I;SVY.*\;SDM'Y@'&,V0ETK"_@6([;(!^VRR]PJN1V(>^\EYNJ6G7)G+ID M3N'7^<>2-04KG=QF)_V)GHJ,3'%@J&]0(%^B$7[^9/O6UZ:8_\GL7>A.';K3 MYA[JTL,A1[TST'0!,N*(D+!41N*H*7EIYQ=V>B]9AK;GVGUSN9ZH=#>+G"_"=S; @_\P-D ;[7>$]ROP?U= MX$$3N+\%[@3V9L5;K?<$#VKP8!=XMPD\V +W-[%;C??$[M;8W5;L"9,DAGFN MMG$$\;95Q\56GE5;>5.P[O:*6)8;;&1KG7W/;+TZ6Z\UVS4*<0HC;9Q*6)(X M1R"S7^K U*'@T&[<]1O1&H;U7-^J1Y7,YMI]0E_F;@A?T%0HDKF262>!JB O M[T=E0[*LN&(\,JDN+,5CI.Z4R/4 U3]G3+XV]*VEOJ6&?P!02P,$% @ MTX)G6>5/'A/P @ 8 @ !D !X;"]W;W)K&UL MK59K3]LP%/TK5YDT,0F1-'T!:RM!81K2F!#5QF*&)><2E>5:@<'5-+KJ7<['WCX8_.:XLP=C\)XL MM7[VD[M\&B5>$ K,G&=@]+?%.0KAB4C&GYHS:H[TP,/Q*_NWX#OYLF06YUH\ M\=P5T^@\@AQ7;"/?+M+#A%W:U;1)!MK%.RQI,"B17U3][J>-P M .B-CP#2&I"^ Z3#(X!^#>@'1RMEP:T;YMAL8O0.C+=F/VZO%K<+.+E!Q[BP7R:Q(U:_%V"_!^AYQ^$Z%^X!LPXHJI#$$@U8UMBU3%- Q,_OYL9\DDWAYJ[[)X(V_0R!MTRGL*A8HY ML"T:NG=TM?SEY6I=Z02'1L*&IF&-0,@YH!T@'D;&\[DC9LHC+\6%1R;C.]40XH CT^KT/!@C.EEQPQ]M3 M6YW7ZQUF[BP97IR_2W"[W>!BU)[F4>/0J-.A>TJIW,@V99U WP4N;=/MXIBCX3!W5["JZ@L^;U:9]7H6N$?\SKWKO/3-KKBP%&ULK59= M;YLP%/TK%JNF5EK+-TVS!*D)3)O4:E73;L].N FH8#/;2;I_/]L0FA#*JJTO M8)MSSKWWV-@>;2E[XBF 0,]%3OC82(4HAZ;)%RD4F%_0$HC\LJ2LP$)VV,=DS&Y4D*X#PC!+$8#DVKNUA'"B\!OS(8,OWVDA5,J?T M276^)6/#4@E!#@NA%+!\;6 *>:Z$9!J_:DVC":F(^^V=^A==NZQECCE,:?XS M2T0Z-@8&2F")U[FXI]NO4-?C*[T%S;E^HFV-M0RT6'-!BYHL,R@R4KWQ<^W# M'D'J=!.KVK5Q$18X'#&Z14RAI9IJ M:/3)Q>@5G4%X@U_J$',OQ.O*9OIWN M=I7S?]'C?XY^8(;;+!!7Z[F]"V38-:T5T>LFJ@UNR$N\@+$A=S .; -&^/&# M'5B?NSQ]3['H/<7B=Q([<-]KW/?ZU,.7_S#7_R%4_V'7;%1"@192I\,F]"Q[ M9&[V33[&N /G$!,=8VP[: G%72#?;4 'M?I-K7YOK;.4,G$N@!5UL7([01O, M,CS/X;!^=&J?=7E0!?#WTG*"0RT+CC'!Y2L.!(T#0:\# M#U3@_.\S'1R9'P2M"J8=&*SBU.\8C>1FI[@XO\M5-YA:S54:X=&TI0UD7EW)& M6'4[J#J"EOKXFU,A#U/=3.6%"I@"R.]+2L6NHP(T5[3P#U!+ P04 " #3 M@F=9$+2"(S(# "!"P &0 'AL+W=O/\WH+Y8YJ)B"2P8(AG<8S9X18BNI]HIO9V MXY%L0Z%NZ/XXQ5M8@GA.%TR.],IE36)(.*$)8K"9:#?F:&KF@GS&3P)[7KM& M*LJ*TA:88'],:-[Q-1LZ:8N\MKD:IF&).HU M+@633XG4"7_^[6;Y;8FNT#T6&2/B@.@&/:3 L"#)%LU!E@C-"5Z1B @"'/5F M(#")^*74/"]GJ'=QB2X02=!32#..DS4?ZT*"*7L]*"%N"PCK X@EI->H;WQ! MEF'9#?)INWP&@92;N;S_7J[+WA<<5;K3N">Q6X=PY\T 3N MG8 /;.^(N]6Y(_>@XAZT1&#>HL('$6HRC?H5-\D&>K:-Q[!R>Q M7*M__#Y:5^Z8:UCE&K;FF@/G(W27")#> O7,Q@UH>!+CRG7LHQBM"W6,81I_ MSU*C-<9&R8Y5C#:E;!KM?Z M(]64BK>! MZL*JKMO_ U!+ P04 " #3@F=9]-655+\# !K$@ &0 'AL+W=O0DOU4,[6'@9MD$W,YH,\F!=[ "OAML:2BI]2E*E?M"]MSUT-A5O&25:!1019DI?_^&5"67$JGB8" MQV>K;U\6?W_\\MD/;E8H^'K[Z=MW=.(#QTG*3M%[=+ORTXRN2-=L@*' M,-7$EL: [D";O7MC>L:'+J6')/.') L&(FOEQ*ESXO3FY% ZSM!\RV-"D_\@ M0O.,;'/>E:%>\F,S5))YBDQ^CW8SVYWHNZ;N0_H+!B)KZ>[6NKNOU'T)-"&1 MW C%ARL$=/(=,#WM$K_7P['B]X=KH5\BBLXM><@H@H'(6BGQZI1XO7-L)(.L M44BR3-0=3.7II/Q2=6:AE_38+ Q)YI=D;N-]L@S3]6.QEZWR!>UR!NF.%7%(,G](LF @LE9.3./Q*&'\R>*D8F\6 M%([17DV+_@B.U7Y0MF HMK;ZC8.<^<=+E-^X.%Q6+/J11R=F2+9@*+8R,7KC ML)T!W:A;#B:V;[&LRW-W/5K?I,S5_8'^:%Y>PUQCNDERAE)8"Z@QDO<6M+S9 M*#N<%.KH?D(_XMWC$FT/? #^/;P4Z(_?5H%*]V+*#Q M,-JS4'ZSB7A A?S(MZ-XSQE=)T:!/S+&8VL44"\CO @[<=3]YV)]2.T=W-GF[9DHGG_8++3Z.%"+. M-K>#>WSMFHE!TN(OC[W&)]M('XD!R\/YH7&;![Y7[VUV-T.9@.T9AMZ\,53]/H'RPYH MJGBKR(^3_]%KUG8\0*M#+*(@,Y8]"+PP_4N_9R?BQ !/&@R,S,"H&DP;#,S, MP.SJ89(93"H&1I/!-#.8=O5@9096UJ5%P*+K_UI)VX(X^+/S__30AZ()^(\_$+6OQY_VF)/J!/ ME'.JT@2]LYF@GA^_EWN?ES9Z]]M[]!L:H7A'.8N1%Z+GT!/QA=PIM[_LHD-, MPW5\,Q*R?\K+:)7U99[VQ6CHBXD>HU#L8D3"-5O7V!.]_56;O=OB?Z8!C.2) MS<^N\79V'PPM\5-T'")L72!CC''="=&;+]E^B,RQ,C9V=W.S[G3^FG?G MU[R[/^V]% HS3W0SX4V:>"):?4/1/AD CRP67KA%>\:]J"Y3'K0P-3]Z*$/";$@8T9^S"?K!**^[DAW(7KA L%)>3/*\ MF&B/<1X%@AX&G9(EZ232P?2I=OFLA2\:1Z\J39X3_(ZEC$2;)T&,)V)T+NGY7/\OBYP M6ES?P$'";$@8@80YD# 7"%;*%BO/%DN;+<\A9ZMH&WK_E?DBKWM9SL=4S0=U MF:)%]TOW)]J)Q M(M?2^\81$F9#PHC^)!KI1(XN49 6N!9:TQ^U$SMDKUP@6"EQ9GGBS+3'[%"/ MHR/U#PQ%&WG7G,\4<3)3')*90A6"M;<*#UIXW[R!A-F0,#([NV:-Z61F5H:) M\U8FQI91;N4"=:P4[:L\VE?::)/O>X_G9<#'<,7"Y.9UX=,P1O^@1_K="PY! M7:2UX+Z1AH39D# ""7,@82X0K)0W>%P((.,.-X:5C+E ;_<%JHTW$ MD7,0!WEW\#&.#S2LOT'(?$Y/KYCI6/TK7S-S?>?Z)@PHC8#2'%":"T4K)\V) M:H;U$^H8X]JQIC89M*R^(PPHS0:E$5": TISH6CEC#&*C#'^#\.,UF?OS#+. M!BT\L6I&+1O4+^GLUP'UZW;Q6XYV(3;B+FKC+T0;;7@4H+>JI@*J3050Q3*C MG9Z:NNG+!O5*.GIU0+VZ[5[+25 HBU@O+=YOMYQMJ6!-<1>1_.;(>#J3?%"/ MU-;H_I7R=8R>P[7\0NQ8\NR@>6X!E2(S6NF*F.+:P(/JD9W].J!^W2Y^R\$O ME$FLER8;1H L!>Z/U//IB\].KWV7TU#4!AE4MLQHI=JT?I0'U22[NG5 W;H= MW)8C7*B)6"\G-D4XV?TY>= 4(QKF5W02WGJQ0>^I=X A:38HC62TTW"18.]'/Q@KY4%MS$&525":#4HCH#0'E.9"TCH I7<2M.5920L0CQO7 \SUIKUS!%3Y!*4YH#07BE9>GE2(GT87\;/SJI@6 M6O-ZD;G>LF]^@-((*,T!I;E0M')^%#JGT:9S&KA:TLAI9[53\U+3/:F>V;>R M :79H#0"2G- :2X4K9PYA=YIZ/5.XGM;3]W@YMDSCT+!O9=#^O!>5C@7:BI2 ME0_=)L]HVY9DZ#WVSJN4=G5ZFS'$E5M@4)>DBTL'U*7;XK(-/3RYGEP MLP5S^="@5LY5XYL\D7^D_!L3Z"_U8+XVR* Z)BC-!J414)H#2G,S6CEM9M.& MO"D444.OB)+E8I%I8.CS9B/K#%ENI/4HL@^\^6D6FV>-\/&U+RJ++0C=>VFTYE17="'6PY-(4(:NA%T*_)^X+JT>>1<54KELO(VO" +L_,:*04EIY:6I M9\\H07V23CX=4)]NF\_RVVZ%LF?JM;A?73>OQ_=^ PY4_@.ED983B1-1$[T5 MMTB6N4UKYT'[Y4+1R@E42'^F7OJ;T[TGJ/^S2]/T]-[Y@\]F,LN<36;5(1K4 M*^GHU0'UZK9[32,Z.GGK.V!\F[S0'Z-5= A%^EYLOC?_T8#[Y%7YROXYOK9Q MS7Z"KYWT)P$*?/H+!8^4;[TP1C[;2%?CX:7L+$]?^D\_B&B?O'/^$@D1!+M@W*0__3"W?\ 4$L#!!0 ( -."9UFET=AR\ ( -8' M 9 >&PO=V]R:W-H965T682%#KHB!R-T$FMD,O] X'3W29:WO@CP8E6>(<]:\R MD6;GURPI+9 K*CA(S(;>.+R>]FR\"WBFN%5':[!.7H58VKP_LM\Z[\?)*%$X%>Z&ISH?>E0]GX[E6PBFW"]L][&!!XNUTJ+8@XV"@O+JG[SM\W $"+L? *(](/HL(-X# M8F>T4N9LW1!-1@,IMB!MM&&S"Y<;AS9N*+>O.-?2?*4&IT>SA^3^Q^_9#":S MQ]GMW4]([L>/<_@&SX2MBXV32F/T@<8^/ BN M('5_[HS=X M*TU18PJ,9@@7E,,.B52739DZSQ0Z),10N(0U6?L/@G?FVK6Y]EG&9\%,&3&J M=TUV*FQ85:?M.)M1T&H'_=[ WQRK;HZ+N]TZ[IVX3BVNR!R24V/9)@9RJ#5,Z4@JRE2;;0H72-^%=JT=;?, MS>!%:0/,]TP(?=C8"^I1/OH+4$L#!!0 ( -."9UF8?XBKC , !H. 9 M >&PO=V]R:W-H965T,,!Q2PREGO,84VS/]-8)'-MJJ$8 M=OB0B3MZ^AWJ>%RE%]&,E[_H5&,-#44'+FA>D^4*\I14__BASL,90>KT$ZR: M8+4)SA,$NR;8SYW!J0G.$%-HJ:8:9?9+MLQ7 M2I1/MH+)IZGDB45XN_GX^:\P1*OP4_CNPQ>T^;C\M$5OT3++:(3+S:0[= <1 MW9/T'XC1!EA*8[2F7'#T.@"!TXR_D8ROVP"]?O4&O4(I05\2>N"8Q'RF"[E, M-9D>U4M:54NRGEB2C6XI$0E'(8DA[N$'PWQ_@*_+]#0YLAYSM+(&!;=07"/; MN$*683D]ZUD_GV[WA?/_9@__\^P7R; ;P]BEGO.47H(9O%W)=U-: 7^71X9 M2\8PV8-J7Z'P09YA'/KVO5+V2F5U@!T7WL0V9OKQ/)E=D.O[_B4HZ(+,J>NT MI,(>E.MZ9H.Z2(#3), 93$!E_/*=. (Y0*_#!R74V7_#"QS!7).'.P=V!&WQ MZR^F9_S69Z\QQ8(QQ<*1Q"[VP6WVP7TQ(U;*[KDQ;,]K&;$'9%HMBP5=D#UQ MS98/>T"&9?7;T&O"]P;#OY,)Q2Q*D#QD42"MF-%"Q=T7[J#2S[IQ3+%@3+%P M)+&+[9@TVS%Y,3=..O:PI(E:;NP!F7[+LD$7Y'F=4[$+"EFXE\U$7MZ *8!\OJ-4/';4!,UU&PO=V]R:W-H965T\3S/Q),GT]\P_BR6 !*]A$$D!M92ROC2MH6WA)"(!HLA M4O_,&0^)5$.^L$7,@?B)41C8KN-T[)#0R!KVD[DI'_;92@8T@BE'8A6&A+^. M(6";@86M[<0=72REGK"'_9@L8 ;R(9YR-;)S+SX-(1*418C#?&"-\.45[FF# M9,4CA8THW2,-Y8FQ9SVX]@>6HR." #RI71!U6<,5!('VI.+X)W-JY7MJP_+] MUONW!+P"\T0$7+'@%_7E3#G*P"><S)!X\G/R;?K>S3],?HY0U_0 M3#+O&=W&FFR!1IIM*E_1IZ\@"0W$9[5D$L8!>P5 8XA@3B6:!D2M/4,V$DO" M02 :H8>(2G%>FKA?LI4@D:\FS]Z,^[94@'18MI<%/TZ#=]\)OH=N6"27 DTB M'_RW]K8B(F?#W;(Q=HT.9Q W4-,Y1Z[CMM##["OZ=/:Y#"B]'(CTZGC'S:UC M0\#-/'W-Q&_K';_;_-RNI)"*1!HMSE4Z%C2*U"T:$Y41#]"_[P<^3C=H)QOH M0[\>-KM]>UW&9HQ!%YI+$1,/!I:J) +X&JSAGW_@CO.7 6$K1]@Z"N'D!;A' M!?A&,*T],%\N=L 8MZL)IIV#:5=/UR2Y'I6K]GZN\ X\8P UX75R>)VCX#V" MD"I1"J!*6ZP*MAI(EDP;X74^AF<,H":\BQS>195'D3P%YFQ=? S'N&%-.-T< M3K?ZP_@K>>^I?(W6P-5[/#]W:,JI!X>+2U$@#]&01M$MT8#;C9Z[PX0QUII, M]'(F>M5JS(<\? @ZW1"[9=2=QBYH8U@U06.G>/4[)W@ ]LJ5F8@LAK=,M!O= M]@X5YECKAWH#^0]"FX4OJ3JT^1%0G0/?#P('+SEDWT"H0+U$%A*F:Q@WSR M>E!DFEW59:>08O@X+5;MD%1DRQQ");9.(?5PH?7P<6+/?(PJLF/>LA([IU"* MN)"*^#BM^.:DC18+#@LB 5TK+F@DJ(<>2;!*RLM!/M)-.J6JTNHU=VO**40C M+E0C/DXV&D]-=>3[ZO( \E/H2UP(3'R6P5R;0) MDL_F+;A1TGC:F1_KUES27RKH_^>,R>U ;Y W+(?_ 5!+ P04 " #3@F=9RDHE!V@# M #:# &0 'AL+W=O99@_#R!ERZ[E6:N%6S)-I%YP>IT9 MGL(8Y-ULQ-7,*;W$) ,J"*.(PZ1K];VS<\_7!F;'/8&E6!LCC?+ V*.>7,5= MR]6*((5(:A=8/19P#FFJ/2D=_PJG5AE3&ZZ/5]XO#;R">< "SEGZA\0RZ5JG M%HIA@N>IO&7+'U -;2_B*7"_$7+8J]KH6@N),L*8Z4@(S1_XJ?B(-8,E)_M M!GYAX%<-PAT&06$0&-![E3<],&=CK!4-H?H:QY*KMT39 MR=[P>O3SU]_A$ V&-\/+J]]H]+-_,T8GZ(;1!0@),;I5#TXB/1Q+%CVB.TJD M0'U] 40^HZ,+D)BDXJNRVK'WZ'9\9]Y_1@X2">8@5@]"T>^$S06FL>@X4B%I M84Y4R!_D\OT=\MOHFE&9"#2D,<2O[1UU%.5Y^*OS&/BU#LL[?;Q[4R G*ZPF,OW"'/W4+)ZMK4$=XC'ZI_"5TB@8XQ32";2>6>VP8CSJ+ M%SVOW6YTG,4Z1FU873O.Q Q'T+54<1# %V#UOGSRFNZW&JBPA IKH30)^LXQ ME=4KRP'"#8!6$%;TUT8X4'^CU-]X6_^]N95M\AL;\D]:C69%?VV$ _4W2_W- MM_6K(C@!L@.AN8D0^A6"VA@'$K1*@M9^::'2_XVL:&W)BL"K,-5&/9#IM&0Z MW8=IE>G'Z(_Y%*GE_@*X^K3FJ8-4N0=TB0E']SB=;V7. YZN,0>N[085Z%I9 M!T*W2^CVNTO!1TCS*)Z_CMJP-_YGVQL'$@9V^V77*P;/??F&NN\M"!^!***\ MHO!;=M"J4-2K.?#&O+6.P=NC?'P(V-MR;:[=K!;[>D&' OLOP/Y>F9D7FP^! M^YN9&=A>M1S5Z]J7VUGK$C/@4],\"Q2Q.95Y@U2NE@UZW[2EE?6!;MQ-]_GB M)N_ZKS&?$BI0"A/ETK5;JM[RO)'.)Y+-3"_ZP*3J;,TP43\^@.L-ZOV$,;F: MZ #ESYG>?U!+ P04 " #3@F=9,>L ^7 $ #K%0 &0 'AL+W=O;B!%/,SN@4BGZPH2[&0MVQM\BT#'&6@-#$=RQJ9*8Z),9]F;3=L M/J4[D<0$;ACBNS3%[-\%)'0_,VSCI>$V7F^$:C#GTRU>PQV(A^T-DW=FR1+% M*1 >4X(8K&;&I3T);$ZN8IFAJ4B@@1"H2BP_'N" M)22)8I)Q_%.0&J6F E:O7]B#;/!R,(^8PY(F/^)(;&;&V$ 1K/ N$;=T_Q6* M ;F*+Z0)SW[1ONAK&2C<<4'3 BPC2&.2_^/G(A$5@.31 YP"X!P"AF\ !@5@ MT%5A6 "&717< N!V!8P*P"C+?9ZL+-,>%G@^972/F.HMV=1%9E>&E@F.B9I9 M=X+)I['$B?G5M^7?USZZO_SIWZ$OZ!MF#"NOT6._ZB!6_*@9>C M=UY&OW!:">]@>X8&UBER+&>HB6?9'3[0#>?WU/W?4P_:X1Z$$F[KX+5<#LJ9 M-,CX!AUFTD0W-W+X4 ]7%73"MSB$F2%+) ?V!,;\SS_LD?67SI@^R;P^R?P^ MR8*>R&J&#DM#AVWL\RL2RG<5STI!?G6BUK]LIBF@>_P,VA+02GJLS7V2>3G9 M*"-3;]RG^9<+RYJ:3U7[^E0,>B*KV>>6]KGOV5?XA/QGN1%11BZ P"H6)SK? MW$9V[*$J2]7L+)N=1G(+4^_D:9C<\?E!GIN='-<:USL%K2/\8/Y&9?Y&K?GS M5RO(MCV5&8]NL0!T"R$E89S$6&V.3M$-L!"(T"6U5>+8Q= GF9>3V7;% .ML M8-L'-FF[N8.#;D%/H=6,.B^-.F\UZH$P: =Q9H3%Z43%Q]T(B:O2R(K:^IIN2"RY?&Z5L*0[4 UH(1*A&Q. MD2Q[C[+VO;5\+IJC::Z>UN"/=:R+HM^G8M 36Z2/J]2@9]L=4]JGQ5V]T]4AN'QSG%:S-'Z%C^^QLG(0?!I>Q>OX#M MS#SCY[$]8X]WC+^(A!")7K,T%Q,CD;(8F::($I)AT6,%R>'+FO$,2^CRC2D* M3G!<.66IZ5C6P,PPS8WIN!I;\NF8E3*E.5ER),HLP_S'C*1L-S%L8S_P2#>) M5 /F=%S@#5D1^50L.?3,%B6F&I1'ZC4-%W:RY5\(ML,33,6<[Q)4U MH*E&I7[E#7K17.V3E>3PE8*?G#Z$W]'7A_FW^Q!=__EMM;I!R_ 1K;[4[SC4!+PM$JP9R@ZP61F*;B!JR?5@MT?76#KI")A/HJ M$,W14TZE^'0P\#UAISIES%G!%BAYRK4_(L1Q/,Y_YY>ZNCL[_BQ[^VND6^L:S=.CJ80Y$@6.R,2 C"@(WQ)C^OMO]L#Z0R?T1X(M M/A(L_""PHR7QVB7QSJ%/'Z#RT#QB&9S'AN%NG@'1D=$^RW1_EFB,RQHA'95G2 QPEO"H>SM MLQ 43"$AY4 RTPE00_2U(Y2 9>B:("E%"IX1$RE&8%2G[00A:ECQ*H(ZC98ISG=2# M4^)!OR/T698_>Y1/ WK#SMX.3VULR_/UB^&WB^&?78R%6@(0Z!>WI*_1R;:Z M2FFL-%M2AV4YW5.IPPK\-U08MBH,WS^6.GZUV_ @FM4[R3FG1K=6SW8[]+10 M08?=._&.R 4MN>"2)=;1"RZA=VJDHZ>%ZM)[)UY-SSRX-F:$;ZK[NH!37N:R MKO+M:/LDN*MNPIWQF3V:VYKQ!3PAZAO_?_#U^^,>\PW-!4K)&D)9/1_V&:_O M]'5'LJ*ZM#XS"5?@JIG ,XAP90#?UXS)?4<%:!]6TW\!4$L#!!0 ( -." M9UD,VR-%60, ,/ 9 >&PO=V]R:W-H965T)&:\8?10P@T5.:4#$V8BFS,],480PI%L+!A/L51; MOC1%Q@%'!2A-3-NR3LP4$VI,1L79C$]&+)<)H3#C2.1IBOGS!21L/39ZQLO! MG"QCJ0_,R2C#2PA WFO*UC)0F O)T@JL(D@)+9_X MJ=)A Z!XF@%V!;!W >X; *<".._UX%8 ][T>^A6@2-TLDL43DYN_#MT=3.]O?;1P<_;(#A$,W^.@LOSN8^. MT#F5Y"@B2:ZKB0((JTG/&IR.S-6FF@U&;M_>-O+VC0:NM6WC[]O86H)50_9N MG;W;FOUM+H54;4WH$MUF^IIK;/!6$GWMGXD,AS VU+TN@*_ F'S]TCNQOC=U M5Y=D7I=D?D=D6Y7HUY7H?UX?ME)_M#[]_39S=KJU2W]^1V1;JI_4JI^TJG[# MZ-$*A%3ZSM6#DU O \G"1W1/B6S\-[12?E3M+LF\+LG\CLBVZC*HZS+XO'_# MX#VWP:H&G&6\S!6'XYHEF#: ME' KVT<;LDLRKTLROR.RK9(,ZY(,/Z\A6ZD_6I_A7K\Y.[WM=>G/[XBL5-W< M^*I/@2^+<4J@D.54EM]L]6D]L9T7@\K.^47O;-IK./?4A%<.9*_TY7AXC?F2 M4($26"A7UO% 2&PO=V]R:W-H965TME+'WI1NPO/;C))K'7L M8$_;W;_'=MI0I%(0+[''GG/FC)WCZ"#5LRX!D+Q47.C8*Q'KH>_KM(2*ZHZL M09B=7*J*H@E5X>M: 5155KV/@ M\A![7>^TL&9%B7;!3Z*:%K !?*I7RD1^RY*Q"H1F4A %>>R-NL/QP.:[A&\, M#OIL3FPG6RF?;3#+8B^P@H!#BI:!FF$/$^#<$AD9/XZ<7EO2 L_G)_8[U[OI M94LU3"3_SC(L8^^S1S+(Z8[C6AX>X-B/$YA*KMV7')K<0=\CZ4ZCK(Y@HZ!B MHAGIR_$RD;5&:7 M&1PFDZ?-XW)^NR:CQ93IPM%^0C66()BKR; E+& M]?O(1U/:$OCIL&PO=V]R:W-H965T2N?5'UQ<8, MX,;VTMT%&S&[F^Y>)1+ $6>XBB1 V.I MU*IGFC)80LSD&5]!HG^9+(="RK8\8L3(QA/QN[$\,^ M7ZLH3.!.$+F.8R:^CR'BVX%A&_N!:;A8JG3 '/97; 'WH+ZM[H3>,PO*+(PA MD2%/B(#YP!C9/=\^3P79C#]"V,JC;9(>R@/GC^G.Y6Q@6.F*(() I0BFOS8P M@2A*27H=_^90H["9"H^W]W0_.WA], ],PH1'?X8SM1P8%P:9P9RM(S7EVR^0 M'U [Y04\DMDGV>9S+8,$:ZEXG(OU"N(PV7VSI]P11P+-J13;_=?;:V]*1C>4?/9N/T]'=U\N)^3RQK^=7H^^7M[> MD$]D"AM(UD#N0 20*)URY.$[N6;_<$$FV2)!2/*!@F)A)#]JQ7Z43'B22@3+ M$FD:RL>^J?3"4_-FD"]RO%ND\\PB77+-$[64Q$MF,*O1TV9]]R6]WZRWG0: MJ3U>N-W9NWWL-!+O875&7.LWXEA.JV9!D]?+W3I__)AU[\>L^\UR"H&6VW7R MDB_=(H7=C-=ZAK=/SC$DP5*7QT?RWR']1G79ULA+:WE/KE@ T,7:PEB \;P MUU_LCO5[7:0P8103YF'"?"18*<*M(L*MC.XV1UB2N> Q\9X4B(1%1Y6')3-R MQ9/%IRM]F9J1D92@)/GK2G/(I8)8_EV7!BW,-,"$44R8APGSD6"E-&@7:=!N M/-'OPT42SL. )2J_-.H3/"A=7SZLBBO4Q[J0[PQT,P/I3==F:)W9W;ZY.0YE MW23WHCR)UDUR[/(DKY;4*4_R&P_ZC2[M%"[MO+UVCNL\V,@[]:3!A%%,F(<) M\Y%@I0B?%Q$^?X_:>8Z9!I@PB@GS,&$^$JR4!A=%&ES\[-K9:.#4D&/"Z$5= M57LBU\@[-7*8,(H)\S!A/A*L%&';.OPKM]ZC M:N=6D3(!E491:1XJS<>BE;/AJ$=C_^SBG5NHU$BW:ATGPL6CG4A^Z4 M[;Y+*4=M8J'2*"K-0Z7Y6+1R-APZ679CAP2EE*/VK5!I-*=5VB*5!HN':M.O MM>D>;)8C=6@VV9CT0Z71G%;Y)]"IEFC4SE>]3;M2HLVC MQ]C:YXOLA0-)LC*\>QQ8C!8O-8RR1_F5\;'=F]@UX]3N>;M7%@[XW1L4UTPL MPD22".;:E'5VK@N2V+V4L-M1?)4]1'_@2B=$MKD$-@.13M"_SSE7^YW40/%J MR/!_4$L#!!0 ( -."9UG.M+0,T 4 .\G 9 >&PO=V]R:W-H965T MD"7$<%UA+[4-+S+GG^MZ;G/C6[F](^DP7&#/PNHP3 M>M99,+8Z-0PZ6>!E2$_("B?\FQE)ER'CE^G!L;1?,&R 6/07X5S?(_9X^HN MY5=&R3*-ECBA$4E BF=GG2$\#5 W,\@1?T9X0W<^@RR4)T*>LXO+Z5G'S&:$ M8SQA&47(_[S@$8[CC(G/XY^"M%/ZS QW/[^Q?\N#Y\$\A12/2/PCFK+%6:?; M 5,\"]VL>>)\T,6#OHIV8 T0W.V[$.> M_=R:YRM*LAOEGJ7\VXC;L<'H\?[A]CH8@^&-#RZ"VXOQ\.[[Y0A:^3,FQ:S.M[-"+;.RP#5)V(*"()GBJ<3>5]OW%/8& MSU"9)O26IG.D)+S'JQ-@F;\!9");,I_1_N:6+)S_YSTXVGLM&59YSU@YG]7" M5]X-LY0L0?#*<)J$,1CE=RM.*>!%!U-G-JP2%+,>LH_PF"J*>U15@@0QF>["" MU8)TRB =99 [ C4BR00G+ WSE](XHL_@WS]H&?'VDA$)2B(C3914 M1F2P=AGIED%VE4'>X333#KY:!F0&5"%O>7J[_H5PWT7X[R("%:(68*\,L*=7 M)_G88Q(Q_BC>LY#)>C3IY/,UTD6:"*KU0V:U9K=_ CE++QJ*IY6-E\K M6Z"+K5Z_G9X+'JV?A>FNFB%HNHZ@*#*8;7N>("L2F-,UD:@M$IAGFKT6!86H M"A1ITM"":%?>S!.[$;4,Y73%H/?A"N1H%!JG MJ8BN9XE"TT1YCMT3A::)@IZ#7%%IFC $>\AK$9>J?X+*1?XAZNI*M XB,6@I MJJ&N4I0MQOP.5SWDJO& ZL[C&#U]"*--F$C3HG1V\ .ID\W7RA;H8JN7K6JE M8/=#!%79P1UI& MY!@Y_6-X-[R19D7IZ]"G42N;KY4MT,56KUK552'T$6J*E+W9K90MT ML=7K5S6%2-T4*J7%DJFIV =+4!:T'%%:FBC$%[%B(RR!=4W3:=&6JHE"ZKVF M ^34WDM.92C3,UL:]B(%,B,D)D#*[+8DH.I"D.9]J'R,LBQ=;('!#Y+&LKWO M<[7?@Q]4K;M36MD"76SU"E8-%OJ0'2JD=8M**YNOE2W0Q5:O7]4MHN/WJ5!S MU\B#2%RV2E!.M]=8PS51V5$+\;^L4IB)6IIB5'572-=.%6IN(G&E;;Q=I"A; M#'H?KD".$K75V#G Q!^L>7YRC(()62=L>RZE'"U/IPWS,UG"^#D\'4')N ]/ M@^W9LXI^>Q3N.DSG44)!C&?,K/+C4T^$\:<^_[C X12G M&8!_/R.$O5UD#LHS?H/_ %!+ P04 " #3@F=93 MN(\HX#D*8][7?"&2NFS*7-Z="/"(,8I [Z)(L)>+C"DN[YF:J\/9L':%^J![O02LL8YBD4R M97*F%RQ>$&', QH#PU5?&YCGPZZJ3PM^!;CCI3$H)TM*G]1D[/4U0PG"$%VA M&(B\;7&(8:B(I(R_.:=6+*F Y?$K^U7J77I9$HY#&CX&GO#[6D<##U=D$XH9 MW=U@[J>E^%P:\O0*N[S6T,#=<$&C'"P51$&"R;>!Q EGN)@_3.XN9S"X M'\'UY>1Z-IC>C([J0DM7"NIO+N\CD61_( MFV-R!@WC!"S#:E; AX?A(W0EW$SAC7VX+H,JTK**M*R4K_$!WPRW&&^0PXK1 M""Z?!;*8A#!,]PD9!^DR"^NV'-;O6\D#8X$1_U.50;9HLWI1]1V?\X2XV-?D MA\J1;5%SOG\S;>-G52(UD>WETRCR:1QB=TI]0E+K)Q"CJ+*<\=@IC_K3;)U6 MNVO(+=Z6O;RO:MK=CEE4[8EL%B*;!T4NXD!(@7-!!%:VY$'X9[>C)K(]IZW" M:>LKVK559SXUD>WE8Q?YV#6U:\;3*K>K;9GVFW9]7]5LV6:WNEW;A^/&$B4P7R_8I2\3I1AYCBS.K\ U!+ P04 " #3@F=9 ,QTVL # M "Z#@ &0 'AL+W=O$L*2(0DUTBE2N&X?E[L 5:QO=SN&BY2?WQGC6,@&#Y5HO#\9\L=3F M@=WOKM@")ZBGJT=).[NP$O(8$\5% A+G/6O@7@_=AE'()+YQW*B]-1@J,R&> MS.8A[%F.0801!MJ88/2WQB%&D;%$.+[G1JWB3*.XOWZQ?I^1)S(SIG HHK]Y MJ)<]JV-!B'.61GHL-K]C3JAI[ 4B4MDO;')9QX(@55K$N3(AB'FR_6<_JN#G"GY&=(LLHW7+-.MWI=B --)DS2PRWV3:Q(8G)HP3+>DM M)SW=OQ\\C.';X(_I'8SN!I/I^&YT]^?7"5S"0"G4"D;(5"HQ!.-S&&.02LF3 M!=PPQ174;E$S'JD+4IA.;J'VZ0(^ 4_@ZU*DBB6AZMJ:8)K#[""'=+.%Y)V M-,%5'7SG,WB.URA1'U:KWV) ZFZF[A^JV^2X2$OL]UEXKLV?*:-WW_+:ALMYG<2SEMYJ-G=0!6+\ ZU>" M'8J$@&H^BQ 2H9$J+4"^9F9?8VL*E5E>4OE?*D;/0IP5C)XOH.:5$MJ>V=PG MY+C^*SZ5P$PWNE8K%F#/HG:C4*[1ZO_ZB]MR?JN(4:.@W:BDG>=J_)*K3,.< M<0EK%J7X&;30+"HCUC@BYCJM9JO]BEJ)F.?XS1.Q:A:@FY6@_THI0"$\2AY0 M+E'-#+*6!B,FGPP;"A(\A)1R/ SG6(EQC!.6)5WG>VT.P)7TF8P>N:16N M:9VYYEK'*5I2<\=2%377+L"V/R3YVB7)UV@V7V,N$:M(ODX!NE,)>L(7"9]3 M9I%WIXF8F0AF7>(A6:6[//-+G5UI^KUY=B9C!UZX*KQP]3^TRZNWM,M*8#]) MVW5V7WWG0W(V-_L?W*H/_UER>R.-6TEN)!)\SMLHC%*=4ON\3T_-(I6VWIO, MY[)VR'PWJKC5L\J0J27@]Y12.**^64[8.PIAQ^GXSNL8EHCY'=4D\&!?^#\7\1J,.^.[D?,..YNR'&KIYPW1;=Q-%:61K=$K"2Z]M[%PMSJ M*! +GBB(<$YZ3KU-Z2&W%Z7M1HM5=M>8"4TWEVRYI,LE2B- [^>"(IQOS/6E MN*[V_P502P,$% @ TX)G69/68--3 @ -@4 !D !X;"]W;W)K&ULE51A;]HP$/TKIZR:6FDE(06VLA )6JI5&ET%H_ML MDH-8=>S,/J#[][.=-&,31=J7Q&??>_?N)>=DK_2S*1 )7DHAS2@HB*IA&)JL MP)*9CJI0VI.UTB4C&^I-:"J-+/>@4H1Q% W"DG$9I(G?>]1IHK8DN,1'#69; MEDS_FJ!0^U'0#5XWYGQ3D-L(TZ1B&UP@+:M';:.P9A2,N\-) MW^7[A">.>W.P!M?)2JEG%]SGHR!R@E!@1HZ!V=<.;U (1V1E_&PX@[:D QZN M7]GO?.^VEQ4S>*/$#YY3,0H^!9#CFFT%S=7^"S;]>(&9$L8_85_G]@96WC%B::+4'[;(MFUOX5CW:BN/2 M?90%:7O*+8[2N_']')[&7Y=3F$W'B^5\.IL^?%_ )7RC C6=S0[!+HT[43\+=$16]5D7OI(K:_0TCH@5?G) M6"FR<^:7A;W84+L$>[Y6MJ,F< 7:JS+]#5!+ P04 " #3@F=9=6U V+P" M =!P &0 'AL+W=O>Y\ M/G>W7+S)!%'!>Y8RV7,2I?)[UY51@AF1-SQ'IG=67&1$Z:E8NS(72&+KE*6N M[WF!FQ'*G+!KUV8B[/)"I93A3( LLHR(71]3ONTY#>>P\$S7B3(+;MC-R1KG MJ%[RF= SMT*):89,4LY X*KG/#3N^QUC;PU^4-S*HS&82):/I*8Y7TG(X#,:Y( MD:IGOOV&^WAN#5[$4VF_L"UM@\"!J)"*9WMGK2"CK/R3]WT>CAQ\_XR#OW?P MK>Z2R*H<$D7"KN!;$,9:HYF!#=5Z:W&4F4.9*Z%WJ?93X>!I,ADO)J/I8@X/ MTR$,GJ:+\?3K:#H8C^9P.41%:"JOX (H@T7""TE8++NNTMP&P8WV//V2QS_# MM%N4_ M\]:N-+;_5>,U++@BZ2FE[;\JJ]EJ>&=*JU-)Z-1+0$%Y#'R# K8)C1)0">I. M\I,+JG;F4/.#2/Z12%ABQ#.$N,!32NLI[R"S=_Y4 MVCEI6A6-O&+"'B!5-E M]ZI6J][_4+:\#_/RX9@0L:9::HHK[>K=M'7EB;(9EQ/%<]L EUSI=FJ'B7Z_ M4!@#O;_B7!TFAJ!Z$&PO=V]R:W-H965T( I[C*.%C;2_$X4[7N;_'F/ ./6 B[VPIBXF03;;3^8$A"7)0'.F680ST MF(2)-AGE?2LV&=%41&&"*P8\C6/"7NXQHJ>Q9FJO'>MPMQ=9ASX9'<@./11? M#RLF6WK%$H0Q)CRD"3#\"W$$S^[AFPF3Y3^R!J+8*P9V8 P M0E]D#$3^''&*4901R6'\77)J5'[]RC[/YR[G\D0X3FGT/0S$?JS=:A#@ MEJ216-/3 Y;SZ6=\/HUX_@VG,M;0P$^YH'$)EB.(PZ3X)<_E.IP!)$\SP"H! MUJ6 ;@GHO@7TW@'T2D#OT@S]$M"_-,.@! PN!=R4@)M,\ M.LL-?%]L'L">?;.7&\?;@+V OD/BE9T\WBS^7'GR#CAT_P <($'L,HDI[D(UW(Z62#TOUR MZ/?%T*UWAF["(TW$GH.3!!@TX*?M^.[_X9UV_+ %KTL9*BVL5RWNK5;"W].H M UWS,UB&933-IQWNX4'"C1S>:X#/+H=WFU;CY[+/?RZ[VPZ?H5\M7;=%BF[U M6'1SOMX[?'9"HA<1^HVV;(5F6\<=/Q ?QYK<&SBR(VJ37W\Q!\9O39JJ))NI M)'-4DLU5DKF*R&K.Z%7.Z+4Z8XT1$1C @3#Q(O?B(R8I-KFDE>9:EQ1DII&S M9:>+XZ3;D48_GJO?$&1U!O4@IR%HV#&'M4\=,F^ ##I6/:H))NK)',5D=7< M:H))NK)',5D=5<<%NYX+;5!2M&?<2 PY;1&!92?Y+X"'0+I3^\S!]- MCKAMV,?Z;S>R:6OV:_V@DLQ123972>8J(JOY85CY8=CJAPVR.%/?CV@:?,G* M$@'P](G[+#SDU8XM9> \B[)Z0EY/]L#I5ISDGTB35=I3]N$%"6MZ-YBV J]U MCTHR1R797"69JXBL<(]^5@N)D>WR,A<'GZ:)*-[_JMZJDF;G!:0W_5/S;F8V M]#OFW;PHE/U+7Y3M'@G;A0F'"+:)"T#B_W",) MD&4!\OZ64O':R!)4]6QE($2XZ=.::#_?KY[!!>ZD.L'S984(GO'M]SCWV7QNV@UDM.'V:4ZF!1A@FK2MPM\_9,.PF[\/ T8UE1H?AT\7;'W.I;]\$[G[V[NRL\W1Y MN^N_L,!E&'E)KP\@O>K A5([&$N0')9@'SM&?;--;:>?&R(7>(Z%]0]2M$<0 M1IQZ]!CY:TE@V."HJ?AHD$NQ+GP<.H=A)R4-G@D?AF/"V40QB,I)R?C2N7O@ MF$HN5:!-QYET7?#4OQS<=18T8\-3,B&5S>TRN.]),WT'6%D@D''>"NR%SC$: M5$1KJL2=,>QDZWP!!"FO_N/A=44$7XIFC3^\>\RZ]6'-_\*\GVM\JN8*_&YO5[["*O3T%D<@HB M3Z(G^Z<@,CU^D?%Q:HR:0\;&26;K'--Z S@O#L-OOR59FQ>INVL>]B(9M9Z_ 66UTW: MPZK)Q41&%S0;-Z8J)G88F(')VEP0L(O]%^FA,'XUQ43YD;#]8'G],:B[_2M,TCI,$V]'QV*M@C.U;DL"/ MGPW3!A%8'LCT9WN-5QOOD/U]@-5T7X=@*\4[$5LIOM> ^/<-(M+47VTL#T1@ M58!Q)4PR!7O3W:)(@NY/ QU\?["F)XS3U(X#Y M%<0QAL#3B".8 M" (7%LWX,[[Z-H]9Z*UO_C&_T&4$L#!!0 ( -."9UF7 MBKL

YK05E5\].][P :'UU5KAB.WIBI\ZT7(A@1BF*)F_/2?'+^(N Y1G+$(R933 M#/&G^X]_/L /Z*K9OD^@2Q+!#3F39V/XS.:#I0%;G__M7)IG*_'.:7'J2^OGI=P2DS8,D M] HB8*GP %G&$Q$/3KB+Q\T>)06R14.Z"NGJ#%UIHHY4:GA+^R(]7-^E2VDA M785T=8&N\L[E=T16OM!8^%#-BR$!A01TR<0#&A'_//6XZ3"AM J)[?>(K>W3 MRP]1K\B(0JH5!W2J2U0&'Z5@N*,QE7P&?(#&SC_UDVZ8&7H&OR_[QLNL0*]Z M'IMATU/"KRV)WZ-FR28,=H\T?33<.-#P_=K8*+X(O?&K/A<)\E;P MG.(%D&\X75(M1 H31R=!5 :@A2+:'PZ^!T@7KO/A(6+ QW P$(<=0E(34.H> MCT/)X0<.&SB);H#>#)R<BL&TKU.'SLI%T84?';\8<_ARQ*EG9R[&$_,0 M/Y6# YR?'#\VN]$L^*4Y8AGN4S)^.)95!?Q3E&4G?8(_Q'YV.DW/'78E-KE. MW+#G1G:=:/?%"(?MZPZ@:U/UXJPM+;CI=(R"(6PHVMH-8X1ZC*L G6H7 M0+& Z@*9BL,W74M[ 1CH!#F "U.7=E^Z$5>4_/W@02[*&5$NZL#WP#<I?PXY)(6R\Y%W/,,V3'&% MZ2PWYZ!4 C3HI*3TQ3E,5/_2<[I[S_6_*&K3%"/4AS]4AQ\!E4?^$J+ M\V]@!577B>]$:T5L](X$+@ 8CP)5IV<3&,/0Y5>%+I-$&+L";^[?W^PKI.$C'ZB6-5P"M' M\SOF.%V'3[K()C]Z=W8?E[W"-=[-%)'P3[U5?<=P;7!<_YM[R9XZ:+J>_HH4 MW$-HIF,U'9[*<1->U3"CGH4$KF94E./X].K&@?+!DA+U%;:7#/ !ZOP&=0%L M-#U$)B+/P5=]O[$F.;&CT!,B(13^)3E%7=Q54>"WY'YJ(<4*N3,. +)0OIV! MUX90CH(?10$8#]')V' [O^>3PQ^H(^I 7CBB -? %%XR'5$HV24 &"H!B%0Y186?$"\3F2]^P2N+4-V;XWKT*GTP0X!<;:Q'J9S.XL"N2(U:"5YQ>1;L4QQZ4$6<"KVF3ATAQ< MA)=52W RZCV^=$PQ7W@,)M2#[]5"=2R\P!/!K>($,8<8!Q"%:IE'LAC&F".D M !$-"UAHJ,* X9/O[@8>D&0X=7=QR*O*ZY*&34$W!.^(?9V/?9$PF-,>GI&E M'A/ZYW=/=$@;<:*/4#:R[Q: ZT\EW3!/\.G7@RZAUMDV!S^!Q,3-G#I! M*P!;=-85L!J@Z/0(#"A&*-@2"$95CX*; 3VE:);I%EH0H0B6,*A7L/D.>L\# M^X+"=B5R;N$%I&;IZDR'V7ZFND6AN[Z5 WI3]U"\Q_G^I5U+[H0[[*NV)@N1 M=\HN ;* +SR8^)Q0550P(6+XBA$M+ &5A #V$*YAH\,R.*YIXOID?3]X='[@ MUL,!@.Z'$2VA>[..Y-V1^^Z,),4=[7TWK]@J/1!"![+ M0+>"$&R+"8?[8I,OA,.BS-,=2J+E'84'8P0I]D?*B:/E&W[U"!>2.KSYNAO M[] G*H\@3I$FY 2#X'4X0*FB5Q"*E\$$<"9P7@NPMW-VSE\;R/D,7MRGK3]C M$<:9%M*H.Y=KO)Z,AH:O!'02$6[8S=(%R@W*[XM8 )5Z! :3X[#V=)QZB*"& M8<8_V%S82K"64LYW6XL741E6 M=R'/K ]H(=XEC]41W*+/?X\$F%T75[@V\G/5Y%S'I)/N((@ ASR\'X5S:US MF^@C0^R%]\N6[&."H;.A+F7U6X+C*1/ M1_*M2KJ2IO($FVP\$E-]9S:T(9PS$3C1?)@22)Z3EE(SO^]HJW0AUV3 R-3I M2*90DX2TU>%ZT>APNHHNYH_+'EP]7%?M99%.\,-V<=29H-4#)THF,N;$[NVR2[N9Y4;-2FU%C>#(P(FH M9GRJ/"TYFK5K[&.RQPP+&XH9)X(G&G?DF308K<"JF497*2Y$>ZA6*'^7J93AGX$3[5JG5FS&3TG*0'AOJL+;**)LM&!DXT:;+ M/69(9?.XK-2GO=IVI.F: N=T3_3VMV#J36_!]+O>@C_N=?>*@86'C&Y?#O=1 M?O)]N0?.GN?9J,-3.P)E-$2G(DP(GCGU>$ZLA0_PASI!=$Z)+K\'#5R61:#, M&W-DS:DV)\/0\K\C0!7'GK?@.M[>MQST$QESK(3C5 !HM[NO)L@=@0^(?9#^ M3$Q8=? YB+.XS9_ MXJEY\.$">W(.-'-XK$6F"G98 &/&X.>B8,GX9>K;.4F_R%6/3&X'1?0U;'GF7097V]>=+4('OL.N =_-0T2PO%PRA3-]Z-JJ M^M)'/%X1^Z/G7'\E^M"9?0.""GJ=#\(>XI]S7<#G+[*#-PL^<'O@CT#1X_H3 MG003I-L TG50>^ZJ@PXWE%>$RAPZCASGL=1K*7.0;>Y[M2,-146 <40N6W+! MZR@8S7M<^>3H+C[ 4=6N3TC+.U".?R#*T^'# V9QG53NZYT)PX!$@_>BPQ6 MEHV8;S&WNB/\]Z'!!GS(![0L'KJH.;+(=MOJ^ (9?!)<$2[GTIQ6G %"%8/C ML!GDB$QZGB/B7%N0OQ P:: MC>?!)?*"M^M*9<]0':S\48%2KQZ6OP::X2^"9ERJ@C9.#D>TT:W0/;$@2HUF MO]^LV=O[:R"0#U1LO4LU_>BYS50CC5/V1GE'H M:@6?8JP?$L]P?KTN.F]Y4!P':R2[L/?I3C!^UZ-$Y_NCLDA7K@UY04XB]VM0 M&')Y0LVO9DJK9\]2_0%#Z^U'D[F2,/2YL?TNW.>KJ:($I=>53GU#202\*>A; M=S8$'<<\]DP?._*#KE\BX'XW=7=5]UG&*7#@U0IX[M&%2L72J7_[@7%26<#G MEO;-#^D9LKH+$O?O*"QF\!,_>\""DB^^-_CJ.WA#N8D!F\V>.K0_L8_%Z]%^ M]&9T7*+A M@OU7Z@8E2(AQO YF(T72(B1O !!W+I$-$W B($N$PNDF,!%+ MQT-$W (B@'#*A)BX 4S0,2)48&\!$2%+W HFJ!B=#!'Q<8A =>F."P;^EDU] MHQT9KVF^WO:1>56&'_[?#_K'>V^A>"P9=P,ZO=8[VBZ"8GK5 M6>4-?6>ZX<=0; WFB:_%T%\G(!XWBGR'07$=Z2'CQ(0+WD$/N?L M'R0RWJ\JD_YYIP],C/AX./&U#LAC]* MC8XECC)07ZBU>[46HJFSP3Y..,^XBV*)&M.N$\_6F!9556CH'1S)QNPDXS#V MT!2U#@JCGO)>+'36&U*:Z8,D^ZH'[^2\4 OTH^C M-*R4WS+#_?CU[^LJYR&3/<-DM)_)Z ]F,H5\;&N-%C-?6K5"52Z;Q+93:5V- MR6Q.&V56H(J9__$I=4T7$9OB-,]D'V=LW=*2F/]?BNS_*?.QHQD3$6Y9\4G*IWEKP$U'8Y;@^'&?&XPHO;&^GCK2FSY6R3FUZ/4X8ZZT MZ)&U-)NPB@LPINGDU8WI&V*N*UO.(8]]C1E]CL>V>>%I7%G55T2TTM]5MQ2E M%5;7LZ57M S8TC1U=5OZEGCL.[\&W2Q?7<6* M/L=7Y8&P4 15;?96ZKRM4-0L6VK-KL97J3ZUU]325.NM%C21'V5G=$*&? 5, M:9J^NBE]2WSUI[RXWCJ/7?_NFDYV5(*91M-+J;#.TW:TO#")Z]U=\\'2(*N; M>&?)9::+=B$[$VH*K!P(+&GJFOKAYSQH?X'9?-O.@:YJ.AC M.4H#.2JH%BPJ$ K2EPSMT8RVHO9B7>XURN1N.)%3W'IQ/:FW-SFFOUA+&W:= M8#O9&IO>$[G9. &M8I(@PC?FSWUC#AGGW=:SQ@X?-8DHTCUJQ1<(3>6>1N3U MW$FU)E^*V\RPQG+[K!(W.SUK/86,$[\VXX3OQB&S_*Y)?*D&TI68Q:PE2]6, MK@V)2J9=;G39)< 49);D]6^9\"TX9)R/LW,+&Y4:CEN9:H\SAL7*0NX(<>IZ MMTQ^%T_0DU3GB1@81;[)V)TZ/X",D[XVX]SQ^^Y_4 &S7RYPG!)QMQH3?/NE M)6'A7!WW0D75'1&U!KK!PL+7.U@'693MB'O 9^?]9,O*T-&DN.M6T5>P\L@I M55>5GN%XH-S/GZ=K:L4_L ML*_ :&]9C-K=EH>S(A5JEB:I\&!!,//@B^DF N M%-\VH4?O()\$2W>+S)NH ,!*10G=XG%"=X0F'B)00" ZA(B'C5AAHP)8#P2V M944U\6](O)U7Z;\)M18*!B_6E,&8Y1X+S4IAE,DO2V^V3-Y/K3U&W8JEQ^AF M28V7I131B<=3U.R^Q=MY5?:;$$RF7R_L1AE2['%KCF\NZPUK^YD$0_*5O;T? M=2<]2QHR=+K2SN7 ^K_BP>C+:XDW!9:K>)]TBX&A(NK_@,W/S,.Q&2H]E^.) MOG(+LO_XY9:,1TL=$!5V?5ZX:$.Z.BUA%N MF7/]0&,14Q;L/E:RCH]EIY\/=_NZ@ZC;ZK MWYTS]-I=[_)?UXSMX9E.;+C3$[J=C0N=V"JB[7:$@7B2Q"UN%^/OR@?[Y#GJ MA0-JU%@,[4G$+?2\GGH0DU,+@0 A S?"PLVWG!\C=66GX'!W)(AXO9R_!R"#^U2!9) @@[>@PITZ+P"@(L6 M?8#4 7@"J1C34^3Z (RH53)0&QD'H\>JU8H3<*\8U+_.'0KU$C"A):-^6I+" MZ[#!':))8+ Y?X!OW+F$@ST$ACA;Q&WU8.M-;UZLS$UE#"PP@6T M)^0YDY]'+.>H%& M<>J%+E(J4$R40U=775U)$&,0'&XC*8=2 9X,,'H+,0-,$E$QW&YON.>C3^[A MZ: L ]]-1=26T-1T<;/)*V+_7EQ(1A %$J"U!#/WXT,42-TY%+$3&6 MHIJ'"7%K+>OTG<549VA/#R])I*/F>&"KLGTXA@=YW$T5>99D57&Z7O#U*1V< M%QB74$2Y! X=7B*4QXH@.2VS -94W"?KL'7<,C86N5O&/Z4 W/;0WU79Z]SV MAB:(D>P9E!XZ1GK(!:N)J+T;LJ2A#)5%3.6PKQA@=P/WMI-,?PM+QS_&16;@ MMTID;7$Z;, )!9:S2YA""WX)]ZJ )0P#&L10&@C@J-C1CZ]R1Y;CI2"&7?S[ M;'O<80[=&,Y2LGN5899 -Y+SU4FW7I[7+8?PW):C+D ]W>SH5CZ<$NF2L@U/ M:G#RH4M>0 9XLMNG( %Q"H\-+CUX0QW6F@,9!-0!*%"!B.0>H),"M28UP 4, M92]0,AX&]&SN:UP;N)N0[$8P I1IP&["">$2 #8F_,5@)29^)S'SGG.G3%!<[$;2.+ZE1ULV7('68!8\*!=P0;B8 /@<- VPI(* 3-(X&W*[V^[>%?4.J_M=O%"N.)<85 <>_ #B#-C+7CT"F@S, M3A0W=+^60H27PCZ<)J2^N%[ M DT$82#H_2-0J^\+>T)*'FQ1KWAJ'2<_P+6@=TZ M#K#B"(8Y5B>8V>TU+KF=55?< ES-^+7A; _OHVT9A\ZKX$" JF3H,?+N%*^] M^1F'D]_(FXLN51\]8$#W$\"?* H8RWCBB+.,^T#B^=Q! MA\\=X7/'5SYW^+F*BB43^. ?_0+"N7'9W76UF*AF.@DVVJ5'JJW7GI8D S7K M'Q@FWL@ZO5SV639;Z%GYU*XD1%>/>QN.3)R.3$WVY6IQRZU[';#GY;C7TRQF M-J:"<_92%M=/T V-X)KD*-=L/PVU'!P9F'->)0K=O5A,+L7._#%:B!O;8A[6 MX"-.1[86<;,CV4^#7K*8I8J-)VT6W'[#)&3=HUA:#)Z$.RQ8$5J]L[ RG-05IF9S4I4HM7ITO M[>TX$1R9+E06^CB7%GM1LR+TB_V"MMMN<<+B\#HQ24TGIW-/B++69.H% MK9>3]V:ZT!&KH\?M.?Q'5T]$;9/D;&)=;.HKJ5==I/=G\4_S#99[FC$9UDJL MN279,#;-$G,._YMUK93:ME+[7H6HYHDF(\TY_.]GL_5>UY\-0@US/LH3YJC1J+YL=YAS^S4>V^&1W3+MG)TMSHM]15G:T M=0[_0FGWI&^'ND)8 VFGI:0,F^N?Q7]R7UDKYG[.](IV9I T2VQ_43N+_Q9M M2]8VU^NR:ZO5Y;3^JK52F'/X-UB@*^W*.XH0^S-RUL@G=]E9*X!_R'GE^KAN M)AYIEA(,Z)K:<7:F=0Z;^VI2YI;Q09'(#8UMO*FJ\7>\5U M;M<>)8M6H;<]1R)2))@HCV]S,VT>P/%/6LB%C,Q!8SV[431$>?19,2 MT9FFUF=)1-%ZM1)IQM?+Z'; =?+=UEI.M7#]PA,288UD+:-&[Z_7V.H8'=P- OC!UD7$0! MEBU^1D-N $%TC#C7BOA+BHDQ)]XP8/P"R_'O"+"7CER+,OBEC.V@T^61J668 MKEET<+7]A2QRU3(X13#^_NG7]Z_D+?/%DJ(M^IUD#-PMHPA5U\9'FE701Y8I MQE/=Z*(H$5:ADT@T93M*UUM7\GKYE">_=O:\846\WJY"]HMG!N#D0V "R)QF MB#_=?_@W!=5F9T-0)^2QTGFLHP=5."*@69NZNZJO.>B/UY8Q229BF3^T5SBV M[6)$XD6!\ ;K^N/Z)(=(N3VD4#$B9)8;Q L98N4&L4+'GJU7&:+EBY@EE@DO MEUO$"QE[M@YEB)?/[ K_HF+\=4#XM&9LSXJ)NSJ_UP"<>F\#<#+^@NYW_9Z, M9R#TAO:45^X&_\)E_Z=1"QU+?@(\KD9'W$POY$:W@0Y%ZTR+U;5U_/TRB MWE ]Z@_FH0]M$!U*UX!T_=:40W^$J/W2TF9OE3XY2]=A#!<, L:!_\#+^1?*BDOB/P?0;E$78BWE'4/E8681\A:$T.B>-2&I,D\<=6SY2'*U29N&1 MK*4WO61_8W>70HW>#CY;'$6[G)4S^$6#E;9LD9H:Y:2LSYR^PP^I]"M:#W\O MX_W'K[JJ1/EG5$BL+2J^45?0&&\5/)^I'GZQ5?:[[H\/5AAOQT:]57G]#NT1 M"6? \/P9^5RH\WK.WLQG;#)*-[:INCRO[*XCGP\[.".BX\8^L1P,6LUE8ZUS M96._V:D-V&L+:(Q)DKRVOGBK;/:9RF$HB8[5Q5 674-W?$X8#9YR4YY6^P31 M(/GXZ$G."D-E]OG"R#:F?*&[H]-L MD;LC29#(HFP7"+O,")MI@J3+$]C;!KD-TT2P?G;H-OP:M^&7<]5MB)Q+?L4O M!\\="!V?\LC;U:>DA1K^BI]1E-IJZEM6X_!S-_DDZ)W_UA[14@ M7]R:2;"Z&ZKBZM5K\4:["9.&-8&U&$T)%=V#M8J\2G8;5>*Q@Y@3-DZII+-% M[%&''/VH+@QGG*L8@T;S.I"PNL3A.K"P.$_P+*A6SJ&.FC>MK^N%84'YBRI% MF5M1WHA1U +#K3MXE(\*J_0MJMNSVG M7EW69@Y%HO.2P*ES#E-DRYO2G_]/>)(0M3;L.4 MVS#E-DRY#45JF'+[F8F3816*OV0HM)_?)B:NTH.'&JB2V#6$GR.AP>% M*W"*$0TN\_51;;<%Q# 9]AO%I+U:NB0%5E\0:7ZW+/))A:]&L_O9<(MS5:G$ M0RKQVG"T;V/VGD]6_8O\^QL;O;:XY88U_; MLDE"[G -BIEMBUNWLEE)1_2!!5FL_[C9K,& \'_+!??;0N>,/\US'^];[7R MC'@>%/)<:JMJ339::*=6RZFP%SDGY94F'FCJ%;6I0F?BURN8-\AXMR&5PA39 M.] @S^F-O04X2Q3 MC1 1 J[KC_I\0T;6[\F (U#A3]#V(1>@1O(R9ZN6^7,J[43A7**@#W9N?W7, M%,=6@3,,9A+^^(__B]\ZPXG$0=L#VW]&YJ0#,@-YBX\%V8E0N7CMO&6[7K0$ MFNC9_NGE9XLM^K)(#TG(GY1I?M4<[O9Q]B],X,6)O9QQ5'\2IHZ>S\M]?3ZS MDU-KN$UC)R+8,\KF!3\0.7X.AJ+G!)C?BU.$MTZ2\E=FK6K"U/C9X>>B8,EB M8^I K.T=D%$$EWC*RHD@A[58LPZ R@J+P .G<'_K#3.S+C :4Q: HNU"HHD M<:$'[=.2+\0ST2VYK.A1CEQ5IIWZF D38C\S(99*Q1)DF(;QO+!Y@_;_@;F7 M89+?;:(E&>+E]O!"TC$Z3+^\0<30L7@BQ,OMX04(LA O-X@7*,C"?.4;1$RH MD-TH6LATB)?;PPM)Q=)A?O\-(B:\7VX3+T"0A?QR@WB!@BPT^6^F4,F+#LL_ M(IOQAA,LWIL>G7AO>C0=_^;IT=VY+HJ1&OAB;D18!;YI7;FZ24A@1P1&Q^*W ME5'QP016EY1WT5IC*Z(\ZZ[]XP@GD?[FE$/_"7?Y M%Q .D?CFA/-Q(N=Y1]&?1SDWD/MWPT68'/7NYC, ;C> T D;_&!M\XX0\EDJ M>/*NH/*Q*10X4":LV/+C?(QMZFR,[6A&6U%[L2[W&F5R-YS(*6Z]:+TY80(% MXP;B9]\8?QL8Y(^^Q0&W9S(PLG.K*PH5ML&N%T],26F6;''3PG6F2.J!B+^B M$LQO6B]WQ'*?)8CN"RH?+HB^)HWYK@01[1=$]%ACAX^:1!3I'K7B"X2FA0G0QA.:.H/+! MF>XH4"640Q?DT-N2CNY'#O4RN_:@3M$I=F5OBTM](O;+!2B',L 6CC\DD]>M MO/1%=]^M"Z*OX<2;$41?8YC>E2 Z48@*&Y4:CEN9:H\SAL7*0NX(<>JN%"(Z M)Y:)]:8Q)M;Q:"F7+J_[?096 "8I((GHAS2=#'M&OSIA^C?SC1GDOO.>OR,T M\1"!%]X#[KT[F^GBC#-%IXDQ' L_-W5.,1QRUP#(P?>RK/)NG^B3YK^BCL@1 M]3N>@)TB\CYN+.WT&?[,71S7.,6JNXV23>8G62,(6.-&=C>V10-DT$4R0&^JB'X MHE\U=56P>+.A=T1] X!W^%U'G9I;3A>KX%/%$ '3M3&0G)$& _"!&N\ZTSD5 M*<9>FK,#].8!Y@T/Y.Q.$WDP&2 HQ*$=!#T,'0 .W-6N/0F2Q!*DSNGZ6$F5A2TE MU@FBR E,/#T;CBV1@>(C$PN6UL#O)"LHOU0EAO\J2F!M3.2:)@,HK([*5S+E'F\9#9*6BMLR [^>CL:@A\C\%2X?1I8:HO(O(GMLHOLA('_7-3#/Y6!N5 MA\M5?ISM= 95==W=_OAE;M6(+7*Z<7HC84HZB$4!4L IB< R%B(W!:3GD&C7 M1UR""FX%137=5QKP?P/(?&D*< V^]LE--0(T+AZOYLE5"?^85U;KAXT>"%E<6YSLRGMGG_Z?S-V>]? .A>,D9:/"RP*N8#CT MY5X/<$_@XZEE6H#)#,#Q1G3"&5CF6P8W$YT_==7F9-,&]X -R=)]B)K#EN1H M9BXB8V*&#"H!II!E@%NX57 ]@-5,.Q;I'O.M84T6(H_VZ$PD@/.!OYSM@!-S MLN7<6V#6#:=+KL P)(!-]-4#$AN2@L<].(5)/)FR4@4$;/=;\!6J5\+;$4Z M=SW=Q+UG\77KIPSQX4ONE!6$RG6')- M;.<;P\6LP0.H/;CCX>.@MR5!E($8U6WX;PW+&/Q*Z&(7'_,L!&)8F0., K^7 M% S>LY_X0JA]@>*\#%@-6AGS?P3)T&3._HGTP9.R/?2)+D>F8AGMM*B$;]JC MN:(\H)[3&CI'K\ ?&XM^\;F;BKNVFJ>ZD?%@@#G\[W^]JCR3#WH.8"AD;D$^ M0\'Z2!+]Y.0M9QO.6=-D+)$\%#%R]P8A'$G'B,R_(^B?)!&C$P@H 9S!RA\^ MN!T5_W!^=ES_ TW[8LZ KRP31<:2QPB/D[%4(H#QJQC2] $[_\M%YCJ\Q?_5 M;>3.F@OPW\\6.4)E9"!KY514*\7PK ?.GUMPGB4H1EM-NRI-':K#D#(Q.G(^=3P9SD=C6& M*,HILS/9/A6T^79,!>#Z:(L1-D<6^KQVN0IODTR8&1@3E,S9O1J34N] M ='(;I=\;CI.P'=&XG0DD=DGEH^M=)*H/!;G0+'KL589C@RL3O$#<(#BJL52 MJ5TEU]R)M=X"NNH"JX_BYC0NS(D:T1@(S5I[3%M-F1G'@ZLG"P5SW=@T^25E MI=BUF$V-:E58D2XPLLT(28EJ#VE66J_V;6,IL4D6%M4,[#-?>FR7A.9DVJLT M2U6K-EFDU $<&=AG-L.LE9;6R"QS.V54:W4JS5&\=0Z;7:4H+M0H0_=L,9N/ M@LN'$.-;,#)].G)LV$MA:,8G!)6*J]G=LCJ(RV>QF=AVZ?B<,?>]P79&R8JM M5B;CV3EL-I,M=;>M37@VR=<>UZW6MEU9P)&!U?6QO]D]IF;G2*2J MJ,NVV2KLJ:5=6HH[J[Y()07DF'&/='(UNX6MILQBIZ@T.6*3I*34A4YW]#?4L#TTJJ93CQ4@9V=D"C&US46,UU M;X87?+>?&D-R$^9JIK"O*$F+;A#Q)U6RL133V6REK9?$V0Y8ED3LFR"^'&_9.E/LTLM*<_6HYC>:V%R_W\]Z;>(;: MO65^TE0>O_BJ"](*WQSM\TJ",]D&N1Q9?283I57FQZ]XC/XX0:7 !,_WR2GD M?S- ?@AT3UCN%@R$FI[K((.>1]=1AR]:H*%!OPWTHJC3**^N-%E$ M](=]EP3156>+M8+';2J;, BN7;2W%7GYJ;6<]K2%\O8QTU^>D!]A ((.. M?<@Z2-1"J0+(D7?/KGIGGWIG][RZZ&V#\]X:'IPG"LB+@J1#;S/RYN/'!\- MA@\D?_?]=RI"/_%V+@(Y;V(VPN]H!C:I>.?!3#5$O*-8A%G!1#+]IYCW$.7DHG&&HO(3F\+W78(L.F7&^AQ4PG9LT YWX M0NS>2 "U;/)#Z *N',BAE_BOKNWM74V';;L<"-GT0MGMR3;%];IVBED.\JJY M'4P4JD:'9;<_M>SVBTURPZ)"7U0=+43*[2$%]VH+\7)K>"%#K-P@5E[HZANB MY8N8!;5V"_%R5"O-Q&><<7%>,_( WFAJNNO+?VWOO+KL1?T/UNO:S* ME2LUOG#9_VG40J-2H/=++7F1]Q,+^1%E%T.1>M,B]=,+66&)^JT+67U@U<7; M)9RODJ[?FG)^KP2:(VKO*H,YYS2)11T[5>6H[)FFBQH'4.L\*>%W*B>-P_D9 M9QBB+Q+[(R3U'8'OD]+BB7LCJ@]-BP]SXE_*O763$+.XQ&!G+HIF5<6)12B" MQAW0Q S-.OS,*$(#LZ: _PS7+J(=$\A5Y\;]W]=\1SWV* M),(^S#N"RL=*(N0I#&71.5E$4F/:B02\AC!:I7 N0,)?] V!TR;[$FK:)D5*^:>*,MTL2E<0U$\(Y$[ M2[%3RJ_X3*\XS.G-W:)KC U8\ .HAXF'))4(G8DWXDS\"Y M Y'C4RIYN_J4$S?#[5(J#7=B/2JT%N3;*Y6_2^:,]_FQJ55KTZ54F*2WU?1\ M(U:@S %:8/PA$2?#PKZWD?YWE$"I3M^2".@4=?S*/$"4EMSAYZ)@R6)CZC], M8^HCV#PZ20<>).>= ZQ+//I*569@J^)FI@B]V M30X#U+\J*RU,?[I-M"1#O-P>7IS&@R%B;@TQ+[46#_'R98(LQ,L-XH5\J3%V MB)A0(0O1,,3+K>'%:7P8(N;6$!/>+[>)%]R>,,3+K>'%:9P8(N8V2CB\ MZ+#\ ]XV7U!%[PH"7N)HXKV)HW3\FR>.=E$A\)J*"NRRQP5VKU/W(22P(P*C M8_';BOS^8 *KPP+.[Z"O4'1_+\[Z]&(1B5CR._/5Q]:*>-9=^\<13B+]S2F' M_A/N\B\@'"+QS0GGXT3.\XZB/X]R;B %Z8;+TSCJW1T%(O].9-X'JX1W!+7/ MTI.3=P65CXW.QM$L83&(-[5 ',UH*VHOUN5>HTSNAA,YQ:T7K8^.Q?:+C#-! MV=O2T[ 89QE<52:9?$5BWF^:"'?$,I\E2.X+*A\N2+XF M&_&N!,E)@SF-'3YJ$E&D>]2*+Q":RCV-R ]/)'M!D.0T998LYMDFNQ[$QZWZ M?&.HO1:N").@J2L*DE AN1AG#\5!3-$<4IJOYUQVIW#'I$P/_3&[[2H(?*0&&&PDR$JKZ3$\DKC)!UV M1JVJAG&^"3NI5T>CSJQ -"JKQRTQ4_G'^.S'+T4-4&%$\J:+'.$?;BXJ[:(8 MW3]+Z'_CV6-]G-LME4HO65NQVV(U78VJL[.T\U[LXS_A1&"C %;RD4O6^>C' M+QD]OZ:&'LGCGA'_M*$]3!2Q7"DC08H1O3H#5SCJ)6P.HUPJ(F]- 6 %PW ME11.X6$".VS3K2J0$U$38E]'X(EH;D7G([3$5-315&B,KJXDV-5[IH*A8#D# M-V;W>,!IB(R*R&N /'[ MWQM^$(MDF2I3S[&13HEENY%-A]+D(E[Q9D[O&'<@T8.)[VO&\8[@.X= MX""L5O@K)+@YH.1:"E#*92!O.'S]B+!-R-1_SV@W+>-R19?;X.2WQ!I/3!>YA'>.T'+I?NQ]ODP,2;+J]+#X^VMU\ M-MH8CAD8IA"[_(CVO,4.V$"&D(;D\(4X>D])THM(6D\X(S<.FE'$L*#+"GJH3H4(FA&L G6\9ZO4 MP\D=#>LNQ<9O5NS^3:*LJV86? ;_S9A'&AW0Y#< XA"B M'4!!F:G(Q-2!P 22=L/)V.HS7)/9M<(-Z&LE4_^X=BDLWJPJ DIYC$48 %-8 M! \2 #+LG0FABPP<&ECP*TX"!AXRA^'WFJY.D*0_'CCAH,EN:2IV-#C[=98V M'*,>>0\<'=.[&YXU:7UIC;[D35X&Y >?1.;_")*AR9S]$[F^':AZ939/W-9D M*I;13@N]^:8]FBO*B[+\SW.1F1^;'WHQ!)6*NP]+GA5 )H))G_"__W64X>H] M!<&*>:K^TPVF]4'/ 0R%WH9F8A0GT'*0R7]R\I:S#>>L:3*6\))*?GH!N1#" MD72,R/P[@OX)Y#F=0$ )X Q6X_/![:@@G_.SXYI\:-H7\W@=C)NJ]I,B8\EC MA,?)6"H1P/A57OWH W;^EXO,=7@Y_*O;R)UE[A<=U*BT(^04Z+R'#BZ/23A_ MON]YEG! @B ;)?UO-0YD#Q\>HR0 :OPE('_^+S@B\C] GL)?_GV"A!-D'EX: MG07Q1Q>F=]'"N>]ADW%ML"/[U&8K%ZKE M K%:CMBJ5%C5)\D6&)DX':D6BNU:HQ!7">X1Z/(\K]#U\6Q,!><9;'=0-6PX,C#G0BY,GSI)HR-FB.FP2_%S&K833/]6E.$W?,"JY=)B9(:Y>RJ MEYNT>M7J4M166=BL(+!Z=])1%O5!CV"C>G*Z:YK$N*W @K:!D9I4K&R)5K5$ M5/9$11FI,KE0MN-D<&0C:N^GT]+3G!#WE8&UZ&C+(CA[*CC28H8RO6E,E!XE M)PO;EK):\MILG Z.)$6UDN[T,JU>IS_L$'MY65Y59T"+#HRT$U8OUZHWNV[N2/;32Z]Y* MG.NCZ).TZ9A@Z!F$5JGFOE&*9TF@&DY7V8+6:2U;8.@9Z)M\N\K-HKL2L3;G M#6VQ-RN-S!8.#2"_:DYZY4*ZD5Y:Q*!"IO19L:RBH0'L-^AHF]_(PWBO84\M M6B32+5*"E!\_'9EL=8:EB=ZILBM&81:;W+I)Z0ST#M*G0S=[00#4F8[WDK-Q M*LMRF7[K\2R3=.)F*KZ>;XB>M4GU^.GC5,N)+3 RL/P\N8_OJ3;38U=5*:H9 M&F--*3@G&8!4CY.?6D^MI +H5-'D&<%8LRX:&MCI$Y#,@[PNV4N[0G6KBZ=! MW&R@H9G3H?MXB2\]:M)JR352N>PP0=EZ:WN.]W9-T=;J\K;6ZRRZ9J5J)YOY M"0SI"1QJ,&Z+3#K7Z;,YJ5#5LN2HPVT@EZ8"T"\]I60EUQ>7Q:Z]U?E"J;I; MPM6#QZY1<&J%H;;6D M:986E*4U9VA[O)W07*L%1@:@O][HX\1,&ZK$NC?296%F]!99.#( ?39G-I\4 MV&L"UI:PET4=#0U GYMNI^1^WMVP M'4D?] 9Z(3_>HJ%!Z+<+=G&Q6'9[7%/=%W>LFM4EYMS=HU"M3%2MCJC>ZC$5 M3?'SQ'(0A;=4 *9EZK%+"OY?.DQ4]<)@CE[2U6*CV2O/.YTB$JQG-3D MZ-I*E!DP,C"GU5\.NKLG:4#DBN:"*I'U%BT:25A7N_,VW98!(I=J[>B^Y2[2B6R;.;7(M M.)0D3\=.J_5.>56I%(DD,)\3O;JT,!@TE@IRGUE8SMBY7.HE)_)^DNI+ZSFY M/7NC)JOE7#VQJXV(03)J/M6V3W1[T8)# Z1:[&8ZPG2[W"PK5:*PGJY(PU+1 MT "MIH?;A)VS.QJQ9A^;YIIB2T\L&AHDUEPY*X]-@VNRJU4_SW3,8C:YPF,# MU)H8 D5AGNOSR\ZT4%#%264]Z*.#!GZ*][[ N7X=9UX+]?6/^,HQF_^+[@>='$CB5M1 MB$#/3V1M<3HP3&4;.AO MZ;JN!7P&H((!O"'-=VI8Q__AG?5*!=5$W4 .NC/ M8M>6I*UN(-#E;=L6W6T_1!31A#0-T.4Y?KZRZ8+K$76WVY0YQ604P0-T,%YA M_*2N;"YM2,3ZL=>>,.F^.%NWPG8*G]E.X<6FRF&QN"^J>ADBY?:0@IL"AGBY M-;R0(59N$"LO=($.T?)%S((:#89XN3F\H Z'(5YNHVSOBXKQ'Y#W>%^X[/\T:J%1B>?[I99 O-<'E-,-1>I-B]1/+U"( M)>JW+E#X@=5T0\(Y$:[?FG!^K[*E(VGOJF('C&L%IH9^>./X4*E[1[#XI)HN MQ+U1R(?6= D+NKPVL^;BBU[6[MJ:>)1ZX3*Q-\9)NUCM-KG);*"-B<%NENM+ M4F4[7;Z_&LS%+15U?_&-0R&8RM-3&WPFZ\O!@BZ.1\N6M-ZU<)%+DGS(D)GK MUKF\*T[[%/F#O9!W!)6/E3_(UQ=*H%>F?'V$".H\=8?LF&&CR\JV7%@P^J9? M)MY?V^[-(DC;#7LC,]>6"+O56U3VDWJN$M_B\I@D]9#X_^R]:7.JVK8__/Y^ M"BOGGJ?VKAL]--*X]OFO*E3L>\7N#86 BB @C=VG?^8$3>R2F"P;3-@OUDX, M G,TOSG&F*.!E2=G]:+Z-@[WT^^F,706@B7_"/_ZAF9=4$FP]10O:\B%F/F' M5MM6#<%EVQ_3\ES6#.\+L+O9MGQ6KG/K6;8I.RPV'.(TV:L4H@?ELU<%T8F% MKT8)!\DA*3377,SG9IK$8&D.L..(9S)^Y7;EP=6L&]IL027!%<#E@Q/9'P,O M?VB2G8\OEM!,4]4HTD-DRRZFVT*AG;)O:*0ULK5Q/TWF2$20W60Y/LR4TE%8 MJ0)[F#\3"?):-MI#.4(9UP+"Y%KR "[D3WOIR>'H;LP='=MLR_TGB]O M";YH-K@NLU'M#313RT0^4\*K!7:FDXPEZI0^H;\^K.;3T%SH]J=(IH)S2'&X MJHZT?K*6&8]X II^P'V.XV$$+XS@W<5 #('H"C;C.TA$SN8]9YPR\H@R+Y+Q MPJJSS)=O>)A03PO=*#+D4YR2XH>#07UE5I)U@$2DAT3(&0,JOEL@KR0+MCPV M- DV+K>,N=\[. SKA6&],*QW-V/N12GS.SJY=;0;0WV."C6.Q0KD7)G5Y\A MBML?9>@Z9;M(DT7U*3NH$//I#4-W7+:7'Q1KZ07GIFK5+J]%+:8Q HA"0D2) M4U<[7GTH#Z@D# Q+< S+[R?@-_L-PW9AV"X,VSV@I0?G%?&O*@VN:LFV&.9@KRC_T!:[ M[D#','(71N["R-T-C,3SP$CA6T-ALJ!(I"@HE00W:C %^X9@I$GV)+_*B1;2 M&<:E<-2\6 MV%G"Z<'NOO#4E'A&XN?.XO[> ;K3[3[A8"[3,D:6;-N_PBA=&*7[85&ZX,E) M&%@* TL/$UBZFJ0\4BB$/$,:TID\6&J;X9=A4.1G!$5N@Y)A MG.0/XR1YO;8QAM-#I>DIZMZ4SP6=59DZ3ZU9,DZ2G1*VQ'N9&_HZ?0*II^5) MJH6XU92"*(WA*IY>P*$?,&A"/2?."3.'09-O&C2Y#0G".,J?QU$^PAE6R9)K]_4.4< MLR[5!F8^%7\UZEY2GZY@W@6&,@%!HC^AH@0'LK"G9O$CT I%W&8'T7T^CE?"(V,]$< MUVD.6_5&M[?HT3?TC_6>)?31ZGS(K10SD^QW)W1/&4%,\Y+U$]09?7P>*?08 M$.#ZZ3YQL&./84+6U6W$#M- .64:S;-RT5DC>0W/UJ0;XMXD+QA-N]/CN6*A M11KTJB=Y=J$JNNY0K4:D^ M06_HSVD&;XNUDJXATSA'K=Q:95KC1_ -@>U#D\\T>48GFP>/V9TC""68ZA1A M1-&=NIK@R!+@D&D!)O@SOV$(3Y@:8,UK[X,PA!>&\.YM:P600!?+"@'(_-=C M66<[T)'>00[PLR;#'P!8,SL \B:0GVH3*3(Z%55G'")D\A.ED^[T:ARPX[QY M G'Z&4&/'=B_PZA<&)4+@CD80!(%'Z6N9T!>$:88JI)W)VR?8*/LH#SK11=9 MD5A F(+%CHEG CMNBG$,4]\KT/;TNV4X@A8&U2YL&^XA" X01#+<@28_ ,I> M>JS4O2GQ .[X[2-R%?D40.8K:W0T%>,BFY(7Z #TN$,P[S1\S)8H@ R6FJLS>]1R$H5U)T\O M('P ^PJGGG&B1\?^A%' O#V!?YN%R/D@ M<'')F[BVHPQ7_D>*#A[L_$+IUQ='L8VJ;G_XV.C;ZW$1F0J*KJTBBBYJK@3> M\JCNPW>]8) QU=XNU7;-X_O3,0QHPS^:HLM;&J,(\N]_',/T2;B/ N!CW[&C MXI"$KOF1!NV5H40$)R("VAA /"(V !([XHS!9X(E>WIB*0/7 9 0<8R()<]E MW95CD8\K2L&UP/&PX:?.6 ;*\S*;(V)8\,:V8[F^ AM#^*U3]_->9"S,Y8AN M.)&5[$0&L@R>H0&DD^#3 -?GBBA#;?0> P>U"?H*RA-*_6.#2QP9L%J*N+;L MAW6G*.ECR0K C+Z+V_J9S651-NY;W)CS% MH[Y5UC)V3+3^"'>CJ\DLSU7SZ+([T"AA-MGOV$-\ F-WB7'@V[Y +.E#;$6P M+'[>7XUL"IV[:C7?'^16XE!K1YFGWTCL;7!]7Z6 A&A;3@2"X/@NP7'>9+L% M4T&R.(=-Q0QB&D*OCRYN1G"VI]0XFUMCW*R;SQ7EN3V=2(#@: S[0X)O--_7 M86=LR7)D"BX>VQ%?\9NRZ7@)2A$<>8Y X?-X!(GR###*-F7P5(!-J^< \ X] MJ2P]O+;@NAEWS)%]268P=95W4LS->**'&"WS%+X0O?F,\FTEX*2FZ=U65&^@'8++3FMF;3U: MTN,LT#24B"%_IFJQR&/)U8YN"!O=T&7GV3/4%1MF2@!A@3(T-#3-6$ A^@O8 MW\[8<&W Q[G);:Z?9XVQ;$LN9I<'684('-R"2"3]+H"7[E;T/MM M@>?C;.VS"/")@D&#:\J_M#[LO!0O;-B\T%991CS/Z2]0GJLE#9S<,%+7\=P>? M; )*T U]@D<=YV!H+$Z\%Z:4E/F)^QO@GD,@?%N2;'^/PHC7 MKX$E"VIT 8CPCVD /Q8(V2]+U@2X;1W<7?/XH7(K&0+0%D"PKTA0P9$SS&O'LF'3+E3MH20]\] POYQ]UZWU,!9J_-W;<#R8OML]A749.* M)1Y*(+S6DM]0$F[4<^+]\.IW7/-'HQNA@YY7_?3O("^4@W/S" MS2_<_,+-+P2]SVQ^8;0CC'9\SVA'#3S D+[A!A^BWF=%(;7I@1$*PQ6$X?&0 M8:=3=B@1(3R$\! *0R@,X5X1[A4A/'P1'L[WHM^4BM"QOO>2[^I8?Z-,F[]Z MLF#9?W\3N'QOI7X*T?&_1TN_$$Y^(R%AO&Z4H8QTRU/JD0K?2.\1*=<&[R-; M$;\GHJ';8\6TOT,:WO;$Z9M6J7UY,JIM.7Q#T$RHBM3=UKV6EGQ MF]FH_#L349.KLC QK)0FV+9WE^UWMM+4V!6FS7W%7B4Y8TG;0:(48PS;U-1F M]-'> -ZH+8N_)-=:R8*U'=5J2D/[U^[QJ5^"5QT>OM3.--ZI@.@=,JUVU54U MC^$]85HN*_6GW^AV%.^&;+^C%R6CL+P!&0MS.=U,)RLY5BF5QBDYZQ0MK7X5 M,M;;=7Q08*LYCD3S*SK9[H]M.#X<10[I^ V.LV^>I_Q1$^+KK_E_+[;%WQ ; MO4'"N\O"8\3APB)7GBQ^+=T>4 -7G5&S$C+3L$)EN)Z-^\ MGM>GY&62.;X9:BWR9#D_+67=81:9C2I(=;W .VE[P9,\\?0[\4P@Y(EAYJ'J M/UZCDTNH_LU;EQRI_M&R(G^%FO^!YN_4GNV: R>P(-U";*G&P].NP%EM<-H M6GYHJEFV@\Z*-M^W->@&8,C3;^P9I?!W+($'KUGR3T?3\ES6#%.6(HXLCG5# M,T:K;UJE=.GCTN"?^@?R!/5%XEHO M> &+?%A#2IC21\,JPA-%_SJDM UMTC,71):3327?5,O%(K,$I$Q2;CUSH4"IC6A. 1@D?@8L@?H<=$K2^*@LHQ7+&D M!OX'(UK/,-ZWR_I-^M%PEB=,G[I0*$:ZO=\TY4+N&=KL*MUHK*%JW^F*TQ M5SE8129K#"UPXSHR2Q;C>EDC9I7%")@ #W)&_3XA4RJ.H>UQ#N>BO64O%<\G MFYG<=4JF25U@TF/>B2)"OUODDB,L37;#6M]OD]UW8?OH1QA#EXGMOJ_B\5:. MS0TT'N$P7F!ZU+RI3HHWS??OJ.8\42ZP'95\*TV@B$!!I" HHT">')*?/^*X!J 23B>,:P! M#FN KW6ZZLO85N.)'BLSO:3!J5E%F>6C(V>M)JYSFIK4ZNFY8V4:;#.Y%+M# M$\UGLHNGW^2#G*;N$TX?5)KCI8KRJC*CVIU,O5R<2]NR^39E216 MK>EZTE^VKGAZ&C#<"'/0PARTH 58][' 02MRCBH9!A*53-/J,-9,;=TTH,(2 M1">USB<,9(HWFF647;69Q0@LEO!ZJ9PX4PFA(DR #Q/@OR]2G!]WH7"-R%4J M+LJMUIR8JI>JZZS$@.5[Y[%TG ISW4,[([0S?A1ZO-&Y673S]>Z@Q7%*FRU. MW;RH(VV(%/#@%B/>"\^$.!'B1(@3UXOK'D1U,$TI3%;=)C?MS.6ID9XENZ.; MUN2."^BH6.ROBYR;3*(#ENBRI2ET2. );^B1A!Y)Z)'\.*SX1(JH3I4%--$N MJ--ATK3G*]=1S#I$#^\HF**O-ATF8'H3VAJAK1'BQ[M."2DZ+J_T9QUDA:7: MR]PB/^7+"X 5\,P81]_+)'N\4MN*H8O&U)0=Q9,*863)\A0R(ZRU_;ZUMG^B MJR\"(S,OLK)17'[4Q!5UJB%JLZIBD\$RU<&*%Z__!!K:SXQ-1U1S52[:F3HR MC=>R3JO.HV!Y0$/#"M"+;=J&)E M!F([OSI"=,;6>)H=3DMJ*K_LQ;$A.UY)]5N&$1&EX%P0I^&DS#!/+1&OI\U CF.8I=8?RC;H6P'2[:#'#A[9[?,C-=H M*\6/IJHPHY>KE#!O&^)-36VN3+M9?:@654'O&,UF,:?:JF=JPR.[T-8.;>W0 MU@[AXQ/&MMNCUG$3[RIJM()3XS3;1]LC+^P'3_%":SNT2'Z&17)D;3]XJ:+_ MB);A"-HWK52\@Q(_2DGCS2D3YF2\DY.Q#X4X@$+)<,%6'0C8O]S([R"N/!!^ MZ6L0M\,T4$Z91O.L7'362%[#LS7IIIT^"V9NG+9I=\%U>,S*9U>NVK"!_XC" MHYHX_4R>F $7XL-U4S[OKB77QHS*$[G=3H=M(BV!%5D5].Q M.B:'XTZWPT!X\,9"XL\H'AH4(3R$\'"G@S!Q5>JEY'EWH2JY[E*N1*7Z!+UI MC1E7')#=E8!%V6:-2#>,NI9H]WR$B'LN!X4,,;B6<2>Z]RW3O:^X\C@*?\/BILN9"L*GIT+$-> M_0*LV1/>0ZU^_2;\X[DZ#MX:LDC176&S.DF9;_\%_VSO+FJR8$'1'_\C*;:I M":M?WL(W+_0BU W=[CR:1@6 MWV+#BRZ@I$^O'>IX__[/[FI>=3XJ&IIA_=HJ]@[U-H3!/!T?R=&!)0MJ5!B" MQ_\2M(6PLC=KI=$8\7( _NL%'""%(W0,2?P[XOV((C&<\(ARQ+.IL(SNT&T# M*5%-'@+&^%_;?N;!P2_OMO^8ANT5'/ZR9+#+ FTZX-F&XXYAPM-J@G0!+-O^W"?]_-1T^_6U "(\8P MDH*(Y159;M1$^+W#^M,JL2&)1]DHNJNI&\J^?KC/DB-2^W\$XB_^!:^(_%\$ M\[[Y]P$3#ICYNF-L'NA_],;MMVP1MD XJ50HY#(M-BOID72XQHW8=UB<^ M^01XN7*I-Y1*<:X1+%:DZ :A+^GH'$ F#./N7UF-FYJ(]"F1Z0GEN9NCI7262:$EJ%NJ.G MX95'3V_WY(S8:=J*FNJGUT4<'9'U ;P2QI/V+Q6Z7+1O1',**P]&DX0#2Z;1&9XIUUBLW*&HQ9\_'A) M-OD(:-)[FF;#6=U:I,2"V& M)XZO9-%X/A_-1.M(1YG5K=9,2M66=7#ET>*IA-"?=82RBV#])K9N\N-V:P[O M>;3XQKPI9*?UN(5,2[.4I@MY1LJ-P)5'BZ>'Y0DWB[H]=4J.*]J*1DBC *\\ M7ORR)V8[(M9FV:K87"7:63=MX%!$CY9$-1-R7EZV!XBK6J:YG+4UEAF=%'LF M68^VG9&N%H?-IL9ELVEY7 ?B='1/)K>:YL99(8-$AXT5FY^64OB*.27V<[Z$ M%9EB/L=FQ/+XRER#F52J!4EG9X6Y M.A8%)I?@X83KHRL7Z[597RCF1'7'W3%NSIHI1(/#WHZNG)>9^D!F6Q:P_-*( M);8J!IN XQ^V5#JP2_SO#?C)2!K-M%&=4.6119/%9E*M=>H\O!3SC4WP#> 8 M.A]=C5]D5T+WK8B):SO*<.5_I.C Z@) 3!_O7"CVFEDUEB/^5B1+$0'8/L F MB @[?FW$]"JNH14<$<29JUC@0@7>6ADJWIZEO-BZ$<$S=B,+P8Y\O0*]A]<6 M7#?CCCFR+\D,IJ[R3NKC9M=;*YS9O.0[UGAGLV#&7R]GRT-7*RE#>:.RHA7@$OH8-%@^W[Z9L.EZ:++ /GB-P0;$( M)/+0T#1C 3;(B&=K1FQW"K@"N&B?(. > ^2E*>LVI'/$ 3<21)B7*^@K>"] M5@G^48(_>9F),"X!Y K\STO9A:\$K[?D,;@.$ /"1N_F MA:!%)_HFX[Z%?6R3(4=VL6-MG[KUE_P5G9DK2L6(=^V M)-G^'H4QC%^^/[( 1/C0$=CX?'N6IC 6N ZAY;FC2-<.]_[A"^\Z]O]6?PO M]FYB>LB6N['EW48Q(5_NPQ<4C^'O#JD*&7,?QN ?M, *^7(W( OY$D"^0"## M0\8$CS&A0190MJ!TR)?@\07%8C05,B9XC GWEV#R!0!9J"\!Y L$LM#EOQYC M/EO<_E' \GY$^ P5KFF*/A0%1$.#'_Z_)^+IJQM:/$8&H*'%)^OB!V^0;S>Q M9&!HDG>^9\ERI S^,+8CK"[)TNL)E=\J T>>MSTS!J& 75S \%@<^\X"5E'T M+\E7"-W?2[.VG7>._WU7L;"O*A9*Q(+5GN?">@4/U"^$R!^%T7^#Q3]/,G!O[GDX) ML 32SVL)_@"Z]RERZ3+ ER16ZMT!6'DO3[:YS:0M&:+WK;TFN2F@S]5A4]#D M;6]J.MSF-1_FS+9>T.947Y-"0T8< M7)VJ6#&EC1(+0^846-V!/_TF3E0?7T[X\"#V$0T"(#T652X.2'@(2!\!$KX+ M2/@? E(N4]3U65=I(--IMC">\565R8SN!DB39!2/5H<#G5MUYCFNUDJTTPE8 M=$0"0**N"4BA@?1F!LP#4>6R>.3GF81X] 8>O3\A]&MXU.%%NERNU E50!R. M%8?M84^[GX$TK3?'*&_F5DB5,]H*CAGC_ H:2 EO]C=Q//O[DB;2G7;#H$/2 M?70R,)!T]][LP8>DRYI(W4P]FDY*)E=L9S)EL'+WT"Z;LI14ZX M*,VR5:VI\(Y,M,8\[*N! Z!/D%>/S@55%V\9B@OAZB X%\+552-U[\%5C4:K MB4DEET6F2=PR\TYOL:@%!Z[F^K":ZBW(*AME!%,TE:ZN=NL KLBGWSAV:F1G M:%Q=.% 7HM5!Z"Y$JZO&\=Y#J[:%U&B](O4Y)9/J68XS9=WY54\6/H56)8ZC MQK-R4D!268=-^4E*@<95X^DVAUSWZ#'+RTRV#>"%<'83U0KBZ:HSO/;AB M4]C0'0V,C%I$<3>S&IJ5!AXS<8&)X>WR>][NZ=YH-QEO-F_MW=Z?,8&\'IH&!_A+O1 MU626YZIY=-D=:)0PFUSUN.9T]_YVYR!#Q8\ :-WU#F' M-&%NW6URZ^ZN;8%!H]/I!G>GST.AT8%9:K+=@JD@69S#IF(&,0VAUT>O:E:> M1B.A+R(Y'5^S"%DEU[3E6$B"ANW126 ^(M=,8PE-H\\DUMU=V8(!1F]FWMV= M/H\!1I]KP'UK,"JAMLD[2+/ 15.=VCS3"K[A-9 M=7?7M\#@44!=V8?"HP/C*#,WL"Y?3Y0XP>YFBQ.M*<6Q.QA'$WFAMLM" 5R9),X-KSWVM+6+"^1' T>V@T9V)XY\$.$;RY&4/]_" M2](3O80]W7TW[/?^-!+'B S@+YL1'/;QS(M7"EUY]$53',N2J\G&\)TA&!G7 M<2WY_%$8Q=8X:TQ<6>&:J]9"$M-]@RXMPE$8MQR%0<=C5-@9,X =&+$8%;;X M#2!?T%C(EB"R!8F182?9P#0L_7!;N0$1/M$&IB<+%FP""">3I65QMPD@>NDF MD^_#^ET:YIR147*SCD-8+!Z ?,'K=1P"YK&K.W_42"B7#9"YEL&86'J?@",L?GJ M<"<.T&$:**=,HWE6+CIK)*_AV9KT^8C7UV9E-CQ< (A?'684& 3K>?-1C\)A MT;G9J3&)=IF-YNL#M+0JNN8 3A.&F0LD=?%4LR"8,1_!*G%I] SJ:F\'E4&E MP!72>S]RFT(DO"T25L!;M1:R-I?]UN0G0)!A.1+1='K)8E$11W3"U3+RIC4: M_HR0E\^X?5"#DPSMRM"NO E^AL9E@"$5VI*MA7$"20M*LBDQ4V&HIG"SR[

Q-F7LV',"N7R_DD4F*;6JU5)(]AB=]=(W'SRAM^(;69<)K8^>,94L6AHYLA<;FQ6$T;%YP M *#!.4S^,6CJ93[[4*J=@%+6RY"5I5U$92 ->!64@_M]@2A MVK?K/.4UG7O&D#/Z./T :]7O-##T4G'W,X\WK4-#4_8^INS=ZS$"?AI_=_K\ M6)@^48KB9RFUC.0VG5^63B!R-6G7)N4*M6*CBKR81\F&1>,CGO80&7]&<3RL M3CGK+5'SCZM36M"BCBS@/WLKBMJR&%6647\!OW+>_WC4"XU)5BLM'/;O7M%15G3_GG/%K]L]OR;^;U8?&L>O2 K2AVGQ,-__V#\"6PHG/*(<\0Q6E.W0;:^H;/.U_;HR[[8?5CEL..X8YB\, MC9'[#(^C,8HXXOA5;%?\E3O_%2) ?8&%]*]6-752=S[$#:\\$19FI@RO!N\5 M"(7=:HC3*K$AB4?9*+IK7VPH^_KA/DN.2.W_$8B_^!>\(O)_ &7@-__>TRHL M1A+F847+ 7]?+>3-._@?O?'$+:<$SZSCZ2%"DH,$RE,2*O-Q(-A\ D=Q'J>! MH4Z2^% >($\^;8274.>JO.XO^0'.N;3":_ITD&K71K#>]/!*3DLCY?(2DY"J MPDA,I9.?\LH"7$D<7NE4NWS2E;"6*J?&1_=,X'0A+RP6(N?. M^GRWM*#S&51T^?E:T:7]60*4LF>B9KEN=":PZGGAP]O9)+B>,D4B>!]5*H MB,E6P4A48!OJHZ='I<&Z7%JA"C=KH<.VY:1;"L, N^?HREP[.AK3A2[!D:N. M4AZ.& QKU7GR^$J>RCU+YY-#)9$8\=7QEAB]-I6G2L+\"51U2JEO'\JM+KU]5JMYD3 M3:6MI[IU<.4^E7AR*"8&0S(.?DA@?)Q.X#PM)$@@APF4DI$AA5/BX;U[K;E< MS)!83\78!)MH91.Y!,*U+ZINT\(R33Y1*7JM6%9;JX:O7S)Z6OV;2;=(8:U%FRVTER M92&:$0"O3DC?)!^?$ G!&;#N8J+.HUF[R-F+4]*G"(HL(M2,55,LDC47#*]U MBXM3TM>> :V>$E113;D8EU(M#"TCS"GI0VOM)#5/JUTVJ\D+88BRNM8>G9*^ M=6>,NV1JT&%GF4FAUU^XDYY\4OJ8\I3$RFBYHE8YM,2:EE"*._53TJ>H--HL M]BH6YRY;C0Q.4VYO#:\\7KLNE994U!XB2G)25BVC/II;#+CR0*8&A$2+0XSB M!T.$YN,H<)\'PP3-HP0&\$R2L0&*']Z[:)JU*MOC>2X:EX:6P12']6$=2,K1 M^_:68BO7BC-%%LM4UP21J)7SB9/2Q^M1SB@;M80*3)R,88V[(RO' $DYNF=! M=5)BOJ7GV.Q %;(CI-XEEZ-3TN5FK.PZR=E*KU:E+&F MFRRHJ6R&L]J%]0C#3Z)/2^?+LM.N--GI0+<7&3&*+_3%*?Y+?7.8] ?FS]E-*:KP MG"U2,?2HZ%H6,&TBS%%[V9OWUOCB*O2=56Q\., '6['AQ"Q@O$%/SF^4 ?VZ M^[?*J Z]]]Z$U Q]\^[';3 &[99=X^=X5FV6&R;36QJ9)3,*VV#7>"2LB7>[4G0=Z=NQCRY4Y],$+&!),Q ,C"/DL! MY L:2\1#O@20+VC8 .N:C/ED*M2'!O(/R.SYR!9]*!)S MW4VK)^2RK9X^VO%_FKC@,>JAQ>6LQF AK'XS6+UY S0?50.4LWYA-8*AU!^! ML#>7'!]@O[7DX)= VP?*6'_Z[0V%C(B"Z9T-K64)M@4W!HZ@Z!%+GLNZ*WMG M&##!UHY <$;1?_8.2_Y"+]A@SP?K!Z+@C894((\VD?*R,RCNM/R?F+*_/6=, MO4)":J/_$"LJLO-ZV'@B9[^C]0P[8=$VDET+K14V&""3Y>*E>]0Y R7^<+]^ M(#6Y4<%0XO2PS:!2Y;+@@=ZKBNP!P /%>'PSGD9=Y=J$JNNY0K4:D^ M03\_(>L/T<.<=1&^MTIT$,76%&)@E@H-%J8;D;"FG: OWS$DX![RTV].!PBA M ;M,$$58-&4#LTR4E;F7"''2'L,N;H\%E3HW-+Y^- D^//7],8AY-7-KJ^:- M%^6V*X:3!)_!GQDG*6B"+LK-L2P[:<&1_0K*;9T[K*1,&>#[7M$[K/BHZO(; M38X5?J:FB6+!X*KC4L>F4;VP6M7]KG0H\HRAUQU"&.20R@WML9]-@H\.7W\, MGES/ KL=H& 9-=KDE4Z+ZT@%31D*>2$Q@&TN2=@XXQH-@Q\ST.:;P=ODXC"4 M%H;2 D.5,,1VEQ#;!A(ZBC-.N3;@T":?_R,WV9TL6B4VG<+8%,%7>44JZ=DQ MXS?6)%$T#+&%(;8@4"4,O=TE]/955&DV%[5I>U&>(E-AU9VD*3*J]""J #LN M<7:OG6\4>@,$BRCZ7+8=V('%!C]';$ S.^JL3#FBR8(MOV''X6$(+@S!A2&X MQS+'FE"W6T"U2U"S@?+G7W0_KWN?>8XP VM H>N<,:R4)4N*4S)L^UUD'8\( M=8'5QE&61.+]ZGS0I-/ZPF_5B]+/%'5&;\DPY!:&W,*06Z MK^L!2"N=%CQ+NA.Z8':F398EHUF>%+IM<:BG&/\AN#Q9^(< MS WC;+>)L]U;K0($/6\&W>Y-HP> GNN9AI_%'M'$T*S>PDQVUK,R"+.TD![P M&"D_$2[^$Z-Q_N0!XXUF36&\[?(FWKT[Y@QT>ODZ M]W:;?>_TB]EMUPUL-GGZ8>OM+GBS #1A9;C.KZ&RE*53C45W M:+=MD>^KQKXQO;D,=AY]^L_N'_YH#0>/UW<(8^0@XOC7 ?O Z@Y4C) MKSPZHRG+D8KAR!'L.;)5'.72+W"BN^W+"S0VIP&2(Q )5>9V*H,%5F7P.ZG,)D$\XF6( YV9F@#G]9W,969;D/:: M8AYJT,_5(#QH&M0:RY[8"OHJ,A:DB'Y..A><2J6 /Z8S>2#G<1K[)V*O;$>> M>G.94NW_[U\H%7_]S#,M8Y'67G/PC=2Y4R )X*5MKW>X^*I FV[BFW?SU(GZ MQS[O_;R^X[)7#.I]&SX/6-02#"M*7L=R&-058-/RP4:!;:C ]ILMRX^4YFH= MVP_],NB!D!]Z'1MU>NG4?:8G^];XFNT3;]Y)/('%*.(2O<2)&/E#.U>^(RF? M"'%]L4>,.!I8#;Y&1M+L.WAK<4=#MZVNF\T<'[^ZC]K4AT M@9:D1 R];5',47 DX Y02^J?$NV#;[X"!Z!TZQ,>/LG@>73;^L+&W#ZAW3*^C1Q."L&]$][\P&.PY>*RN;#T?6H"S\AB^YZIK_LUI=X_ MK\?M)S+91OF<1%M);L*Z-=Z@&U.;BPX9O_\V2C['">***;!WPXF@H0+ZPU ! MO\]Z@XX*MRHU_Q@6AEG#$95!>HXH"V)BKE-Y0:LP?F/MQ'/\G,3X!W="82?M MD2M8 F"2+ $[R58D5] N7CX4#+?S_A"(!6!64+!HLK6>@N-8!1(T;V1*[:)! M8P,&7J7 JD53Y*8 O.NDQJ_GZ*9E-O5,8->WJ7Z6IFP,J! ]3EA9 M(7H$PN3Z#'P8\?G4&67S:2X;[W<:CMYAR6K=;Y =?Z;0*TPU>82 U3GM%;^! M;_H@IEJ 1>6FUEGHQ0:HX>(),%W2 W&E.5R>F[5G+$&+4GM!C/S>UQC^G*"O M6>,=!K@>),!U4Y,LA(P@]5@\@1EH=]R+*T*JS EM*U]K\#K5ZM?]SM9H_!FE MKF:!!48AX/F@;?^*I#9=[H.89*'_^U#1LX^Q]J_'L,],:6C_V@!%S<>)ZG ?>'>F2@&\ M!=0 MS[5MW:X+HZ(1:W&*2G![2>R1+.1KON-KXEG\,Y'N'O!QOEAY"Q$CL>( MG-T+.2YOIET..BIILCI(H+;&K2I\@L72*1U.(_%;7@,W[WC*T3%T_-2HV92TXK8K1=(!-'J M?BOLJP\P"3[%"UK:V=T)$G0$>L01*+.N/6C5!MT<-TNB2P13]/'* MW'3$_M0(E&V;FTTEJ_^=BCL%G!0OIA&O+1IWNSB^KR+(^4AR[18]*+:14>^' M,YKT//TN"XYK*8XBV[[IM0TLVA%36/FFJA]6/+96!:\ETDMI9 1'GB-P?]S4 MPBUD2X;7^ V6WFYD!.BRQ\P]P4^[E@"%@D=YU-]\6\;.3MS#:PNNFW'''-F7 M9 935WDGQ;PIW8PNI15+%IV,H@,Q!@#BR;9]X.!L:+)JP5]:X%62FB&J&Y$> M\/5)"ZF8 U1$IN,U80R*;(871T\1&0B_"1[K6*Y\.9"^LD@&LM\2=8%^2U0B MEOBA_9;.;Y_\"2/H8@T=\!CU0_LY!)LOP"[[H3V @LT7%/^QS9ENPIA/1AL_ MW%=N0(1/%-'V9,&*L#I\PZ!9:GXW@\A?ECP5%-WK*#NV9#DR!9>-[8N.%J?NGK]TCL#>W;)]8/Y9\8::ILH2\M(;CZ5I0IXU]8"-N\J>]!Q:F22 MBPHJCE4KG#)25_(XG:#*](+'O,C^,Q$_/F;]TU/6(-@]'X$O<6F,#>YJ+W]0 M^K[W]Q/&8'WD:(7H& 1T;"T,Z-2<0L5X:DFW"+*XYMQ.JM2914NUO#;RNVC0 MSTC\W'%0W]Y*);^!,1HT['P@$MP23D/[\_$0%KJM;V'L@LOPB%G(M-@B-H[+ MI5F-B0Y&VZ)ZDCK.#?X)EB<56IZAY1E:GM\;%S.&:[T%B]F%13;QKB&IQ0J3 M3#:["[8M;>M;GZFS)Y%^>].3#DW/6YB>]SY;> 2\#2#90HC^0X@&_[P%T>:L MSJD=;%WE4H:EN.@TJI=TQJ]J(Z^&ST%5M*??+<,1M,C0=5Q+/DKO>TG_^RF& M[0U/I'XT"4);]R& ] 1^.DB#7BY'_:C:*6&E>3^1L/ODIIH$0YZ1^.7;,3RB MC>LW;*A9L@W+]^:"YLH108*9VI#(D;^$[Y )$&B(^79&\>7]AL>T@#])M(=J MW'"JZ&8#(FV((3:E(RJFGQ:QNFY/TB*07F8L(KF-$D @"G[N; MA?^)$K,_0X43M/->'VH*?(>H)JP,U_DU5):R=*K,@C7/&(PCXZNOZO\(;@;<".JOM MY8EO/GKZG1(TT06R)$L1U_9SIL$>#7Z/*%-34T0%MDWQ/O2W;TEV9 O(.;@> M0$%$%L2Q_Y?8BS8>:^+%BX51\V09KO>1HH,=UMD1LM-EN:TQK(]="/;]<179 M@]6H+8L06F%Q$#"@OE J?K)*_ 5R$1]R*X)E\0R;'-11R1BJQ=7<4AH9>T"/ MZD^_=>,(;"/"]K8>XT7OQI$]>85O'E664=_(^97S_L>7>\-T/HL6FFIUN2ZA M\;95($GF'K*N 3+L6)W>_R* X<>='-\LK?::.6[K>"(XZGV,QR) FB(I8PKN MN/*:"%'_@#OH(P-JE*78:@0L0QC)7@3"=J!^C58>'0\&J@!E$S57@N7?L@6% MPKN!/ (J"J^=*_+">S7 <2 \SNY$%L_.MF/^;@B8!V52T5W!WRJO5OJ^JW,> MXIW5UN)H3X"J^942LIT-5 1\M*!M./Y'4FP3;":_/ Z>!*.'.S45"QA.F_O MRWOWBHJRIAUN!7M^V65K\=ZL^,#BK^TP-N8C/.,^++"#__[/65;&#O4VA,&\ M[6LD1_UB10%VH/@E: MA96_62J,Q@GS=B[?O!BDVGD7J4YH)L+PRFBF7>WTH@6>$XIB%;65 M3(NH,^#*HZ>OR)F=)97% ,E&YP5B9=I%.P&O1-'#2_-3@JW;JQ3#%MU\6K'[ M=);EZCS.(X=7=G)=LH!;58,E\8YI]8KXV&S#/.ZC)6&ZTA1)=-#BFIPXY&T, M;$$S>.71DBKZ<(ZV39MA4Q/)+<8S>K-BPBN/EK1,B>7L-%?HLZX]2I:FC15/ MYN&5QTLRW.+XRG*.6L7-I1%E!36'LN4:RO2&L.OUT>)GC:0URQ?7&I):LN7E.MMGK 6\ MY]'B&UVJLIX5HHXJ3*K6W.G72:H&LY..%E_/-;7>>!FG$86UZ:S"3^+-L1"C);9I'F/)YR MR*P]T/'%*?'GQS.AF,%K4:0Z7G.%Q8C5J1X4_Z.E260G/5]6S9(J6QV)**>3 MAJXPI\2?F[9GE*E**#LU1DK=%)AAD:Z?$G^NM):RNC0DU&E][I3KY!"=KD:G M)%73\,S8[L4+2+5FUI.+OM II.JG!* Z+LRD9@_M<=$HV11*Z:%NYZ"HQ ^O MU-5X26:7E(ZXB#CF,X8T&IHPPY;:YX HD22*DPD^$<=IP &,Y&D1'X)_!G$Q M$9=DF1(/>!:/RT.!I@!0T0"R!A+)#Q+"@)<05$((#(WCPR-:R%J.3*I3)LJ2 M-%IAY.5\F&$@SXY6R*JR;I41%6&%==::6JP!<+]^BKL3QL'8?+.-J--<-EEE M:JB^J$ @.KJG*8VZIN7(/#=;8]%,>EKNS(7 MVHM3/*NRTZS:'J2:2"K'NL6\IA7CV$F>K6UDUAB/F"ZWZO&-S*(7%X< !D\H M;7W1E1+]+,#4*&\E,]:Z)O'$@B=/2$Q=GF,556NI+I/MVECVT/L(^;,N78H9U(9=0B1W:T5+NP,FQWQ/B>,?!" M9(EQWKF.AY>A5VKA=%0??V"D;<,#GZRQC\0YK5Z"$3 >AXJXF4D@ B]&4/2(/',5T_-,_4YC7O=;Z.AK MFF]P;GF_N?MS9#%6Q+''6OC]N6 IAFL#3U27%\ 1!5ZM'R,2_%$))OR?]\AG MK^VN,94CHG\C"S[;>DEV@K:M:$RGX%L"\#G S[8#KG*$Y>:570=ZAPIP49L M8:I:&)V.[IP1R%&FG:@S8!2.:]:SB M)MBV,E1D"09RA,APFWVSB?2<%]UYZ=+BAWBNVT#P+0W?#UV>E_X"E[@9/N+% M-X%&F99B VJ 5<-(KM\1$-+C?CT!O==, ?U^H\G?6J3GKC4HE)&LJG/)A3)V M*NE';?)WJ29^NSX\/,W9=^"]3\[N\[?UIO^LRQ]&Q0@T;([U8;#S#MWDPB9_ MP60+&?(E>'Q!\1@>#QD3/,;@L3@1\B5X? % %O(E@'R!0(:'C D>8T*#+*!L M0<,NY0'D"QR4].X8PI Q]S+(POTEB'P!0!;J2P#Y H$L=/D#TS[^PX#ECR@5 M^C[%4B_-X(FO-H/'XS$R_IV;P7OMY")^*V,XBD"67L^^-H="P>K$'*%Q:PBJ)_2;Y"Z/Y>FO7>#(]W%.OK8SR(&/F=]0H>IU]L.,S[8?0? M)S@$__D=! J)G2T^_J?OKI M-NWNPO;> Y'D5D8P^5!4N71S$YBJ$O;U?SJ=E4J=S$KMCW WNIK,\EPUCRZ[ M XT29I/ZE[N;[-=#P#S6DPW[N$9\N'!'2+$Q6<6GZVC<;M7]<2AQY(P147]H M[C^0AMP*-QZ+*A?'#3S$C8]P ]_%#9PWV6[!5) LSF%3,8.8AM#KHU_OBG06 M;ECYFF.+,WZDIN;L2$GDIAEL DOIR*??.'W&@(_0W+@L;*"/U@/UDK#A)V*$ ML/$&;'RN".::L-%HU(MT=59DU4X'QZD$HPJY-(2-!)Q)B9+7-3CNM+<$'3GN MHSJ!08[[^&D/A1P'!D=F;F!=OIXH<8+=S18G6E.*8UQTW, \Z"/SBG<4#?ICW]+LY-BPG"@N9MU6CNN35%'NU?'OAGLA? MZ 5[B@9Y@H%(!$H;M/!@I& M@/[-3**[T^;*;.9) .' MT$3@"!WXQE$-]K@9"+8"_@#TUO,#LQY,U5?H??B4Y@/ MC(K+SS)INJ:I>4-S 4",;;M3?TY2QK R@F*UX31?QJX.D_[ZFG!Y:;"R95A-V9HK<.@-XPT6KKY^4 *"NAFC M=#QW!>&5=K54;"?9:+TT=NQ9T=1KBQ\^=^7&0U7(> P/>WD&L)=GV),XJ'Q! MPI[$ >0+BL82B9 QP6,,%DN$TVX"R!QF/(#0J'KM?7\.JMTM_?\7^:N."Q&Y#C>M)R-#SZ MPL)R"WC])'6^4B<2[BO?;%^Y>3M=?UL)4+U0#O,MQ:=?^EZ)&5 M+%CV1=L8W:EM8,!W<23,*7WKG.#&9$'-S^=$OIT1P-A\=;B3 M!A&BBG3*-Y M5BXZ:R2OX=F:=#K-"*K>^WW;MMK-^,K=V.JV]T>8>(2^I"]B/9SKM2IYW M%ZJ2ZR[E2E2J3U#F^KK.C?(YK88->'8V85"&&Z90N\;XC:(C\5C\*KK^8*;1 M9Z3Z>X4E3AB%DF*+@&M.!,B;GYQX8 M&M-?DL)\6N[BTE1?4]=[2I/N6-2VF M:\G\NE=4HW.:;G'% ML?28UU?EAFGKYD$[Y6L<2_W-KW8-M(;S2] 12])EO0 MLWZI=8EBK\4N3;?5=[OCGKJB62.;KF18)[?P>U,2L<0UFU,&/2SU[X]B4==) M\?@9V'"+OJ2/@ UG&)'W X?I.M]N\1;#LMA@.DS)Q9&4)4=^L\EX+'%&'5S M0X]_ [OE_Q=I];BVNGR#U 14A8%[%FQ$L&%)VJJ6GW4JAFI,CWRT<8K#V&<=Z[CX65H6.!QRP(/.AZCPH3U0*834G3( ME^#Q!8V%; DB6Y 8&:;?!B;]]L-MY09$^$2F0D\6K BKPQ>,7#MO[GU8#WI. MQ]L9,@?DN4!Z#!:+!Z#+_?5HR4RAY_M'D\HW>O9 AR!^/EGDK]>D$&=LR7+$ M;[QPT:P/ZCZS,B^7172CP^&?/%+4-QO"P8!_>EKPR9Y7[X08:L(*MMFPTZY< M >_36LC:7"Y[Z'"B11:=9!9*>=:C$5=+.W6LH8IJ;\1CWF#SQ!D#BA_0L/D( M78E+@VAP5WOY(Y$ +_"/^B5M!;&"=133%G4&\980K*+/H$. M';UE3S>9=>@S32#7PKV'LA, [\AO8$\&#!T?B *W!,S0A PNAD('\P2*=I9- M!+Q(N<%.6\6Z#L TE9QLIJ&BSP1Q1@_Y;V@]4J'U&%J/H?7X+9 O8[C6J7F+ M11VA>$NHJ#.]P?:KHEQ-:W5_5@_Z'$^$YN,&"^G0?+R!^7CO"/\C(&H R1:" M\)D@K,Q/69]Z=;AD5H >G* B+F7RHEKD%CP)09B.4S_/]O2'4@Y=Q[7DR-1O ME+Y)I#,W% U-T] T#4W3AT?%$VC(YA;506Y4X]2.FDF4#+*:'B,CGO+&1SYC M>&B2PK]" O^*;+NN1[R)&J&!&AJHMZ/00UJCGR1:Y*_'@%UO#,P;:,N(HN7* MTA8J3B!N?)3OY+7RI*\*>">:;"2RC5IGP=,>XA+Q([P]AIKO9H#6_(DHD3D< M> &K-=ZU14]WL-FK^?@+NS@^!Y5Z-TQ5NO?PND E+MV;&#_9W'T#>D\%7)E\ MK9I:#(J(0LK#07RM)U>K!7RSI]_$,T&%<_S".7[A'+\OCVY+"9KH^@.V7!MN MQ8HN6MMA78#(EK'P/]WX32\M1V1!'/O[]CL3S4+1NIUH84$3K;P_$<_V1N>) MKF5! ]$T+&][^J#D=V>$Y*U?^W_OOY,2?[Z3IGQZOVRHY,X$RV2YN.2-8IE0 MBVUF/%@Z!IO++)Y^H[&W0^>WYL)FI*2B:9 %;U6 7WB8XM'O.[ODSOU$(*\6 M-#/'_TB*;0)H^>4]] "+\$.3@(HES,,2Y)W;[MTK*LJ:=@@,>S[A96OBWJR\ MP.);8_W%$D43QX5N\-__.AC"8!V8C.>H7#0I#\/A?@K805O;6_T5C M!/F*S-MW@Q2.T#$D\>^(]R,PS'#BWZ_\W9.!972';GNEXINO[5>+>[?]L'9Q M1[0P-$;N,SP.%(HXXOA5/"G\E3O_%2)C"P+/OUK5U$FWX4/E\UH40(V#LRGW M#H^$W1K'TRJQ(8E'V>B^J>Q3]O7#?9:\82H#\1?_@E=$_@_H//SFWP=,.&#F MZ]:X>:#_T0>6.%#]3:L%?^SHIBU#CAW:B51&+7)D1TNU"RO#=D?,IMW"F]]Z MMTF#CS.[7SOUR;6GECJ&J,+)QK)ELS,7[!@5P_%:RFA@A=:)!A5DHR=^!O.^V&OE$V2 1\TH&W_&D3^K#BRWRF8DC M0/N*N6HIS3::,)J#4O]$V#J7;_5>JA8O2"I?IQ5@M"OBIXCW;E#!$Y)(0S9= M2QQ#$ZUF&2-+F%ZVWC2>Q=D>C'E?C_Y]=IXCK@8.0<\'[E+4#O"S,ZS>67Z[%> M2:M%JXP15#:?SQ1')SO9P@X-MJR?W!Z.'E'SYI_G]8QAB3*ZP])YED2CJ4IC M@'3L>31-95E;FP./PED8?DOZ0],Z%@&$\,D,: :GLF^FQ\LZG*%^HM?3N0%. M&Q+/YKD%.52ZK0S.3@=99IEWU1$[7#Q]9B.]#"NPHIG,8>,6AU504^D7#+>+ M[7E[R">Y^A&?B!&OL]8KUDF1P6I7"3?'./"37:","%#C7KK5 JT3/6/R XQ,*W-% MDCV$W/"06F&M5%F?Q5G,7NJM>+NDLWH]B#S$/L%#1@2N'?399>G@S>R,H@M: M#=*K)B@28*MWP4F6DOQ 9,BX46:;T[3;;.C$5%E $(W'X.200X::@$\>5;W8 M'>3.:&3)(QC,<[S=TG_/.>0NWJVA7Q;F_ON3 O4KT) M3F)J'+@?\XE4(?/%9I]\)G'HFD+N"&F4D6ZT MA'YSK78*+E$FE&J=2XT *^*Q$WO+%M,"XPZV#O577IK Y2@:[#G)P*K$KH& MKQ\3VX\_=!]UL)8W/,;X?3U&X@)2&-](X;RN"SFNIL61F<3JAC6<'/,(VTR15*0E1M*J;""8Y SF=;:='\06T6I_\R/?+E6E@9M&\ M0"W83B977#B+AB4-%CQV?&6FN';JW>ID@41%.KG(3YP)K]7!E>3AE<::+;M1 M8Y11L843E0>C3*>/+GB<1PZOG&E<&3CV8YQUJ]H$MVH=GFG!VNNC*_FQ690X MAYIRJ58MBHV(:J*_9L"5\<,KEV*G.Q/0/(5TC!1KTN0JA9;A/>FCM4]T9)%) MV&U5CH_[K-V== =96 !Y]'2GN(HJ)8/MJM6NF!,Z*\DQ4O#*HZTP!!BOPF$FP%7'CV=2IDSK2TO.RI92!97*WJ2$'LCX T=KWTP[S,=%C%9 M@2>0G,5B5H)>\-3QE8EQ(U..$IBKDL9RD'2[,ZHP8\"51]PTLT26;9,%#MR, MG/;H91(7;7C/+3>O'+2'TB\#[($W8G2)G9J:L9+EI*S+0\6I0:PYCMNG&JE2 MRV61N=ID6O&6S!MXM;,X;BQ]^KJK-I:^4I2?C$78_[SG<@;P]+3KPT%#ML(=\0\A:B]'$& I=VUW_Q56%EQ=WEJ7Z/-)L\3>.9 #1H4"C T-V!V" M":S,N2QM-S,T\AYAGB.+L2*.O>UQ( -S!L"'%U"%]@S,W_(,F$T4[Y1]"RY[ M>>)^L._DB_I9&C:P@61XK1[Y"SQX^\RM/01O(D&_S#/(%!MNVH;E^&1X-9O1 M_:5LC>=8)&BG3=RN<8$>,D &MU7@\;F\X1.P.(%P0!BUE('K;.W_:T\IVNP9 M/'RK"F#)JS&X?6'X%UAD"U>Q,0-=Q*6;1=NB5!E#%E%*7S?2$O/5N(!GE28A M&NUM7!:PGT=>BF%R]7K)IL:-68!5EX4EK!K82GK3'=BBI9CPVW#8R=&4$\^B M5(%_5%@/*84CN6AZ7>PEVCB,^:#'+L*_-[Z!8NW!Y#/,,Y+ 5JK+GO7_%HL= M [ZDG]?VXM6!.VZ,3_!3+9W9]S-@!.DU(G%IWK\8%[1O7*#[QL671(%>&X2, ME[@T0K+SRKQC5G29_G*(R./SX&-1&!R*PLL;0MKM12_>&GGC"4-SLNSEK'BM MC,S&Q8'0CG+#Y+S^])LFWA2&"-A$85&*_\M0 ,*Q<0;]HA; 0OB'@0Q@P6N^ MN[G2& YE[RC+]'R=B.%C@ZQ+VRM>CYB]*WQ/YEBP/(F1 93Z$0EW!* I@F[W M# C-$)@5"*TPY'6.L7D#>?C80_1B4%_&@NJ&O+XGNBUB7Q[K$R6OLX(X/J3^B;@M,T":Z:JM6QQ66K#S12_JUJG%TV_(@./@ MS ^1VGUB[E"K$+=+;5+MH5RV5]"SF1R10[N 6K:R?$-:#] #&H=^\OV!&,=N M,>'H94N&"%Q=Z, &'"LF)#S;K-9J!G !5B^>9T:8:0O#7K14;)E<5>C_G[TW M;5)5:=:&OS^_@ECG/1'[CM-Z&!1U[>=9$:@XSXK3%P*A5 1!&43\]6\5J*VM M/2X'[.;$?=;NMDNHRN&JS*RL3+6<2/+7RAB[:L.JP] 3M**AKEE;D]S;)_:W M'O>\\A(/36P"!<6[6O&&R8A)SYD0VRW$OXGAV>BJ #VZM@CM;6!&JL"P4 MLX0BR)Q X^:Z!%0?PX[=0>=EXUC!-.WY8ANXA*:*K5K^Y8[WOOB\2O.6_;3@ MNH%DJW#?/Z]E1])XB )=.%5?59]7?*[O5AYZ* M^:M:%;K4AL>QIM_L-AORY4Y\B7F71$+&!(TQ M[W6E#OER-R![LV5TR)>0+R%?CDJ5A*U,@\B8<(,)4LO,=YW';U3@Z=N5)-UW MNZ3?ZW;I+9TBHXF3ZDVG-?.V?_?N_'^COI7I7:-EW%O]9T M]4.H=E^Y.B''9P0M1)0'1I1??S#X?Z^6(OE[Z/EZH]VX7PDW.!4\+PPX*%I_ ML?[-MT"7R[60?:MC\^7*,K[M> 6-)K=7, C$L6^N8-0/5;#K[]\/59*;72^ MB$Y=57D,L']DS;\(\84ZN&''P;=/4@+6<#" 9/(/-FY,)^(=.ITKBOOE#(0O MI1--%OJD3@^J=7R^9CH#O=_JMQ/,V70BI+L7RX+,";*!WQ8@H&3\MA?>>!H.8:[0^0'?= M)+@5VMZ'*@^&MO@]^H=<%VVI0[2EOH:VRK)6L4?QR! O,_EX<[#8\'$Y4&CK MQINTE>G4>;R<%&H->>+T2BD&HFWB&Z+M793J>\7M?OWIZNA !ZW].P;J;FC# M?TMIOUXFT@.WK/C\C8L;6/S/-RYBM[@1]]:6] PI9R_'P6U*REM5>5P"758H MC89-G&_1P-AV:X_AT=0'.F8&/"CU=4#^[T<.[ 8;DVX=VWX$G'XOH>\'0@/!WX$:<#C[>O?7/_ P%2#N+1KE'J:[M:-M&(ET:BFU'J+F\I M2;4T;S=1'3#D?43/E)^^]*;V0#!W97_D@2@1'E $B$QW.:!X/,#_YH[,1P&_ MYR0J3+.=3K'TU.*-PF2=V\@3"/@)U(&'."W!$P+^A1V;X*YVG^0D>=71-2D\ M!@F/01[I&.0KQ^:'9$$GUA%Y'?&)\+O@_8>[UJV5NUV4[*KX41]6\04?^Z&/U_8:#\7_,"A;8!UI>%E?MB'Q?M4"KHYF =4>*+)=$ M4J%[33Z!(N?0CDB%H?,?$S .J1)]7ZUL_(,P0KM$8-W$Y6[2/"Q1/,1F;H[-K-Z*I;:&> M^;O&WT73M,^UP'V]*/O9@OV;Y&#MX"6FR692;3D!=-6LQ5L MWMX\#CN&R]X\WRQZ_N1W1#DI-/Y<['[?*^4CK[]N)]Z;2L5G]JZWJ_&_V(M> M=%+Q16?WX?G6#A5F75JJ^'*.SZV*7!0CQ?$:4ND/24>IUW>EMP5EW[&7H[]KF7TAJ&A.1VO-WI1)')B=)B#B M[4I3=Z!90L:?J!098L5]Q2)(6#'72O&2.N-<-T+*H;Y8<[0(J4(&ZDP>4UJM-MJ"T%%//Z4)).7@XHC M,_^E47]02/2@7*JH0BHB7VCZKR2;"U5P?WM>P=;(W965HEY8\%!T4XN7;2X. M'GOTK(@(5/7?-P\(+EJ1]=4R3&3LQ&(G\=,RJ^C?_W-44W;O!*)^(;KQ>U=; MZX!Z6\*0GEE>WZO:_/A2B,)5%0'/-^ M)/ H%?>((Z*)^ G' MK^+P4@?^E(!!ZP<"QG]UZIFS[M6[)Z)>;QL$=1G=Z]YB[I5$^'/ ^O,JL26) M1]D(<>BV;BG[_.$Q2TY([?\1BK_X#QJ!_0_$8O3-_[Q@P@MF/L<8MB_T/WKE M\3NV[+LR0Z#*<-E8767G]$HTV.04KQ:9CM M!/%RJ)6672X2)Y(<:/<:"Q?TJKGZV;;AO858[#!&N\2U62?2&SH;BU5,=SUSG7BUQI]E.->"E;XT"QV4X5:AM<;C+G^H;/M5HG MUQMK(WP>9PLLI:W4HHPZC)^0B5HD6_RDP0\5@!=KI7:=KI8!>N8)F88:UU$4 M2^!8 -3J",SZF>X2C3PE$UMT\X-XJH/7(QM#3'#'VW;N]EL[ MO]GE>]>]^Q.]OLEKI*#LHDPO0/"@_]IE'(#KVO:!/:F\MFU?;*H+NI<1&)9, MF3.R+';Y >-X<0#B-&#T=;/]A8=_=8O\-J<1][+(':HS+ RY8I[K$6QB:L%= M9&2CZ VD,XV?6N37\\MOHI;!.UJZMEINQM4B':NM^VQ/F=>2H)>MK1>^R_V. M6C)>E^IS;K.M&4#4)QI$<>FH.3;\!=TX1K88:GVIO];-TA',]_B]5UW$<9;C MZ>Q\+9.X4"VWE5QISHGQYEUZFT?B7V$N,%:08^>/$6NZM@(F8K+7,;R#H.WP M[QE(TYIN#0!U;3!ZR6!QMJE\A>Q$?]Y=R( L'0'L8 3J3G)6O[=]KLVZRUG=RQ0%$ )I*/L627SV-.=SRA94@JUX@ ;67'WM3 M\NP -*%H[_75GXNU%>YS BAH*F\DK?P7F95?PBOOS MFMZ=64)=PVH0@)\;NQ TTBR">/)XL&U&[27")_XUX83AFJ:0*M#&P&0$08*J MNIBP6!CP*=*6;P2!G5O\$^9,97&*07["+0!H&!1?ST"'ZH?:1%O>[C%R_8[4 M.M1(I/19&>X5EFZ8_OS0V/WKMF/?FN7V6YCFM:%'#[0\ ILRDC;X;0W[!\YG M-Q5K:NCVQ.]P+<'Y>%] VYL!%KIA^51!+R+Q?[V%HH5YOQ/__B>*<0?2N_WC M$2&QN0"IA2#?G^2VQ[;YM/T5K0QJMV\);1/(_]F^KLVTS-V;=N.]Y'*(C<;V M=P1L)@2JE=^Q?:MVWAI.R21Z@+'])MR6P7;C@K.1=D1_PJ"R1W9_>?[L(5J0U8LD 1JL);G]GRW)[[*&G:]@-(G^4W8$<&VWZB!J91N4/TN"RHRVRF, MLF:;#P);@"AD6AV:D%C0-H?S!MZ*=5C(%NH-8WJG+A &5K)NFQ!YC"(\['_+E/)"^PP=M%V;:HQF$$"1M6Q1X=ZG>(KT)^6M M3_1^M8 QES4$-PZP!H8HF_Y,36!9JK_ZL:VJ&*0TFAD!06P[5=VC!7RWM@-N]!0$S#[*?P3_SH&> YF/O"(HD@;P M:.B%/(SM!G3-"-6S9D+'Z>"WG1YZ_DG'7?B*N/OT..3@D>)=_7T+6HD&+1OB MZSBV2TKCHI/'!K*(]8AEJRK-'&AQY;: MZKK0*\505"1*4:_&O+8"#G4%X8:G!:8-E=.7+W\3W*YZ=O5>Y#+GBP9>F,^XZ:H)I NUA%=V^+\@;[OOJ!N @DOLB4DQ*-9W"S MD&FSPBI&.[_^6&#;?^?$11\;^OR44Y[A-0+0=@.8'T'P/MD*C7\^ZP=4?A[+ MOJ+UWC]=%+S:!<$/0RJ5)4DT6O7%B(U$:+-&ZMU,&N6PCG7;B""VG7#-CUI% M[Q-8^;2/^L!QE3M:ZLQNFS_>,CIZ!JF>]P5/SOS8GN<3;HU7[^MGC46G3=K& M)AT9X7DCZ8ZUV7S8*$V\FQE?#+KXYLP+NQ)R^\CM\R(R>]L$;D>>[^C_,3+R M39%7G;4G]#C?N@S%Y0)85/.,QMVA#+.+DT%OP[O@K^+[>;%Y/7"W-1^0X?*ZS>L%;?;?/NOV:Z)J2_ [H2!M<>?0 MW7W+([4$6?NH1TK)ZCQ+U:9UG*Q2L6)F6F]3/2@L^!F/]&.!W1=RXKEEGK"\ MZ>?-!0F<]?*0H'A?W[N93SO']0FY6F^XF;XOYWEADF_&[N)>SU*VB^Z=;GAO MG54BIP_XTX+F-70S321@R,_\K10PDPI.(6K0SSSL[5T%59='_MDGDLL;\TG59OKMC:+&8N"+/:%Z%B M "@Z"_@4R[#!-=-T/F'&= XX_7S2N'=P]M4W/#D\WKAV_'@!.P MQ%'R3BTU-E*10G)^?%9-G5KA$+,N;86?O>2:-W33/.M[K\8"3BS6\I"UD\78 MQJGEQI4\=*8T_8SG?>38?J 4;+:Z=A$?)51Z.YPJ@MZC!P;S#T*$&TE][C^ MT*&T^M>9$&A^Y+*"-Q EK6S/?:]S-?7C)VJ?/P;V=#;B20]V*&$W0-2W1=R7 M7T:3CG?J%W@KZ@:YW#3C#$>G7;VI-,55CF$"B;?M P?@*#WG*--C&TKR Q-> MF,+_AN['GCP WA\W'0 U$D3O3.TY"03N_7#9AH"D)*(B:8:/@F,\=P0];.7[ MZ%N$-I\.8E27Y_G= P^94F;3G))XG"-3$-9K;F(FY1D_\' ^7O1_Y3/)_%L- M_/4'&AWR'^Q5KJ+L',V$- =PY1!7A+5GOA\E8;TX/O3]!!]=%][1P>YX=G]: MN/WC/D]O/PHE;T'.Z:(O15 V=/B;8WK=J%$DWX3/,?_S^R8*+4Z!9*N@/OY0 MX@[C3QOI_/AE:@Y*VC$[<'9I.$;9JWVEN4RJ#3!R.9O.ZVDR[2X3TVNH_2TJ M WB7D/9W>;Q[-^@>CRHL3/![]\/AI-#=E^V$T,4.T;\YOHPHDP,G75MEY>.+GT/: W=M5/%+HXO-/UEZ5 R) /P>##FT530T;< MB!$$%:7>+ <:*6H?,N)VV!1J1! 8@;")"CD1 $Z$9E-0^$"$>T00 M&$&0T63(B2!P@O*J9(2,N#LC(#;1(2,"P B$32$G+LB)3[:5>#?:=\-5WZPZ M]CL6XI7+05V<"**NH@__WZ_XKZ_N2S&_*X0?I-[J!+%88U 19 G;U9VZ-\E& MK]#KY-@494&@\]ZJ?\S+'A_S^BEQ$NQ0HG>!E@!S0;FA6VU M(*_^5A;KO7MLO2L$EVRJY2=?!+.IUF4Z:GVZ#-X'&Y(4-70)N8VJ]J"DULHV M+?+HHC!2U_JX+:A@5ZV#6&3=-37DIVRF-=33F2$OU:6WKAR\?=>.V661GL_6 M9/V\UOTE FK?#:M3Q&./E'TZ[?G+F7H!UG' M;@4U]VX*=FNHH4*H^4H_DZ]!32%7UK1E7V[A\WF^-%WR=87)36X/-7*C,=.F M22;.@E4Y7M,WZW8^AVJ2TPAJ"/+UMB6A47,I*A !!]S+(HV?&A$BSDK$K]GBTP\Q!%G';@4U=+#)<'&HN<]Z'P=J+FO4]'/-2#8M+;AR-Y>KTNMV ML*O/ZCRCV"@ M^FV:!#FP JJ^0+Q\L /$H"'HVQ>3;L[EU^/0?Q5S"@'R @&FG08RFI1]UK\M M;&TA4^XEBBM^JD^4>J\[6/.#9)6>.;>'3*J](,BD4A^S2\4!HYP03R1[$SZ& M0D[D$Y5XO0;/HYPM!PY(;J!F=P:2-V_G_#0@^0M+ZR- DJ%IKMT3$RI'EQ@S M$Q\F"VGR#FZ>T@61XJHWXCF!6U4277XEUW,(2&@$)$3JFK'K'VF0O'WEY_%Q MY+VK-#\&1_X^./01'('^VT)<)<@65S=4MDT5JUDN=@_7 M%M1:$6S>*.:%O-J0[V"0),NT/$THRI@KNQFZ,J_CY>(:&20H&!1_HO'4M8)! MP0ZTMH&JPO?O:Y4]^95PI;FLR:C8&;JZ%9[UW2B!Z=ZY?O>/. 60* \ Y7\? MI-K"0-X' 0CHS!$";'%U%^$7I '95K/"2"G+Q##CI O]O'"'M 6=X3KJ4",= M;CZJR39K<3B5FO!Q/UR52GX T\,,J2ME2-U;;>\?] H@41X'R_["+/TDLS^:;1O0.6Y1(YO*)M(C)K#WHK:Y[7^SC7A%CF1RO&ZM]K>/_070*(\ M#I;=S"S+)7-V,\T %B]OC%@1[QFD4;E#1@0QJ@S[TV11Q6EQ.<:5=:LF X1E M*&Y(/Z6H#YQ /'P2V7M%^<.SV[^/!AY!$ 4A2-)M5,<^@,!\AV+'+U(K'NC]2$L)S=P>;CX%'D^D#:=3:2<;#L\C4)Q M]%/B(S 99HY]/NYV;[VY[SW%>Z_^<5#CA=VV8/NEA8SG*8Z M_0. QN>:5=W\7H]=7PYZ;$/"(WA]327&F6R%1*9&ZMD/W#WV0CG_ZW68^W/2WO ZW4HOC@5PEHA]LF8+VT4> MU+(^*-$MJD PD'Y,_Y5D MEC"D!PT3$/'+I'O=P'\+JB.XYG:M22(:WV/-[SVF( ICR2B>^F_,^Y' O4WH MUQF>H?Z%!W0[:F&X_=IQ%T/OL>]6:]]RW-(7OTDB2A\S/$9$$_$3CE]:^#W& M4 <8)V!3 \'/?W7JF;.*@7Y^LWEQQVL4J8^QC.YU?'RNU";\.6#]>978DL2C M;(0X;&2YI>SSA\:/,DG7H[,9P6Z0"YC+5P8DF0_S0!]3#1YBH^]'&G2W:[E]/B>(NCN:%&6 MFPO-02-/GFDO$I4"72WW.2&;6;7 ;&57-N@&P,DSJXDXFQE8Z0+KYABW;"4% MM:$VXD=:MI2E1! XC8-J M98.RUD[FV7'L>DRH+77.UE<5>Z)N8LD"XQ^DON#1JFFQ2=T9*'F!;O?KI7:! M;S7AYG8R3])8D1-^*J59%T^93'6]J+(#WK@022^K+7'B6^3'(Q-X95PSG G+"35]HS2RZ\F MGO")TWDFS,XDPJ[6$F[/8AES&!_HI5(3CCR99[*4&LD#+C/"739IX1&2CZ3J M#!QY,L]5=BQ5N X[X'I2OE+O]I+,IH]&GLR3**M.K#DO,^QR(N2K"WU=Y84F MG^3QER.Y;-V*-:OF@,W8Z;[AT+)13CIPY,D\.Q2QGJ1I9<#.,QTP2E&KP;HU M@9;2R3,'DEABLIG*#&]G2GE9&[<3F[$#1Y[JII"*@56?$5B:M7LB"VBF-$ C MXR]'=K/%5F-0,WA.<,9+CN5C8AKRB,!/7Q\C6V"0:8(Q#L1F/DXIXU@,R@Q! MG YUQ<."=?-MC6W(SEHZ,E4RZVTTZXE,P;7,P:=/)X83)'7;$7BMD/>>>C*!ML@E^F9+2BL"%+WJ-XT9 BA7'3&WHB !3125FYU K@\FI)]G+YR9K)-]'0$_F; M$;%BI%:7>58&%3/?WLB]S1 .C9V9P&I8%KJ@GF/SU+(I+Y+M;K?KH*$G$R#% M37[,<2J!@^YF;946R:64]H:>3&"3IKI$67/+"KG)*_.&[9J#-)2!^!D6B)!1 MY:X<8>VTQ2[$]::8;3EHZ"FDM'2Y+FBNS@%\G:IJW8'S66E"&#BI M5^*$MB(=T4IAK+L*TK; M;$[&S2+D_BE!;7&]BG=C4IH3K&4V83)TOE=$:S_==6PCYU9J50Z/J-I4'N8V MFC"=G)LG5.KDJ#4K+1B9S=A=O"R)M;K(,KM#CA4%5==!8VVC/.Z%\ M*YMV;6Y@\PJ93':6\2[;6*[/[K@Q)5)9N9')+@"@;NBB%Z[9KWYYI M92H=F\572IOIQ#J UZEZS^'14-+WU>$W@,18[XVFKN%HS6S3DL>N_Y&L0<<4 MVJK)4^.>(#\8P&"@U8N6+Z@8W!N]P $BAB-;4\P Y@*(%F;IF+Y 'YL8],V M@5E3 .UJ@L :*GRT9!O0<$8?^EE&&NHP,M>]#B/@N,,(=#J>,!0 ?<)D$Q-, M;*RKJNZ8OP^=ZB//_Q)!U>.@1UN< LE607U\/NKA)6C4_?4R(C3[9#&?C'8QE>#&'OBOLA.NB&J\+"!+]W/QQ."KFNVPDAOTST';]C/_G4L\)/ MO%O+V+WUH#G:KX]F^%#Q:"KY,YNO^?&5*!Y_5]<_$=$*6]A^;[80=#3V0WL\ M!YLQH;X$DBU$-/9#F],'G"_XCVW-'6S&A#@62+801)0*[>0 ,B;4ET"RA?!: M5X9\"1Q?8C^V[?U-&//)"U;OAE_N1X3OU?;WJQ0XS-;P>@=^M8=V[,L]M/$H M>9+U%ZSFBV=(^HE>C'7;,E&B'YRR'P'?1H\?J?5KH!7L7=OU+A)R;ZJ$ MC?832/">.?3(JA':(M\+%/[6%KG2B<=_)2FAN1["1FBNAX+R]1@S^=48 M,S1'Z!O4>0O-D2"(RP^U6!FX8&$"0@D)#=;08 T-UM ."0ILA ;K3Q.4T& - MK9'07GU'0EI@+L@:G' H(S=!E'@T<8-R>E=$E,G$ !/!>H$IH9$6:LIW-=(^ MH1TU&UV@]_,+]7$(J:&1]@&A8=? $&4SM-)"*^TU$4'U^E")3EM00RD)[;0/ M2$P1"HRLF;(8VFFAIH1VVLO+(#_G[D< L/31#;2&(8NA=19:9Z_)1P<8\U \ M0K/L Z+2%50[#)T]OI9\@N5^-.CTWPLAQM86^[X7=_^1-0H(O9:M]7FA:[\*Q75S24ILOCD6_-?5\)^F< !",$HFL#D6_I?6,Q>F-; M^YI)>*;/>U"MQ*-R'$]82=!LP7 QPJ\[?6%#\:'HLE.H"X?J[D"##_1O^SA9 M/MK"S42[NLES#CV6^YT69=M)4).W:.N[@Q)E\?HV88U+:)V[;V.,_. M%ZKN N#7&'8&JJ+/M>B,KFZ*JFS9\3=I%'S)KV>07TM@\_F+#-L2I M8 (TI.K55>?'JKE>#5J)-1=A4S4!],V4.9Q\N3'<^(5ZJ=DII;LXD&UTVE6M0I0F?1 T/J.2U MF]4^D.;>\.[[ U'ELHTI_6OOWQS*LO)*EH#7BW(+9@F7[&2JVC+&DN9:Z\2Z M%8W5FL$',_(^6+:[I+7-?=UE5WA!_#W"X7N$6]9;\V%A5:PK MW.\W(EM2F) M#$2X.&J2&4V1(HO!TNDO$>72I F%P[_J]4 DN.7MKV^L,H]T(H)Z M.+V[VCS3NQCF7E(\0GR6YUZW1WZPMI?MZ_]%:K"_?'OYADR M 3:)?Q#;PU('MR]U$$#+-C >T(>,W5W Y=+F;F"H$![C?)$HV#^7/\5YI]OL MU<.@L5D#3^K$4F,C,3DA3^/%@I3\BS,=])JB:=I RGH=>QN0*;KDQ3[-PZ:W M>RT[VMS;D0D8 MH@7C-"?XH';1LQWSG<.='=:91\,83GO$$9G,,SW@>[8PG(V@B4,-#GO"0Y_LR/3SD"0]Y M0E4(#WG"0Y[PD"<\Y/G9ASP+V0B/>&YSQ!.@2W"!M1,>2'3"0X=[&]8!BZN$ M.A0$^ VCU*%PA%'J,$K]J%'JCRSVZ-9]&RPL\%ROFL*?_!^N< 4_N!2YEA5_ M9+)3T&27='ND@@>UV:]U^_Z&.0V0OQ[C7OUWPF1_N82?: PZ3'N MT(_)1JF1I"8.U[8K638[KZJ-31,!E7^)/AG_J5CUD,=$Q!>TU6 M+T])56N6I6K>,P 2$ (A&ZB=7FT)_^WU*6PQ>^&]__Y';U?S1M#NSW(\G9VO M91(7JN6VDBO-.3$>_&W_7J[(OFN(5Z?ZC$LB&#FB[@[Z0PY(LTQZ+G8C,=U! MB$3@O_[$4M3[&_V#'X]^1$*[P(0PCT&:8F"] "+ZQ=*Q%?SXIF&7AR+:O*@" $R=IN8 MS0-I?'@,?JO(3L .:,)@3P""/>]#W"=C0/WJIC@PZ+++99RJWNN[-FXW)@CX M;A4#>B@M_Q[I"V&DZ(*1HD^KY&L!)&*OE#QHI*ULD@1L6]^X=B03R_=,SQJY M=@#I@93QAC&E!Z+*-<),W]P0"2-/%S="F,G$ !/! N]&IN;#1#E6(;M H44Z MU6H7I\G*FD%0=^7(5' 5>&NR"2,5A-D^8;9/&%"Z&] =:.*KD:/T>L9-!M]9\+JOROA=[WYP2_ M+J1;LA:9^LU5H6 =*=OKXH5_'%\NKA4SV[3DL>M_)&OPQ=9O(OD\<52"P8.) MW0_O:DEG"C!A%RO#Y!UCL17B+.:UF@68QP1,&.DK@!E@ 649%=_T_Z1;@GKR M/4^&,-W_-A(W07.]J\>)?TT,Z0.$#C@E*/?8 AF+F#[&=H1[!]-N8-#WF!;! MR?-(D05E:X,752K?D)R_LK?/FL0UP3#X.3-+IYIBM2H A%;=H99@3L1&G0+)54!__K!,8[2,4[ M< 5I%6KE%L='_)+?U*RVH+2Y=G?>9B/"FBE5H"H *,D+.%O+L,'E3)TKP[$/ M8]LG;$.O(F2TL##![]T/AY.BX;.W$YH+ZXC'8VUO^T14,+8.C:&(X<\=?K(+ MF>#_C69N&;NW;I_FR_0'CPOH6)1ZT_B2Y-69YT.P-L90B'07;=[Y$! M!"7B0"+\NX!PC 3EMP%4*%HK\.*9V^BT]^+=4&%DZJIM@1<+O9_)^PFC'RYM M_^\U7:"0+?=B"QX/^1(\OA!4E'XS6!XRYCZ,H:)$J# !Y L$LE!? L@7@HS& MWRPX'3+FKQCSR72:=^WC'Q"+_D[1>.B)H0__WZ_XKZ]N:%0T1K[,KKEK^4L1 M^HW >)N"HU?(Y_WJ^#@RTE4)CJVAF$;5CVFPQS&-%UE:__=_1U]/5 LU*^": M=5R%[+TB?GO%(K^J6$0\2J>^LV+Y28VC2PC.>U;U#Y.<6#2>^.:20UT";!\J MT[_XD5A\>%OKDA1 L:V'(L$ETQ#\"%)X&^31NC[>(V?ZN>MC!YT;OGL/9(1/ M*942>S1+4:;\!1/_?I#(*O@:JF)OJ7P4$I]!5S[R=?M_8!2B&MO MXQIUB&O4]7&-E9F^LV'H(D<+9#'&<820ZCJ/AFN-P3P_*G#YN++; MF6$3XAK]ZP^-OYYB$B9BW3;!Q4MN&0NR\6Q+^SE,7OFGS^>T/'FY+/(<"B=< MC:!&,>:59* G]$P#>.,U'3-V"<=0?PT@ZA,-3A/Y@,]""W\Q+HM:>"!Y$(Q4T/D1A_T>XK64-R-EXB9OT6I^1' M LGS):K@T),P:^BF64.)*!&FIP3P]##,&@HD6P@J&B-"Q@2/,:&^!)(M1#09 M)J4&D2]4E'CS6EK(F)LFI[QGAH5'Z/>EP,E1WFWNCKYG;=SEN#,4E"L*RD6R M+][.; _Z&?GN9OO?G9.'B/J]%>6'(.I]R/2M)2>$V#_;HB&8=\TSQ-E06WX& MSGY"0[RC#O-<=G0H)B&HGA49=%T>RZ&C6>^0/835A]>73S#_]3SIBV#'%D^_ M;V+T<0F-;X.XUY"@BT'M]Y6F!C P;P>_! @_5+[A/CGE"2L)FBT8+D;XB21A M@OW%S=N?DHKYZ5+HU>:VJ96Y]GQHQ56B MA@M&OU:UB %=H9C;IU:R2QN:.D4-SM5&'YIUE K7F0K:-NERKW6OEM\N#)1J MJ(@M37RPSO5>RF M(#LOWQSEKOXQRA1^5S0]PJ%#K._C#M_#Q/I.^J#M_:^ DT:)9J5>'-= M4-QLO"IW-TJR4+_#Q95WL>FX-.49XZJ6V Q%NL<6<%LKVH2GD7&5 MH*YY*2_02GE#.^IGD^"]9+K'@ZJO64YW!:M@V%''6/458ZI7VLPT(0_J;%GA M%]*$G?64-@(S9$S%HS'R6L948'RA#]E7?G._G^LD_Y2@UB>)@OT3VF#7P#5? MW=ZPP1)JLCN.U)H#CH[DM-IJT!1)AN$3G@T6IT] ZS\_5W7#^-:]3;6 85QH MO07$>CM&N:]8;V-"FG8=3:K@@.QV&[.,5NBX30B#T'HC$U$J\0-#83G=& ,Y M#(9]I_2/T$X+IIVVU[6W3#5GC1%RR'3Z)3+4S[N6E+;6@ MJFT8+@O#9:'!=1>X0G6WOF)M%9=)+D..5G%.:.)50VSU^I;+0"3S#Q[I#X3^ M'SQ6]A'A/<@)>ZT >)@@=JM8VK$-1T$;3M)M5#LH"$9<$$X\7^N@^A489!(2 MX29RI10+XLU::3#7.^GT'6J.7B"!C%.TN+;H)'ML;YBB%C(CD/F( ^GD)Y!1 M1)A %@;8P@2R(-AUMT6P8!AR?Y4_MH[,92D56;>X2"%5,HKM9E$W$+8A,PX* MV@>P+2P_>I/RHU. .5L&8\+V$O$$L1B3T.VWY\*D7A%1*,:F_^>_:K:+2E_> MK^]SZ*7];5*#U\%Z4:_Q W2$2"(QBO%)[^ MBF"LK,BZ.))J+;;7'<]+'<< 5CZ 6<.7$(RAGE_9)2=IWO>=D9[M_+%?D4DHJG%R\JQ!X\]>E9$!*KZ[UM!D,N6 M9GOU&B 9VYFX^^V))$_KK:%__\]1<;F]48I*\.K&[YUK?4"]+6%(STJ=@(A? MNTX8P]?_%E1'<,WM6I-$-$[OCEY^[]US1&$L&<53_XUY/Q)XE(I[1#GA&2KO M>T"WHPJ_VZ\=%_GU'OMN";TMQRU]\9LDHO0QPV-$-!$_X?A5_ _JF3O_5\"F M!H+&_^K4,V<5 _T,]1D"EWIT;W/[$;0PO#K*T';(Z%Y!9'.O)L*? ]:?5XDM M23S*1HA#(VU+V>CI2+H*8+S6X1SV]4OC#FX_)4:,*1\9%5Q[6.,B=6I9 M%?!T/M)%K4WPER/U5,=9&=I*8NU)I@1$::J.)33RY.UM<3$36I/:&I=EP>DO MTPF]-63@R-W;7P#?KC9XII6I=&P67REMIA/K %ZGZCV'1T.I:P#/>Z8R_A5+ MV3I3K-\SB;]6JO_ (A;,@UKPV/'=^2"5AO^ C7'.$/+3,!A-8M=H%P=21T/+MG=@R)B@,>:]/KDA7^X&9*&^!) OVV:!(6.NQ)BOM6T.ZM'P#ZGG=SD* M[&NPQ;]:@XVBHC$R4"G=%Z[!5D,AC:H?TF"/0QHODL\NT1#]F\C5-]2LMRH; MOJ%8?U/J/WS[-&K[1A/[Y)O,^ (=7B*IR!BQY]BR0^4S_M+"^"AU/0*2'4?50T& M4OF!HA"I I3<%U2D*KH;9T'HRZQ"*@V7-?,)KEMK0J2B?_VAB">"_FAMJI^> MJ$TL_CI1F_$RK$^S1)Y0/HD!O!R1=])>/ZT4-[Z:%?^$%K#SA:J[ +2!L9)% M<#X=97])P9NPV4'Y.8=_S^BF5=.M 8#+%?6)!GGU?'^>/LA9[4R+&\NHK@%. M]I1>OXR7QAG1^?4G3D9/-VL,RH>*J _YY:<$V9JQ?SXD\/,$X"^FA7DA=?@7 ME"L4Q3I3P?(_ETT,;!-BX(.P$< .'H,B]9APFIV_\-0:O?OKR4#7L,L..!LQ M@?A;L@T7",;-^+J%.]W8?H3&$0*& $G@K3>[77=1VPLZ,"&H0[K#)YY%=SM9V RE1JFC MN%RILW1F>,JI-W_]P:.I+UY4V>T 8Z3P'TSW?$+0\#,8Y;.%]24U#30PEJVS MG&G5N2+?3D!YBV\ SE#1$\+#'Z.,]!:0ALQW%VDP-#]A<^16^ED MGV^F*IQ@]O/EF=J68J1S$[KGI4ZMIVW$$D[;_5RJV5MG>6."-L/7^Y9<7",H M9 L!#&WL@N8BNYQ(_ M'C\?^31\/[@QT#1'9OA^:Q@<9N(![(K\9E)7(*IGL M<.42.YQ(K4UQ7&4NK#F?HV3CI5W"V4%\5Y.KWI)#UC"O];%LCC@Y 0E'@T,TSP)N4AS_O8?A[4 M+J*3T!/;JJ3?D9*ZNTH>]/@2W2&/S-5'8&^@-H FJ)0.3T:3B M%I@8431L=/15T;5)!QCSBBQXQS\R.*^I,];*%*Q6J\'-VV)198OI'E=GCF+" M7Q82[25L?CXASD(@2BJ2@,QW-RQGTCG%&@BIH(O1UI@!8 M_OYJ@+D@:^@[WXG#;RMB%HR!87@?,J8)7MD,*_RHYK@2Z"LVU6!++8:WR1Z* M\,7^.L2'T'$$@/8,D8YL3;>,? G"V0X#C1E_[Y1-S+1',P^O=4SP74"44>A[ MC *ZA8\X?&'GZY.'Q&><+R1J9^;IUP]80$]U#=EG0<__ZB?%%\:0$UGJ[E;) M[!9Y5KJ:3I9+*(*RR@UVHD IV/1T]0%[$BNT"%E1%Y'_,2 WP7O M/WRZW^RMS/FTPT9J&;+2)QV%RT_.^KU?%8$/%D[92OE>!+W_O.$-H\#!.8O< MDWC',R3\4V@H\ERT'<4T8&%C( $#>0+[J /2$Q_3GJ,K:"3Z?(]\GY\%RF! MAZ?HF$8>RZ*@6=''BVEX.X(M0I-K9)NR!DP3FZ@ZI H*Z&B2M\$(* 1GJ]!+ M&LLJ7(2&SGEUVSS>0SR"@X7@A=^>@TKPNY9M:/O(F,>H0R:M!$-&#_.9A3[9 M!8YFMB&;DNR).N1@3C=.OYV!)(+C-5DX?.?"-A:Z"4S?]D1/MBTOMUJ5Y[+E MQSTQT8;ZJ5EPH?Y>!R5@ 9[#_>@Y7A!M&P"#;,>1I"T@,>#7M@%*(G7PV@7"<"9 MZPN4@(6)$+UDRY\=)(J7MP ?)%B[U]L6M$0W?HAU;*,*Z=L)OSZ]9ZT\F.B1 M0X^V,J16S]RQ(?D/PY2'7ST6*\@Y] 0=I1>A52-/8B[,=&,O4G!*IBS)4.2 MN=U(7XC9RYIGA[E?5TYS8 4#&5QF QA>$LF9.C*Y^;#7TNHK9=E<*-WZ/!^9 MSK;[FJQ!\Y.QWACGU28B'BPC(AG%:FQGE^7P3Z7>;O\':[ MK%U@6NP%$QZ^ MFO"&/R_KQO+1@-@KNJ=2LAFHBY9E)Y9<>^E,&(%2\CG6.962\^/.2TE:,.&2 M$(1L%?$?!"#_000$NDMOW:WQ8,E_ MV0%H&0#N(R*TR<%_HEA65KVE?90$:#>=7&R="]4V_=]U5#M)1DCOAV?@4R0T M-12,@?8?Q#+DF&Z-)#0I$2W>L&3?)41'54=YHA8Z,;,-=TN:.;"FNO0? M+UX*[2*$M"*DA0>Y_N/1E[;3\$-&(U0%]P5HG@/2L'3D^=*15%@ZJEO*%DC'R7&)82N7*U M"4# 9DG7Z$8ANZJ@D2=O;Z12B7(/N!9+EPG@\+'&B-%0B4N" M>#F4R\S3R5@7CZ3Q>)DC2*Z89^#(D\6G MB],DO:[%>JSS@U9JY80>2V/1IXN7BI4 M%*[4'Z64>23'2>2@HDICAH^?+LGV+.F>:;4LUAT- 3CF92S50R M'M&*2L9V5YLBG>SF!MY33UA*Q5@[,4W%^BS9!Z5UI[A(+94F&GK"4[V>CJW- M5DQ3W%9]Q-.;-(A4O0F<,A5W4HF!4)_J.+#FI6)>;1JEGH..TD[6%>^Z[3@C M"57%K?::>:E>KS6RWM"3=8E5P763;+?*9KK]87.L<7@-U9<]HZ=FL=HH]++X M% =L8=4;F<28Z3%HZ,FZG!@_5Y(J8;%NRURUJ2FW*HZ]H:?K:J1Z_94D)@ML MGDGD$H1!U8:ELS"5&U2*BA5J-+.&C0)S#M"&SWSQ77S?NI&_ MD74\LK")S9(T2=2X=A[DS&$:7\TH5+/W9)Z%Z5J-K'K9(2LTZV(ME\FDK-GD M'$;6&[6*.1.4M0(RM&J5>V0]:Y^%'FU>;N2S?!]7R#&>K V:@X2Y;,*1)RLR MJXJV:*J#&!?)XMW&9"[*0MF!(T]6%*^HW$"6["HK+T8-FFZ7.FF WGZRHEX. MZ* _6 '%S17=)3]K&^[\$/A>J4+\IJ=_1;?XC=#C*S-]T]O\(\ O1':.3/3T MBHE_::7CI=:A^+EW#.F')N$X459E89=#Y\6ZD*Q1K7')YJ1I!.6)KYE:6(R$8T3826\MX\N/BX%86GB M;\\6(E27 /*%B$6)L,1Z !E#1^&*\-Z]@]% M@0MTBHCYM82_;5GRSM0 7VH5$0I8V(HD0*U(0N@.N&;=O*$$'26_>T.)R[4B M>3N*_L,D)Q[%O[OD4#]A,[]##YMD_)L+SN4@Y\U T0\3G+AWO/RM!>?OFA]M MS;N':A11VZ7J_0Y[&UV2 L1C"<)-3/]M@DK .HG\!>A>LLL.,FX?2&"NHC,/ M18';J(R?"Q&J3+C+O'9@]D DN)7*T*'*O.[//)"\A"ISNUWF/F2YEWI#Z(0'Z&QU1>-[;4:"#6JPQ2;?1!:=;13J"T?TQ=B;JQ+B@E8']-&79L'V2PL9SU,<.1=S^$(7!D/BZUVK7V+'BR9GSR!2+Z;83A^O5I1E(57I M"=5%(RVBZB;TKS^QIU3BM!IJ:()S_08,D%2O_Y03W$B>543),"'MB%XW,$$"0(Q'@H\/M]7 M\I+@T5O,6OHBTB\KY46CWW='N$M&4'DA@O0]M=9KQ5;KF=9JIC[V2P&;]6;$]!#@3^5JY)M%2Q,A& MR= %$[C)NK1I,#R-3NZIY%.">+W5<'AT?RF?-:@4N)J#&F+$+4_@_Q8C$FJG M55M*/*N4\V*W4N^3*](U3?$B+>+V/TPC+C)\?K? M8D3)WA09VP8&Y[J#HK,N MJ--"%&I#R,B,=.LW?"\_<0(ZY6(.YG8L1U3]'_ M%B-M!UU!L!UJAAM=]$?81:F)HVZE[J]5P&\X6JNV#WOETW5&RA M"EIX%'.? _][5[\($.B_FA!P;QH]S#YQOYC4MB_5R6;!2*C#&.H_?V;' ,X@ M)K57HH27\^HZ7Y9GF1F#>CZBZ%0J?O705 A2'\NPN+?^!0BC7LW N#>-+HM1 M2+0(,LS/N--A\[V%*5 *]TK^QKUI]#!&P?T"3%\R"M;%N9K#VR2)]]*:D^U4 M)NZZCHR"U*\_L>1UKYJ&"3$A1ETR8>;>-'HTC+I#@.M+&+6I940['J':G"VY M*;Z_'A8X@D'N%_GK#_&$QSYP9/9(24@?$8\M(<,TI+"T2"#"2/>FR,-@[ST3 MF5Y#WS.8FTVD5T-I7!VRY59J::_%2MZQ'#[I!XN>"/SZ\:*@*E%8A>2.H:![ M4^31<.8NR5"?P!FBV!G6)WB;8TJN0DP@SH3I4&&I@3M&P.Y-D8?! MF7LF5'T"9RAR5A^194;#,WEK!B)BCHAT&8@S*<^>P(8MV;(H^& M,W=)ROH$SJBM=B8;P>-KO$YFTNTJ.4B61>0W>6E9R:=4XFK!JC"6'AZ"?K]2 M*&%GDP#1*4SD^0ZE4L+.)P&B4[A+?>88_$=3Y1M45[G1+A5FEH0J]5.JKWR& M3M\M"^*DC0JV (:? G'IFII!)4)8?>6F+N*/ID%X+A_L$B.W=.Q^- W"'2'8 M=^1OZ8[]:!J$)YNA(MRJ?D1P':0'\JJWY2O#^&40Z@\\5 ;$%9I2!I ^M\R' MR,HK60)>EY=M1D3")3N9JK:,L:2YUCJQ;D5CM4LWJR0_D1#!"H8&:6PV@.%E M/QQ7H\'W:0]DN1!OI?K3,9YO]UODO UP>C3A"0+EBT.*7;]G90A!7ZDN\&,1 MZ(.5!0*&0)\DV'O-+B\#0)].,;\$ +UH?/F,1"G-6I3,6(96(DNWURN3[>9Z MZB DHA$2$=35&U^&2/2E.\T_&(H^5',A8% 4,&/HJVGHUS"&2IGUV2%01"4\HRA5%A5(42@8"'0ARHJA CT 03Z=(+Z-1#(-?7VL)PU M1XH\,(?Y 5#'+/#<,92&_C%_[+OE"FR3^,-#H+ :PC5C6O"(.56L:B@ZDMXZ?A.4:9[$^.!S)-[A)1> M-T^*"RXE"+,IR];724G>Q+OBJN&9)S<**@5534(HN5.XZ-[$>#PHN6ELZ'4H ML8HF+=E+Q\+!K+F8,O5%HZEY4/+)Z-#_6@)D^)_=Z)H]AXP2+R;LLA:9>@49 M?L,Y'4G_Z^S$/XX(%Y="5,)4'KO^1[(&7VS])I+/$R?(K=[N?GA7*G.Z@5E3 M /_? ";PS]/30S )TM8&RPL@,I38!3^A"%Y>L)&0!1L$WA?R>AS^&07/7)'5T6Y6PJ; "<*8 S@D.BNRZ\D0?C#4= MN-"QKJJZ Y4.\Q0!,X%E(H6UIB_H\$KW(&LJ6)@#("DUW?+IB%@+V86^?LBA M5RXY85"U15OU0 831KI'V:T,Z!"/,5/?4GT$CLF-INE/$I).EY",2' /0._[ MQWN_;IN")IG_.;I'=:3GE[":CB&L+4Z!9*N@/F;@7'=3;0/1-J#4 I-=^Q3* M&?H>^LCU]B7P=.*ZU"$F\Q;\0S]F@Y:%EEDP5+E5,2V2FOIR:_, #1 M<0&G8!DVN-PV?67DVDJ;_X3M/BQ"6106)OB]^^%P4JA1UG9"";XRA*NZHMOL]@LR6WR,#"$K$@73Z=X=_OPV M&8%7CQS:\UX+]X- M%4:FCC3QQ4(O;=&]@3B?L'+A6O;_7C-\$/+A1GP@XE$JY$00./&F#QQRX8;Z M$.X00>!$N$,$@P]$+)IX\_I5R(D;<8**)M\L$1 RXH8J\>;5W) 3G^-$T)/! M@G%&<-,#U\LN6=15]*%7RO:+X!>+TK&7QP)W;<(E LT"Q@N2C5ZAE_>KWTT) M+E65O! ?BKI6_:@K>QQU]>M!4_C3KC#T*!2AOQ?5C0=](/]#AP(6P\Z8I"@$1AI.4R4<7!NI;;J0W$0<_"O"] MQ.%2V/">8_Y-Y>$DX>_1Y8&ZA)5TU]N1[TK&07L13%^@R('YG>ZG?U S+F\S M!:O"[S8_[:/):EX2#X#_L#*B'EHR;=Y#Q\H>HN &V4+57WP+#J^LZX.L_.US?-?[Y?[EXMA MYE!\SG4N3^'6HE'HZCI'CP:E7#=O6!.[R5-\#&YGI[<_0J"_@ '\T.I\<:#W M+=^?)PG!ZY-Q(4EX\,C@KS\U78NL@(DR3>&69!FRB'[T$V+1[G5IY96/5G*YH;C&9!$^!FQ&NE%%J@R3GXNET79&XH@F0 L>0 M E,IXMIN1V!4^&H^1JBOK]_T"8Z^+A><,4I6JFNN/"A:='X0;YG9K_>@OY:^ M%CN%@8.OQVDN,ZF-6#&S2/6K#M17^M>?1 R_ZK7N0)V*W*J-T]N9@3]0@P.[ MX\[(5H\J3%D>;^.M3(3J<2MJ^/7N[M?2X(:3J!LMOC%GA8419QTBTMRL)U"# MD[_^D!\)\WW'BL-W!QT/# ZZT# MKV\D.=_205U(8_/X- S!J+G=)FN99**2R.42;%F:E$"#B#!6 !U34Q*F NB. M5[AKM84V5^P4K33#QY%C2ETSK/03-XE7#\.^D:K_P,.R6_I(/U-X'OY\K:-; M@AJ&]/XJISZ8U/JG'6U= M1XF"4+[YH93HT]6* Z%$]26UR VS;EZ!YH'#1;@!H.9(B;SCI5B<#(^7+GN' M(U2C"]?G#80:$4J_/$F.9V56&&5[E38G)@:-)E2C\-3GBAY-J%A?/Q9ZOUIM M(!1K,R&5M,I/"RP@)ND:ZZJE#+?D>,E#5;\-=T M[3J=8#('&GS@0H=JJ$VRLBFJNFF?*[PY3PW;?2 .);Q.);AQHAN9UL#$ESPX M82 QUAOC>#2,N%*9SI,[9F\5@_W$1;54%,MP[4Z]RK8PII;%\FP]WV(:A6(& M*]9R]5:5Z13KM?U5MIL7N\4_6^NVO@!(:K0)9OJ<-S%4?%8"8UD#$JH#+$)= MU37O+_H8@X_R[OHM#-D$J"ZM;6$0F\4I_/Y"@(\"&/RFH(FH-JZL^9B!0$R& M#UX)LNK5-_6JX\)/P$I0;<'/%Y[8JF"H+C9RO>*UXE0&8TS?3P]AC5>)>"XH MP'C"= -#$:S%$ZJIB_[H7:N;Z@XJCRNH4%#17"! ZK8A0G)#T/2*)9LF,$TT M%#[9FYTF7KI ,?'7/.L\5WGV@EF)?\UW"?),-+"&H.M5 M;'8UE$?S3 2@:. MB4E0G0WP*I,6D%Z(O1*&B@XC1?:"@!Z'4*UHKP0RMK"-A6[Z18^?^0:GX5]L M?#E!\VG'CVTAZ3U3GCRN/+/D>5*'S,$8482[.QR@ND]'!;#1_&2X[9N8;)E M'2/6CU#5ZH]NH7 E@-\,RDIDE4QVN'*)'4ZDUJ8XKC(7MDSQH_TS8@(1[:&H MXA0D^$L0AN@^ D9]O%?.+2J;+RN^UP3#X".XWDQJ%4'%VXH\9N4.GB=GS5]_ MH-*>;(D'[$&D/\(&-*F(O([X^]/O@O:GR;F5?1"THN$RJN9#N8R M% G)%BWX #08J$"T#%U#PZ%>VRC?!9C1\QOY0=FM@VIBH@H$ ]FXTW^A:BY4 MP?WMF2>[]8S-9Y+3Q.):&KQLCSSP6./GA41@:K^^U:D^[(%RUZ]%T[& MGJW@+="A,@ OBY*A?__/4_NUXTK:WF/?+2RWY;BE+WZ31)0^9GB,B";B)QR_2N<1ZL!/$;"I@>#OOSKU MS%E+XEVE[7C[/52_C.X5)G^^ B3\.6#]>978DL2C;(0XK+>^I>SSA\G(Z<"K%)MJ&7HYDJ6Y#;$O=))O)K-N5AD+,4RT&CDR\'$D0Y58SJ295-E\I M%>:))!NKXTV>Y/&7(ZOFC%);,]S W87%J>FR,%DY#!QY\O:&J[OU!CMUE7J6 MV^3P5$?E4VAD_.7(B*:+[7HB-5?(8KT"[)BKR)9 M'.]FA<$,C:1>CE1HFHVK]#BEY"'>YV:+5;[,HSN^],N1M96PI"/J<,2VF6)L MEL@J>"K#P)')ER/GHKBL-%+@I+MF87:S';@2()X.506-_VYKG0J>)E+ M6U2!72<;!DKW/UF2:U2U))U)49Q=7F>S9EKAFY&)?[/G>*306[>S8X-+<,N9 MPB5STQ68UE!*\LGB$],>T7%RL3;7GK7-&M.8Q:0$>N8)/YN42@PK)8['>[W" M,E]W5U)%FOAISLD^5.?<+'3RD*W(;6J?;S8[P\7"57I>2@4^BAC)83.G&]>'$(4NVK>#U>;+7 M(>>Q)#5&SSS1D"$!XDV<,MLX;>A5AANPQ0F!5G1"T4:ADIK1&7/%R?3$;.FD MZ70D],Q3BB;+7):8]\2RLAP/66%2:*K+!)KH"XKR5!R,! $D>2D61W@F4?R( MH,?\6)($^ DU(H@3/#/M^2:U5J4-MUR.C=9$R2W35>8 M+TQ(,)U5'#CRA++SAM"-\0VMI42(IE,"%6>N4V?Q+,-D*I&:WAYR[=8L$>N/ M6L2Z=Q;/XH6AKM3Q0EQIQPO=6:.:Y^*1YCD\6T.95QN2F.#RN7XZ,MT05=UM MGH4>J3N1A1V.U M]B372)M<>5TMT8.-NJZ0SEF4D&:K-E$D!5Q6VO9PIDP7H_CDG.Z[M4(J4G 6 M+-O>V*-)TYC7W29SHM%\0H23Q FXPP#$_Q':SV+Q%!_'!9)(4G$!I\03B772 M,;8>,9-X/I94FVW"T@5SYCK]2M.5ACTT\D0+&+<^HP66IQ6;QNF(9E*.8R/P/]VE\E1K%&N.9+Q< M$^=FEBKGN]3D+% G>SB9R&^_9G+J2M@M_ M/[]"Y>>94WN_QS"2R&O/K"J"P.0H@K]00FI 1@$4$/C7O]TMB6!P7 1A]ZX9 M+UL(J?L.5]^I[WX0VTDI9O&%QGS(MXSRPW/#.0:J%69A9&H9HT/7I54\(PRY M=I&='(/*EF975]&LP&<[S7$YT[Y^2G$:LXQ M5%LXC6ZLV!T,9O546F37>6O\R#2/855Y(M-BLC)><[+:B)5R.3ZC+]"=S,'K M"TQ">!PF^#JG3NA691%Z>,S@I.6AA5 >99Q9,^?,[)19GDFY-M=/.VY>Y@5( MQ/*CN6PMK5G<&M+=2M.JF:L)O//P]8^-9:*>"O5E>EVO#0NMTK/=7SG#Q.'K M2XFL/I_DH]!(*1KEBA*+/_36Z,Z#U^N@$'^$RVF27\QBLC!(B(K=GJ#<\L'K MJX6\D%N!Y/-LP; M/Y0*]?JD.Y_/0DOIZ7D&\NL97'R21UXOK<&JP0V="%](I;OB7&=6=2T]3!V^ M7NH,BQG6R%1Y.9M)#[IK>9"KHCL/7E^>Z8PZ;:=S7/QI7JW$^Y'"+(ON/'Q] M,I_./M9JT_2L7)CU8[;%1T(KN)30A^_O3V/I5B>1:G#K66.Y=H1Y(2/A6P]- M)#4EU[MF?<2IM5#&;N7;TQHW0;<>C!6DIMPB.XK1M%PK)N5< RXO]2:Z]4"D M'Q;)K"5:(X<6XNU**YW/CQ,%_-07\QJF1&DTID>1H0"7UV$T1DO#42+*#".B MD)22489EXP<#6:;G;3/Y]%C@V&E-:<1MT&(*1Q?5A#-XTKL%Q^9#3K=1&#I% M27^>' /50;20;BLE,S?KU=9S(509=N*)YC%0G2I*(9ICQ"J?!4*K%B\E(\_5 M]#%0?9QT,DJ.SV=HT(NE2X7ID"Z.TD=!55FVG(XYS3[.>I*UZ':$I]ALE#X& MJNF'1"N1E1X@"&32=DB=/56*V$X^>'W6?HP]:LE2C:[+?+F:BLPF1M$&I]VKI&%C8>O,8J-97\V>Y MLTJ('-M4%S-->XB(V:.@JK7RL?J8S4RX!Q4Z7XD)O6>0K2] M4%>=7"8_9#I'#\7D M1!\VCX)J5EHM*V-],N7M BAU6MDE]U!J'@/542W6;PWF"Y$&ZW+]:=5I-JN3 MR3%0?:B,LW.1IQ-TN=Y6V\_)4J)7/PZJQ4%GT%[DXAI=@)(M#9ITM6PYQT U M&Y7-5?2!8?ALL5-TUCUK)C:;QT!5Z>2[Y7S*A*SO/@*V8 I KS:/@FK7!M)C MA!L]S7KYQ&3PQ,F%4=4Y!JJ]@IPH)R-5FV:53+_ZT GE[,?),5#M2MV%/1\\ M6[S:GD5BN5)4:YF3HZ#:8NN#.ETM+&;UBJX5'N;IS%%0G>6E0*VMTCJM'4L]RKI_EU\_IHZ#:J(T*.2ZSGLX6.5&H M-L#XJ;TX#JKT4UI4I'@WS[7'9=8T1]&N.ML'U1<)U+=SEWY.\A,93/8<<=.3 MI_E:8 G@?$QJ;.@J2N*A,R&7LF2CDSSARW05&&Y6#I_^.9\;^DI6!0LH:XJA M_X6R;:IN /\8T(/HI5L!D3"4=CA"_!XPO!L4"R!>(849<@\B6< M_*$'N :<+VPX\D,/30PV8R)A]H>>LQMLOK!AFNA+ /E"@"R@C'$/%21\.1-? M/M\PX>VXV/6(\%U/+CPK!3:G?D9?._53A4]1P$T?''N$@H$^1_8]9^>Z$G9 MHJ^*7.P;'S3[9R)WN7-GDP$X9.Y45,MZ2:[;/(3R-TJ/IV$#,8 MLG'.-?B]<.%/P-(?H#"G M/W@F7!4)@3=.U,7N>$P*_///V=&B('$24\9R60 MIT9^7$S.U]7B>.]/T["&5>%)-WSG>:=CN7\I[34J]UNE9W4-(:#[W)9LSC+K M#-#$*9SW;.]XD+:@ -,K2ZT!Z_W'=-9SL/<$?P@']WK/JO=362F>[K9FV?), MK,;Z S"7]UJ7LI]H:G7PE@8PT 5A IA-6XX0NVE65;/T::-1[C1HNU2.TT;. M&4_B: ,?ZDB:.FL3..1MWA $W/W^U[GL(X*%KWF?! H_U<'UQJ&P_ZAS-8.. M6?0BH_5&VD-=KJ72EX)"D^V&9CKWN)BM4UHC+UE)3N>\/;=G/1W"#1_<$ ) M*#R];T14_5.]O&Y\[C2=UHT&VI^CFC0C=$B8L&B@@8?JHS\(V#H9JH92?T MC#6X=O.I;M-B(6H.)Y<"PW@F$>*8F:IP;7:46*_B1E%MX\WN-#1\XN?U 6_+ M]3EF^'ROZK.[WQE297;RD-Y-@??_=^H@3U EX+P1G:#.^H+AFY\J]D&O!SB] M]WY3G ZBJYX)KG6:K50&PYXUN'&6?WRH$[[DD[X36'::8VV )LOIW/!;LKOS)%\ M(ZF]"$#"\0NF32ZXIDVQ& KE4Z5EEBXD&U*['>H,5_V+92'B3KZ?SI:$,<^R MSX^U8L?)+OI-M\\B\X%SPDCM!<%"4GMQ,7_^AL2$).C/;"&3+"[)XA*-^8F9 M/O]PHS*:"^>W#31XXAVVDM@%0HVE*0$V](IFJ+1>W=[<9R&8?OG6"7G[S8<#KW:<1A_\*Z0NY!H M .]029."3H>)F@QKJ*7P:8_O^\);N?6)=/V,0LFB)\N3Q?WNO% YU/^IK-L@ZY@9;&&&2% M90B:B8)!O_!O\-O@+_H^!#_Z^UMS['U-2A&$"R!?Z'"*(%P0$0XZ0P3@ L0P M8BIQ+Y#4CPQW9BT%MFG+D!XWM6V6TW8#R/1?03U.8= MXR/H6I,#XJ[2,*=6FB#CZA\IS==6V6MW+#J5V)R\KV:0Y>1"C37I;]V_]H0M MX,A2_".7XG=5""_%WUJ#3M43[C;P]E1K[BUER4_:$PXQ^:9F?ZY5]<8+1X*X MP>K+V__37KZZM4E7GZ$0>5BW1%5N"_.9/^B&*'%)$XG X0>ZH3#L,,)< MH!W*1? P\C ;3>W46.!"XX*>FP$ZEGRZV,8,H6TZR:8L16G9KF2;ACB:5CII MKQ/<>?'PYDR@/]Z-%_!\SHFWW@79C[G4YI(+YVUN , ON:ON(OA=UT%C9BKZ MC%_0*$:R2[G7E%#/ +2Q[IP-K8(=Z3NS M\1K4:5_04B6H]J=F:;!AC6E+I5)^6([,>D,IE@T9C5&M>K%6*'1\*+57M4B5 MCO/K15++9ZJ&-(&P!LU2YIQ=2X-MMKR[5><&]FUXN]Q-=]_%=K/%:$U-@#Z! MK)C*(MH>(5 CP002!=45;;%0=!%+C[_E8O--;],%Y>C&C#(A7\T7FRNHO_S= M'S)ZE&Z;4-W-O_?V7+@"5;/A ^';/V' #"(-A^_G[2D??Y1 FIVMBU8V_5+^ MV^(42+8"ZF-O^GDX>6YE 4,3E"U&6)8ACVP+2!T]KQL ,B"+!F[(P,RL"QOJ MI"%Q.G!\&4B3F:5I_:3OLASL&1 *A>V"BL>N6]%^Q@#)PE:R$#T'@ Q.._-"*XH Q(DD8 M$0Q&$&0*!A\8"$V$$X'@1#CU9A-"P@@"33^*#\1H"@@CB-$4$$809 H&'XC1 M%!A.$*/II(SX9"W'NY&^"\[Z@IMQ;WC*HJZ@B_^]8^B[+\X_1H>3P=['\,F- M"YVI 0!5A1],38K3)"!19]ZL^QYL75B&+KG1D$#&K4UY QG1KR(&&PE'F&\% M&2?<+1@P+#C])A]6A)\L&]N%C@EK)M!>8/6]"(6!.4)RA/U(&@_'=&>>*VW)H&?ZZ7UR8ZP7XU.I$* M)[Y7,-_?67&R3D2W*QU_!._?2"3TL4NC$XO&K2P"MRK[WFE&8_S?/P0G"4X2 MG"0X&31C^:K-6]Z=*MK9C$Y=R2PM5,OM6;ZD\F*L^>G3TK'JJ1"9MSN7!04W(<#]"XPU M?-DUCDK?#N>UY@=<:6Y:W58A3LNY#LLU557(#O=ZTL/8 M,'+WFV7NZ7CLK'T1 @Y[9^A0ZEDY/T'K/]_XY&>J_3E[GK"E8BA=M 8QNI ? M9IZSK##(QE0:E-#.J9!93$3A7MN!RK8=0,5=C5GR;;;6[CSVQ:8::$.%3T(*+ MWD<3B9]LP5TR@_LC@.#+1MT/0X)S&G72HM47:MFL0Q=:??FAOJSR33 MAPD#,S5B>1'+*[A1P*#"V(I:0Z76I8>73L**%>>K7W'HL*.(#LG#^\%>[29F86&K43? M>686?,:!]$]!Y+]G4^<]/YB@(;'USA>OO%T@.*>MEZH-^<)8*O?IMAIRF*G% M,DL::3R*5Y[3M;M-6^_FJQ&S4UD32/KH^^3$3[_-D23 3Q!9R-:"N=KD]+YA M1>1Q<58O6+S-E;F&+EX[Q%CEFO%0*VX/>#EBQ8U&LR\NHNEA$H488_?Q\X<8 MO[$VDVSW#]?G#XX[JQRF?M!">8:6' 2ETQPEP[E*>'>K0TFDE-KAQJR M=I!-E;K[G;B/15,_QJ8B186W$Z2[714_IYDUU]*K>*F7T7G5&BWHAXKX8):1 M+J,@'7/^/<.!4>6?4E78 J9%Z6/*F@+*T0U%(FF6"R6=K]W"].HV:@!I<@'[$AB0UY[?7A(J'1&UL>0N.4 MV*[G'T-\ML?.TA6U5$C$KIU][IQS,O6C M;<@K%SW^/-BX3+SUV^'&.?*[&01TY?-13.#S$H1]U \ E%-Q3G MSC;J#9&+STKIZ+J99(J)-%)9'+G[Z486CM/]VQ*@?@75,L*#\Q_A@8.H*XHP M-\$O_Y?=0<3ALZ?N2=ZJL IA_=$VQ \I8&SM MTUPBGBJD*A?OEQ(EPLA7[A[-I9*2#J"KKXWSN& MOOLB.6)T./DR%W?5VGN4Y '&VQ0-N$S!.AQ#>2G3]:.+ZOP.ACEV0G%IP;75Z^B:) MG-2-7_\SQO_]VZ*_::N^S,T?[R%'M"NKR:'ZG MGJ0!]';<),L-4>7$75:BQ]LZ!Z =P\<)]MB$&A^[^QW] MYD=Z?%;=O]4)'\&T :]C!07$!HS]'.C_J@GXI4-/@XK\C)(M]KJ39F0FYY+- M(9-<+;OLYB[0ZMBK58I5%(-IL:,@'1N<;T/9TZ>Q>^&P* *Y_> M\2VAX3!-VZ_%-8H-8*Y@/7'$W8V;*AE3E4'TKC8 MX6KIR+6-VW;.XI;=GA"=%<;CR%3K*--.ISF,H_@F&[N/ILX9\2"P=_ERSALP M6W^8UI_3;!VEE5YE:BYF?*]AA)(M;E!>9AVHWC&T^?$;-:.^=N0RJ#,E^SF^ MY_:-X-MN7PH^!!7%XTK/?LQ$$R-^W2C6./!$-T:1:Y\/TD@,*[PTM)L\FP61 M>B07[S86R'9+W?U.WM,T,=V(Z78+$7G6>K$NNT M6[D)U&X4<3Q_P#&HNGVZZ.)-A52S4UD32%J)5%R>M]Z*E%V>+2R9K05SE7LN MF59\65D(?'Q4ST:CD]6#N+IV6#(:$IE%.9'.\(5LMB5;DW+*JJ:'"1269!+W M,?:<"R !1Y)SOVSP\G:QX9P6<+$4DUOJ5.WP(? \ 4X^DGHL(!! YQ5'2NFF8NO(^KCO'3MJ.?L*2GQYJ0L MTO%2J1"3>2<5U]"JD+K[S3+W*39!3$-B&@;1-/QAV'!.T[ >X7*/YB+6Y^I< M7.&31;O7:#GHG&ITS'*2V(8_JQRS(\@.J<E*-RAA\E\EP]/4RBP&?RGJ'/;MP& M5>7/MK?\6RKX9<.7MZOAY[11QT;KD4XDNARG#H#2G%<6O>S3!*IRC.3O?P)B MD=)+4GIY0T'(H(+XD]2>)<3A6IKUIDR)M:(5D"I<.S^M2P.EW%LOGV:]BE-? M&%(-5/H(VU-WOZ/W\?C9MX3_:(TGEAM1^G-:;OF"-"TT:U&^D&)W3Q:IGF MM4ET4V;RIV(==*>@A''A_Y;O> LJG1NMG04_3,UE-=(3F))HJ M/C6O;#4/ZK%YW)I/5)I==.B!JIA%)3%!+$"[4>_9"&FF>9UFFC\2-BX3(_UV MN'%.PWN>8!+/Q6INQ@FC>;O 3=?BO):&M$85GZ3W)JGX#$+%Y[7!,C@+RFL5 MH=>FT$U9H9^*V]S8:J+5GQ-.AWNJG5P[Q=Z=Q>CT<)+M\X5H M:]IE*R40*S5UJ@'D M]JC[.$">*ZXW)>T_?UJ]J6X)"F6X$D\R>R>/_>ZA?@2BOJ3;(P7<@(E]^B.0 MKDV+FS*F7X1F KF2T8N$7HUD%L_THEDUE]6GYWH[>>USCE;#T5IQ!J'BK%VN M2I/ZD]AJ-)I#AL8[[MG4?23Y8VL:SA>)_9&Z?:JXZXTJ]SG-U-JZ/W\>K'IQ MSHY6JE9G-"CJN3328A1 I4G#S^\/5I>,C5X;O@)BIL4"0(J;LM)>Q"D"">2< MO6JUQDZFP,E5H98U9Z+9DJ]==IH+<8L.74S9LW(F:?>)$&=CM66<5N-5IC 1BJON,_:U<#21F&F'L<-_ M6P+4N-\^86HVQ$Q9/-EP92TT=4^VAT/=&__K Z8_86S!42.5D35;\/@IR4O_ M)_SA/UU4@& @'D[_D61SK@CK7WCBWH V&/1BT$PBG()7/ [3]+_0J'<>N_>L MD @4Y9^WPJ_^$TZ.7D@I@.%3EXWZXK&1#3;FTFN'.OCG_]F=S386'A)U13=^ M^3B\0SV/,"P6\ D(C0P@S$+"&+[^EZ XPMKTK3%?&3H>/:H7Z'>H MGQ W%?>QCCM>[Q)JU( 63GU,(2,(2H.Y41/A]P[KCZN$1Q),V1"SJZD>9;<7 M]UER0&KW0RC^XE_H#NK_42S^YM][6L6&XS%WXCOC><'?+8)Z8W OO?)&GU," M7@J&T1&TUU@@#D$T-89_,;%A*AJ/#^/,F$TP*2F92(EW+FT$?_%X[!1$]DF; M/\WLF+U(SDOC1G$T04OORSM#PWI(=T*A.5T08JN(EA+6<0TN,R@6L'_G;*E. MTVNIL:!#JMA(%7.31JGG#-G#9Y;95$%;=NDA7\Y5Z^/N>$K;RS2\\^"9/5IO MZAF:Y^C08%XK-]?E>F60'D:&].&=_6(U*64GM-JR!HQ:SK7'^,Z#M^>M0F1> M[C;7_#K_X-0K,S%>4]"=!V]/1\PV^S3KM^C%J+]L97OI2%),#Z.';P=K)AH7 M(H]1KLV-TUR__A2E6;%J:/LXE[A#2^\\5ZX'YO-%13C^T^$!\ENAY)\.-$-S2M@ X^?H/4W^0A!C#L!U?OBHXT \J[1 G0B[',>TH#%C5: M4Y.-348)$(O1#W@+M+$417=,ZB]9HZRI;IO0^C3__K6[>.ZM^)^)#PXB#8?O MY^TI'W^40)J=K8M6-OW2>&N+4R#9"JB/.<@0:]V3)9"335'136@!U[6M,9F& MXS;1#"MH@FD\OZ)6U" XR)(M*'G=@,"A9?'6*AF8F;7[Z[H#!YQ1='%VYS/: M7.OR@A_'AHF-D1,ZYHP T%N=P<)9A@],!^IFM&VQ5;!9GUUF""[,B MS$WPR_]E=U!H,?,&A)!:=)>"/7@7;$O?QW9\90]\#[&7/E@2+<,?F _J[J0_ MEH>.1\+)R%O6\LZZL/-\'3YS#,7:IYK_=PC9X;]<4\2!='K7!O#,O;T511B9 MNF);+U>44Z_];ZCZ)^S>73ON#R,/J31-&7(@1T']\,P9$&'$I1D3>#L81 M1A!H^EF,(- 4%$80:#HI(SY9/?FNU7K!65\L(_T>"I\YEGER*D"_"5W$B8@O M:F$LS%RV2H<=N>'"D*Q*\MPWF%L[/N(F\"'WO9_1&MR,B1"!.)Q Y M(.[* W-4'@@Z!D7T_P =_>3]X<^SZD* MA?]J:Z@D"=5M M2.]"""I@ 1*%M[R9U%_,WZ<&T"!/_T)UGZEK;U^]9&FGZ\@&\UR3*Y5RILUA M??SI!M%\>VC:K6I,:#H:OVZ;T1K(K$;YXM=WO=1T3;0- [[43<0=*9:4"VTP MJ&65)=\SZW6KH3M2+H6RQ9&[W['X/7O6;9L$, A@$,#8 ;##B/,9QJ30L2H M2>RTMFHOAES<4".K(5^2Q>>S(L:J*S631BN:X]9RW^B.=#T;&4\@8L3O?D=C M]W$F]3YBW+@[>N9VE[?L6/P1 @:F9]#EJ^A=3 R.,Q5(@/SS=G(UVLS'';G9 MFM5'BE%YZ-4:H\K7.SY^ "X?(JVG6*;8?>8%UEJUM?+3T@*HR YM&;Z/)\_; M1X= "8$2 B5_8FN]CB5-N:RMM(=2@V<%KITJ]YF2VCZKZ2546ATN/5[:,SGV M.%:S"37J+)L02^((2R)Q]ER65[!]$[?1C'*TK)8XJY=R5J^^ S!@WNS5Z1%T M"-Y:<[UTB^%E-53D0-EZIHM*I-"0OMX!\0-(JIA]&XB/Q>6,;9C31&.=9@H# MM/D A;T2]RGZG =8$"0A2$*0Y#S&G+BN#+)@V7=F\D-_!6HAJ?G$?+TCP0>@ MA%?U4"2W'&E<09GDLN5D@EUGTQ!*4#PL?I]*?J!?_][VW9TJO:]S;7??WTZM MW\Z&2?SGSD:^,),"ZKN;\CZRQ72G7O'PV M@H(D@'= O1>G4'AM1:)&@-)MRY0E@".(?+@=?KD5>G<#]^'6Z#/O]\K+FJ") MLJ 4-=,R;.08F=O]7H=;M5*C5+Z0*G!I#K#VM)VM-E1K.'%5%0X:2&GKC?OP MWCWF3!N[#A+]'IO][7I[^_8^42T 58S*IXLMJINN\!Q5Y=)MOL55N5JGO2DB M.#>7!-GH"HH-JD! ?$%L:D O7UR[/P_Y-)@PNEF*:G-Z,=(C3+079XO"Y$R4 M_\0>RJ/,>%,#T=RI)9H\)9M8B@CR/0EWM3H M/1B]$ZXGA[?:VN'-HS4<^L*6\0#P6S"!=)15.;P9N*-VII#$PE*0%?1IF*H? MW G)H0#1VB/E,9ZXPH#&!RF!9 8-8U<.MDP?">C5^H:WD'$"'*,ER!J\/C9T ME4("/0=8JBE3MPW117LXK&-3WXP1_C;7X:#@JP'>58LL;";QC[D9D?MN>XXV M/\-OZLYF%#L3Q%)D;MF I$+09F@-$D4HK)C"4#IV^;R5#$Q[^#[=@.NTSSCO M49[\N;NO+2!.-7EA@ZUP>O*\)T :4IZI 0 U,G1!HA2P!(JYM[I]JZVPT)S9 MM#B+1(\'V\/L88>$<^SI.-S(X=MY^Y/\^":6[>Q23#C^2BXA\--[/^;Y*2Z> M;77\A %:06I%,:X1&OJX#_HYA@9AIL4MK"UL'94NXC7>Q*NQB,3$PT337>40 M"J,)^Q;Y#IC+8!^(OJMP?#:C='M"\:+B/WW4^7P$$/^0<^(#/)WI(GJ'SY:G39B_#NZ3/Y=$^EW'2YW+S6-+G M\H5*?+<^EQUQF"GU)@_/NC+DY<:>9JJXH*7E M&LX<'.TPV8@^#.K*TZ+."\YD+?7RV4XT[1SK!JE&*VFC-]8?N+;2-9J/8G.0 M74R&T<,[02&KMJ;/S0E4(JXTBE>SQ5H"E:$E7]Y9[C^TDH^]$>#L:%MI#5=+ M74BD=WH\;N[4%XNV.IG$9GQ(?RR.8O%ZVLJ@.P^>F9B"]4!)BL]TH5!?FWI> MU ;PSOCA,R55%7DM(<3XWK39--IJ+:I$)_#.@V=*JI/)E S;FK6CW="ZE7IN MY&8.O!/UFGXQI;B:G4:*1H9?I&D^WE(BS#+J#!.'3!J"1*K7$K(TK:IJY[DR MRJ]3ZS2\\V"@$]W*IMB5P/%R:M09U\^W\2NJ& M&M-:UIG .P\'.HVH%>-QG.MPV?2 'VM#54S7G&'RL&?G0GJH9I[K]..L'C?6 M6JJ8AO28P#L/IA1+/2H@(TS9F5T>KW)23)YPW32\\V!*B_;HF1$>A>$LWLDF MXT]T@2]/F_#.@RDIU4FWVLCTU-F:?\C')+K1;.30. ^G)&1CBW1Z,!"Y@M1H M-)[6\8PR0X>2'DQI;/>?N!@CS^E>_:D?L5I):Q["W<,/;LW(.M]J:OT97P_1 M#_&,8#EL'Q\' M:R6!;12>T]D!'L"ADE29=*J:?\S3H7PKMVPIF>6#XI]7L'_K7&?,:353'\[: M"[$VCLOEYWAUTQ1]_][^A.:RS0=Y0H=F1GF57J;9KNS@>P\[UBI)D)ID#)%6 M)W*--@;Q-"/#(3!'6L$.N>*#UALE>>!HTR?NJ9TO%1U4@G%P:XDW:KG9FEOR MA5EG)#92#\]+$=]Z,+'$@%LH2[7D<*"[MG69*:L/RR:Z]7"P,L=( ]MI-F9U M21WWXL/48"W#>X]TS=4G?'M:EY]S?+R;ID.6DXR8$">9(RUN8XHM%8>]<6(& MDH;-Y$%"4_/XUOC+6T4S9FA 9Y=C"O<51AX9:L\2G2>&T>[(L=C94OB M5_P#)XL9:;T #RF0;QY;!WNUJCWA:Y%R;ZC/9]'FL24S7BHV,QWX.+HPBW7, MMIBQ%D]'E\S,LCI.,NMBC+:[TZ*@CN5(>] \NF0.^G%:63)TDE.C^75I&).B M^?31)7--#P1^VFP]\J'V>Z9IC/3!!?B["[789JA%3\Y MMF2FDE:[,UQD"SP[[#D]2-06$TT?73+-@KH8]D)ZB>X]E 2YW)4+G=71)=,L M<#6IRX4Z=&'-C>.Y)6L6.-5&D6-2?'ELR86FJQ M4YEMJFHC/802\S*54=YZL^LCC1M'ETR\^EU.OE<^7B M4_/HDBGR8CY?GS:2G-V.&I:2GDJ9>O/HDCGI:.W&:,RTN$*D3F?-2JRETLVC M2Z:2793!0Z68F,FQ]7#.)B<-H3\YOF1J(VM@I(JKV4S.&K50JIP,]>K'E\R2 MRK5GBT2U1!?L4EG25DF%'CGHUH.GTD]EM9EAJ@QG5S))9AX/K?LM_-0#WO*I M@;TN#H8TO]8?;+F:+#EV =]ZP%M>UW(:TZ;%&>@T,O&4K _4W 3=>D "<>S$ M-QL,@O%+&+;SWDK<9$\Q&=3L?INI**)8I,J*ZOW7O]B;W2#D4KQX$%S_N MU(1 2J):%U1'ZQ6UR'Y5U*:9'16A[RE4^N9U+T.YDH/&9NB&R,X-:"CNT\:X MX$LW]VJLKMDP?U.:YY8->P5Z4EUK^73(H(&_J- K&+H]'^:7B6BE-J@.Z5"J M-7ZLE!M<4GA93/G6K5!3?W:3_ MWP(_28>9GMG+]^,%5GXB.G[#I] _ML!MP MMA"F!(\I#!NF"6,"R!@"8H%D"Q..$[X$D"^I<(*P)7AL(2@62+8PX=@KU6&$ M+]=%,?:''JD6;+X0& LD6YAPBJA+$/D2"=,D,G8^QGR\F==K''HO='G^)OT? M)]0%#P*Y\@DPGZ/)07."KYX%P3!?/0PBE@C'DX%J.O@1FGZBVP-N-X 3.E1U M-\/$FW 27STT@B@E4$A..!(]DGUCBFG@#Z\E. MQPH>+0*G8^]%WPB5/A(+(U0B"G>B.!&ATH>B-M^*3)]LB'X9W^QDE,!$EH"H MNS6-(476P"];0QWLX&\''[M[-K'33F K, I)2$2\.J)NQ*O[BE?7P/V(W)IY M62/>'?'N@D4EXMT1A2/>'?'NB'='O+N;EC3BW1'O[MJ2]+/4C7AWO].X'2WQ MZJXD/G0X\>9NDZ"+3WO;293($'%4 D8EXJ@01X583L%12$(BXJ@0=2..REG'_$WDZ]+RY=J0/T.^6")?5U@5D9'Y?>7+]6%<^NW*6N3O4YBD@CB; M&+JM2;_^1Q0!&(\#&_Z\^YT5S"D%%K:\%!340/;$DL ;BA^5\R MYW\%LNR "3YT\8_EY.32\N/UQ3W"ZH9(<*&&) FB,$1A7N_H*QZ_(1)K M18#G?_?[?V^Y$/M UR/AV.>F3_U'7L%9:'E#$%$E%F5KLM4"X__>\?"78=L2 M-$DPI"'?S@TY?AC/J2N9I85JN3W+EU1>C#7O*!$^%(X)?RMM#NOC86H8H8;2.?A2"8BR*BCF?^]"D3MJK!NJ8/WW3EY9OS1;E73+^_R. MT@053MQ[RR\4ITEK$OJ'VT9K-J/+R::HZ.@8H#O*A)R'WX1/EZ7_WG7$8:&B MK7B'9Z=<5E+,4;% =RK29,C0P\C=[R1]GXS0__GW/CE_$QPYM5\;5!*<%$K> M.>V8 ,GG@>3( S:_/LC $ QQNL8Q[+VG;>YQ8]WX!L9[9#$7G\K=9E?DV6'% M&O3SS9F:25\%FUH)RXKF[)K*U2U],1\ICT\UJXFP*4ZPZ=LT!0X(-EVXL^\) MP GQFV%OK7X\X!)_B?WC@9#XRV\"/Z/(?_]<;'NJ&U;( H9*R=H2F)9[I.=? MPE*0%50O&8)+*E(P V1Y QA4Y*V)?KR MG3.YIU<9DK8E"O.-,[GG4!B2MB4:\WTSN6>PRDC:]L;2MGRX':8*.IR#AGR[ M'0^.^HLYM1,75$4@N=LSN6>W%>ED=Y"<(7N($7D@&]4Q^^FWA"TFC_K@TZIF<[>\A]]\_ MEUK3M1!<- WD90M>;Q42CR,I4K+9-7AT(OKT'5*H9#-L8*A$%.H[I%C)9MG@ MD(EHU'=(P9+-M#_Z+*8/I6BSNH;'/U( I>D6H P@ AFW*WVW$G?]-_472]*X M)_8J@]SA]=KT\5W,X'1J"WXVZ,29X1H$"3.M215=T,S6!BQJP*KIFA>".I*V M*?'*=)U9"C&.;2>M>M+*F_[UM]*E6ZG^"GB%3]9O:9:S,Q[.:[0F8V;]#/= M5;BO][;YH@6=9MIJLRLO^WQOFFGRW:O'D]SY,12!,2;J-XDA!Q_)S=!<+(GUN"L=/'+:H6U-@N*<.?:Q3CY3@(T[, M;#5GH"MVXP-99%O+YI")H8 %0\?O8_'$N4,6!'<^6"1P==4*!/2\5BUP=>K< M%/ $OWK^TUAF.ZV!.![S-1H\Y;H]D&J!0==!6!9'6!:]C\7.7C1/L.R#]1E7 MU]: 8-DKA1I7)\\M!):(LGVP=./JTA0(97N]AN/J]/FIIL.98D^?-AV2K$'HLGXQR4.=1G4XIP-"3$7_$9YZBKJB"',3_/)_V1UU'#Y[ZAX'IPJK M$)9?;:.M(06,K5WU#6$UPU?\TQ?I?Z&A6X;_5N]IKDY]-)+(AN.IMS(>DKP\ M\GS4.V*LZ(Y/$O_O$$*O7R,#"+.0 XGPSUPW920^OPR@0#E:@A?/]! ,O]B_ M51B9NF);X,5$KP?LGU@.X=0V/\^9B")LN0Y;H,5"^!)$OC#AZ)O]!@AC"(X1 MMNR&;-_<-TWX7A9!)H%C&#GU2Y2Q7XZFN _ M'5=_1KHB?99(HJZ@B_^]8YB[+U(L%@L'JZ+[(R0=?92>=[]15HG":26J"@24 M5')/]>%-.(G__'OTI5IDHI1$*4]?$4"H].?1;D*F'ZAQFV60_>HJ".4J$CR2 M?6*9:]JZ!:3]]8R(SYGK)=^,P!$J?20>1JA$%.Y$L2)"I0]%;KX5F3Z[??0R M_MG)2(&I+ %1-W I8DB1-?#+UJ"KCGX[^!@_]1?VW EN!4?N=UI$Q6_$L[N2^-#A1/!@Z1/BTX;/E,=PQII%9(@X*P&C$G%6B+-"G)4@ M:21Q5HBS0C2.."M?LS:K@C$#EHF:.Q%KDW@L7Y(AW.^+2,^5I(<-IY*!(]DI M_%UB?1/K.^@&$[&^B?5--(Y8WU]<^XJHGR>:,+&>B.W]-=M[!-^(CW8B(D0, M\"^)$*_IKP@1L<")!7Y3JA@)1P-'L4]H8@Z(N"'[__T?)D[_$V'NW5\(LA/S M\FN5*+@'/Q$?8EM^S3O!)T40\2%VY1^(S[$E[&MVY;7[61%4/KV,N-)Q^/. M.J1KTO+EVM#_@SY8HE\ M75R^7"/S9\A7Y.^3F*&W<^SEW>^L8$XIL+#EI:"@%JD_]PA07ZU.G?N_ @G> M.J[R4S2Y9/+_ENFT#\E$ATZI0_'C9^;>C&QHD(WH$*HKSUN6C4MN_KQE.KVC0[=4\()._'YWME5= VM*Q9M\*-6V M;$&AQI!SIW8$@XH5WZ@(_.LB_[^W7,E]H.^1<.QSTZ?^(Z_@++2\(8BHD(NR M-=EJ@?%_[WCXR[!M"9HD&-*0;^>&'#^,Y]25S-)"M=R>Y4LJ+\::=Q0^T'[E M?BMM#NOC(<,.(\P0)5V&MAF:",)\B(ZEP:?29-8XQY=5!--,KV1S4"5D/ MOPF?+DO_O>N(P\& W,A^OQ V[+0:LJ5J#.AG2%##R-WOY.1^R1#_^??^_3\ M3;#DU YQ4$EP4BQY[W1@ B5?@)(C#]C\^B #0S#$Z1K'Q/>>MKG'+=K -S#> M(XNMMLP^C?OK6:B4#LV*O%)MEIRKH%-F6J0%:;20N&P^OS#HZ:"3M"<(G>($ MG;Y-"]V H-.%^^"> )T0OQGVUBK0 R[QEV@+%0B)OWQOIS.*_ _([;:GNF&% M+&"HE*PM@6FYAV#^)2P%64&;>4)P30Z9< F%2_7(HDP@VH9LR<#\^^<&#R\8 M$"!4(8E@HD4WF!L.3F*"Y'V)QMQ"*CA(&D/2O$1C@I_Y#8[&D*SNS65U^7 [ M3!5T. D-^7P[GAWU%W-JYRZHFG!)3R[(.P^O3B+/K0O.%H(;R/.(Z\H@"Y9] M9R8_]%>@%I*:3TSZRSF5M!_RR>M&6U! >P,(.3"RMG\=2:G06:T1F\0J*SZ[ M-ENI=)8I@7(:C_7N=R1^'XM&24KE_%[NC2+,V5Q>@B9_EC7^TZ1OM#4LS?4B M.YN%IGQY6BAGJ_7\50#JB9%[D* /#3H[S8L+KOG0+@E--/TX :C+!14(0.U' M&+X50)'$\;DB"T1M7H09?H3>_(#LW4-M:$IV\1AYY7XLB4(LDW8;6U0W@ MRNF+T8-(G]OR'TXTJHSD/A(=UA>Z>DA$T$Q M"(:E[R.QL]OX!'L^F'V_NFX% GM>SRZ,\K/VNTF0K,X0;.@549<75T#@F:O5$U"T9%_6R@=\/L_DKS\\Z&'M\SUJ8>OP#^G;CLX2/,44/^9ZZ:,UMM? M!E $2UZ"39]%^E]H0CNCV?(G).J*;OSRF> _$3'AX'&6/O]%A^/ #^VPL3#M M1[W0@@\V)*4$V](IFJ+1>_\-7^S_Q(39C,(5"3@"19B;X)?_RS\GT(--%([= M7L+C1Y* -Q HPEJWK5]C>06D7>%XLDU+'J]WB>=-T1.,_=B7=UL2??;OW0^^ M/ F,9?MJAX<'A_^&XB4/] :7R^QK\PO%.A#QKP[7_1,]"(X*VI[*7KM"[Q+J M#DWI8ZH-YA:V9JD(?4]!2SGJG04![6WJX)@(=$/DGH*&*B6H.J3*,T#-(4T+ M/0I=S>HJG,8:*V3B'W-OOXBL46_4$PGSN:&OH%ULP4?"1\D&-896,+5$9C E MP?]#(7:OF]O]*/!V[P'W%!HQ,J$!-166@!H!H%&:3D&+';U=-RAQ*F@3@ =@(LH &3T C@NJO2S9@J*L MT.(7)Q 3^,SP!D /P//B4$'_7*1@@X8418U*VQ-(WZTT^HI.S6WH-PLF M0 KCB\^EQ_>_9XD=I(81&H4.HIM80$90$%ZTIP!8%5W$AS7M!0NP!U_3-8@$ M!M1XUY?W@@7YFFADU\OIA(N'(G4G45.FY=7^YO;8)X(%-=T"9@OBLXR/TZH! M:Q,@B+L!@II@&$-SNF!KI:2=HFWA:6W'S&C1"3EWO]GPZ_O7+\T^"CY=06R# M@PFY'80PVD"68'U"O\.U095-4S?6\"X+(C#\&^(G1CW%6S)D0Z+F@F&MJ;^0 MA*(UB*7_V7T*^BJ^S/SS=YCJ3/??@1\\ H)A7E&6/RC*4.W \'E0GH66R62' M+Y>XQXG4>BZ.J^E]6<[9[J%B0V;(N-+Q!I.'P_;T_Y^*,$TNQL7;2R M>R$L]A-"N97''EQQBNK!#)3-U19DWD9R0^R.Z/:R MS$I^&(ES3A[WN7FWIK)"%(IN[$!P_W4UR96]65"0R&@]U]RU%2WL#A1JUSP! M:*'= F@&S6:%%T 1FE MX:PVUH"1"T_0/(+X!+]_W+P+4Z\:?OA-N];<@7;L&6DR'-Z.)228%["^7KP3 MPP"Z!K'!QI-'I$"6H@'FR#Z%U'+-,&17MEQKW:>*2H05I"_/OU'DLTYM&%^X1>_,'HB+WW)1#@%K[SJ.>X]*R0" M17EI@>QE__TGG+F5.AOUHQX;_YU-N$[Y#G7PS__S(3]XAWH>85AL-4U : 2- MWEE(&,/7_Q(41UB;WER33#@6WYJ _M@0A:EDF$[]B\*_0H\^$OO7EL=[)_.O7LT6#+NTC8P2LVA(TL6GMV^[\+OW=8?UPE/))@RH;V8RPN M9;<7]UGR2HP%BK_X%[J#^G\0V- W_W[!A!?,W-K@W@O=2^^$<%XHOYN5&0U3 MHU2^D"IP:0ZP]K2=K394:S@9HEO95[Y5@%(_'^:7B6BE-J@.Z5"J-7ZLE!M< M4I@,6?Q5YNYC .0NC35;A3(@GL(2>-%325=5V?7G46LE_.H)T$147[M)577@ M*S.*+L[N?)K8UF!177%@0@NAK/9<@02@ #03YG P MEF&#DZG%KCCCHQQ>Z E: WP]^<1Q$ P3IK+U:K78J7*U3IM*UW+P[UJG6"MP MM6R1:V].B#@Y&ON>,+XD(U/!14-[$]T#$$S76,3 IO\SA2\ -K8B_7 15JT31/I MNC#2;>MHG$SH=2[+@*Z9.IC"]X& M7/<*"@KR32G3'B%GPI+Q$Z&#@=PE0\(. =8628?^!H[!4N8<^JZ;@5+6>H[, M9?@UQ$3!]Q:@)?/UI=0TL*=N871I0^-8@,_$@:*Y-#:'+XGE!8B237:5$*=# MF1/T>$T9Q[,3FW7VO.^0"<1?D@UGMO879O3$7QU@J/5QP] E6[1Z'A5W7.E0 MNO;$]DK.E&L+VB(C&_&&7)[<_4YM@D#>+']#_VD-/2Q=470'::"LR8BJ+B,E MH$ KR%@CZB!FS-T7FN$]U@J*J:-0LSM'R%@1NB0"\OHV[,1N&P[8A-R C:@( MLHK=4N11*PKT]E #:?@"R \+L71L($,#P[5KCL'!N0D!RC;!X8@>9/@RPV7M M/79J36H3*M*]F/W$%A"I !PD]CRAC^LZKCO.Y_[D9 3/V-:%#X'HBUUA/ IH MF\JJK5)S'=F_*#HOPZ^(UC9#L/,VWY.U<7C *:M6'CZNHM]4"K"-PP'#2\H M3-5'\*4?A 3XA4TTF=*W7W0UV!ZV^^,J8F.$BYH 8>$6,HH MNH!=4QQD0:CB1E,@-LA0*:'AX M41#DW#'I=S#&Y\ . SR8F2@Y6ND]\#)?D!I.:*TM::?^]3CTX8N.QJ&-*5\J M5"-/.E\81Q[L8EOH1C7G[GIRI+$Z1)J*D M(!(.CZL:I-7Y4/MUBF8;X^9L5 LIL_JXZR335O^1&36/ C=.].U#-_2\S2E4 MFX:P1B]NX/6G/JYZ$X:P?H3"&[K6GG*MQ+(A]&=L;>S4!H5!M]>%=$T= +N; M8SP5J@3 3'RQC"+)J(_A7P@;BUM XP],2D;F,GC,V!!OG MI-W/D:DVMA5*A=:QKJ'U^:9\%IS_1-$A:X-&F37DM_FBYL&W9%UCU=HW&@QT M-*+AVAZ^;;1^BX$H;@Z1#FA;4\J3F.&L10#0:@AOQ94'>/(J MEC87JN&?Z&B0-1KJUC"4P@?+_XNU>G_>@N^O>Q;!&T-&J ]'@E=H7_$\)T)P MTS$F-$21W06= ?B8D:$+DB_)V/'VG(2#0>P\SGN)2Y6/ (0[WS>FY3%ICW?]#Y R'YB!=$=KF1(4-:H8,1TH=*KI('KG8VUVK.7]I1]_PT[RHY8N_LB M]'Q$;&S7'ZH[>I\ S7]ECBUG#2?%[G=%T1W-1B W\B8@M] UC_%#7"WSY&U? MW 0LQSL")V(]V1OP7= RP$-4X9#\/L+(!O> M):?K#L#EPCR4:/<]0/K8F[;HOO-.#95:V4@^< K0\+T/EQ]N6E &+]%H$VY M0.9F'+57*K0DB)?&.DRU9?0^8>/);&W:ET@' 06Y2I!?<&V6+>@\(T$"K[[# MQTO#7_W>4()-[E0"4!JD;4Q(6?+Y%E#6''\_H14Q4\AMVU9(>Q'_':]B(0HFC8GKWCEL#M MNOX(LSRQQNNKL..RH[O18.% 1DC/MFLI_@1*QFMB<2SJE$^W,SZHNY&^=W+O M_@0(>2^9&A'YK/#+93B MMBT 29?=OMY[/L!+#_#GXQOJ&RHB[N*E -VT(0?BZ $'X0=AZK 3P37T^UUS MM*Y154C/.)8<^H6BX7@=HAUBN3&2+6-CN/C+)N85^M*##O\JHQ^X&D?#=T+" MIG>^EW4%P%]JV]5B%L^\ \2IIBOZ9$VU(%?1[CGJ_PKJ_!]H!BV!HL]QJ.ZO M-BKZF KRWW"$6V/H+Z\V"SW-K\?R2WS]:WCA&,/%%@$YO#Z'4\8($,)@ STRT/$=&"X,8/M;D@2_CA4-]1($01O(&ZRHN( MAB>^.XQMEF;S+A^HO-7G+QQ05FP52A$*#+H./K6W2V'?22?E(Z^4CR1)^0@I M'_D9Y2-OED"<<47Z:G $Q:H\&\D'PK]=L\E-N@BFJ8ONDH07GA&"4YR]066- M1U>HL(NV<'%$:+YUBM!#7RQK4R@%>$V#9LT4*-@,RX.182,[$6U6@4:.C-8T MQT#!/)0_&*%"XFV@'E_8C?,AHPL[M:ZA@GV0\4[]9F1K%/JW;I\A:*:#$Y;N M M4QY)&MH?R9OZ#AP2QL9'6@(>C;RE"O///E\G#1\AZO[ %7/>P6/;Q5V[,V MA)S2$F+]6=:)J?PD)G)#V[FQ:AT6E^-\XAM01CNM=(B0KP$A#^_#^DBERIX):$WA4CUQHWC.5%>4=4AW4* $ MY?)E2<:!S.U7TUC@A7MHJ8IAZB^TX\@M)E>08S$&AA?;1 7(R!,S_?+_S2-\ M._/>SQ^YP7GS%_47M$X%:ML:DMJD+W=*A+P'[SNUIHU57D*MQ?#K7QGP/88M M?YO53G'!>]E!@_HXO?4$][;#9-&^ ML!'F^!+LW.0]I,T,QDQ_:C5X=NB(DMR-]+N=R6XFDOY$(K)M05 J8I9 4L U MP;@C[9M/^F=)%JAGD[F4H_"]&%1FC$34!7'MN0Z_%8F#UDN)>-_@>B!8:+ MW>T)F^@E9KWL&CVR&Z%$!HFTXQ$CWU31;2DT(E2>+IM4-P*:-" @9@B*&OHK6VKHO#H\/"01 )#1.&B[>CI!S=F+EWP?>.T([6/=C%E@_Z M P?M=V>,@^ [4X+NJ(78[H;'_Y*7:"X?,7IN7O2/% NLH6W[4M0K<,5%"ZZ_ M1&WKL5VXVY'O?#79;X+TLD6#;._NG_*A#"+UH3RK1&BP:\ARC M$Y*5UT7."Z>Y\3J_Z.9*50:^"?-QYR6]F8^!$JXVP($AJ-EH&S46]:T^(A?C M0Y'Q<^/[D;H5K_2O;K1=#FS+5C8S?"'$IU$)N1[M".S3.DEGZ[&J(/;+^4*C M^6D@QY4P&TIOAMQR>7(4O7/IBMP!8U:>J68L.^XGHX-6!$IW)!SY^,;6O28B M_BY4)-"!X'-DE\^1J_+9Z)6Z\;G4:/#KOO0T2J128[F3O@2?IWIMD&LEZ^*L MW.MI;:X,S%R_B38PQ_^0SQ*V$G?:,;S3A0$+ANO_>X4#V/VX]]Y*O?W:ZTO5 MZU5OUY(JLS$7Z'5G&)_5N:Y6TA=-)O;T^5+$+TA5/3M3$^6&TJ873=M^6EB# M?F0.I2IUQ/2[-?1@ H<>C4]D6 MOQ *LT@W.9O+^:]746>]R#EJFY#UMDE4_+CW4JP]LU)I+*XX=-)T%_900 MBM_?>I4XXF:3)*L M^M&L>HIDU4E6_9MEU04,H$.&B8Y2B<1H")] #Z/CT7@X2J4B0W8T2D7$9(P! M"?'.)83[C2+$0K8J:()7T9;;;.6%F(A7&A.N%[&H]Z5 9S/17-Q:-C9,;>>T M"<7F=K8I0\#W9XKQGW,+"BIBV^[*W=EGCO:,V@:N*W#Y)N[Q[>C64G_K LXX M8-HH'FW,#6UV-]:I0,![*;#1X%IZ;"+MET[O)$[3;JT_DXI$\-LW=S/\08U4&T(VA#FE3R:-JJUW229X;OOO?SRMNV(@B:"^OH;WOHCR'PWWYR0@H,G3@#A[MU2T?CA!(\I%W^A72 M+S^PH#P#/[>.*HVW7?=P8Y?-_>X&S0F&[$T_K[&[;8)2Y!GP-DEO=HV9,M1" M 6\*@4*,"W:PMXQ:K6[YXF7Q[ZF1[>[M0A-KT:@-^C#A65^[KE%YF[93_;NE>_Y@&8_^P_#V5^#9QGFRCZ" HH@*_6 M55FD+ -HDNE28[L]W+M+UL:*L-%<5S>D_19SJ)?K\3Y=XY:>"N+!E M=[&$;_3;RID CL/=EH.W8[B;/S8#VWNZ5T>+&_10@J3/K1W$V:8'H6YH$"31 MJP%TJG"6;[/7_Q_*$WKD?TS1#.>[.PD)J)C12%G@G7[7@W_\>Z#LX,U-IF'//?[CE]NBZ,GUT9U" MFQH>:/ [UA2. /700TX]KH?3I-WB'N^9+Q_BU^I!PGJO&]MN4P[X:+=+HNAM M1?3U"KS0+*Q0SA1XR+\MN$%@O?=0KS\AA9P4^$6W+,F+5_VSI:>_OM*5K0X>^B1[,M[B.U1W*&Q[45'>_Q6Z9X&]_\_:QXFP8V'9!<([T" MDE?3=/R+2,*@4. [[#GJMNC6+?C]&>"KM9 [Q$V.V,?M-]97!-VZAMO!X 7( MA?O\VU]PD]6ZM@&W?51'\NIBSP[*>^#HM:7$-,0[0E$85L,[V;;[E 2\4PFX MFZT-V9RY7[ U;[)NVW$5B>:F+0$>%UCK'@&Q9.F*7W3F[DD4!=2R1'![G/@6 M&M[K,D9MB_S8+.I)XTJ9CF[?8;5N4!M3PK68WB+M!HK@ H/#5>XV]&WS46CH MF9L6.?N4W?W*=NLC'*N]@33)*VE#4314WX'V[Z$]$(:[/U&PO?>A1O"ZW\OG M8%W=&K"[RX'@%NCZ#-GI\_,:/\)4#VUB->%<4$!]9P\C&C066&INPZLBQE+/ ME'O':@2HVZC7<^:%!>*:D:[]MNTMY(&3*2-T\;>[(3,5;YMW:>^G#]!$_,_@ M^H"+B-#V9HU"?AS%A'V;*N/1RS>IT-SQ+8G-+6=T]ORW(AV'S$OC7K?P5HP& M\(MYU(B)H4/E37$1+BMQ$R)'8HI07/R2\!=^ 1K"QC? !2[N\#>[AKCMIB%] MM]P[L7FKD\DA# MP^])MO=5MT#TVGO./N>,9N&;+4->W5/9[CV5RQ?O_0*A^Y>3\ROE7US>W(X^ M]Q]'P25<=Y$=KZ6H%3BV%>&:"LU*7'B\^\'X&"4IKP)O4T8L@U,W6#MCK**^ M1.8I<&XH,M%#X(\DV[="]\UL":!*23=K"-2Y[L [=6,B:/*SOTZ+N$+VT#K& M#@4J\X9&%"K1@G:VN89RH&*-]OI0H-Y>N!8<+\00_.X]PPC"W#->G 1OY7=' M ATH:'YB9P%_PT;(BW.YGK"ZI9?(SH-6H-N+88T:EN-/%Q#SO.8K;LN";<.Q M'BJ)-)!WZQF@OHWHP'7+-=E^4=MZ,PS>ODTL4;@G.M42U'F8JB/C'Y$4[X7U M*RI1+S1DC""D\PVK>W1U['K'$(PW1+=-O_4%T"BH7%-=\@QK3R%W.Z^ALC]H M8;B]LKWZ2]>F\U\3$LR0$/([1&Q@6!#:VZ)ZEU'8M%6!@':*8&,"6L\2+A/$ MU:PNB>=3N ")V.$]UNO-?WZQL4%Y7%:[)1;N "!;VSMW-I%B)KOL@.2"0@T5 MQNV$@_H@Z'ND]?<@^%6P[H9BO'/)]0?<*V/7W#I"9QSC@F0X""WA?)EKPNGN M>KD3KCK*=KA03OS8\STRH' ;/3>3#[ EJMC *\]$!H6;W0!,\X4Z;SI5H IYZ*L8^%>HF9Z[(+U4?^@3J2//X\5JZ;^MWDYW=EXG M"G/4W&"KV"\&B2>)@8."9IKY8CT@R<&CR<$(39*#)#GXS9*#-V%-H=5R"OY_ M]KYLN6TD2_1]O@+ALF_(,1"+FU9W5X1;5=7MF:EE;'5W]),#!)(2RB# P2*9 M_?7W+)F)! F2D@R2()D/Y:)(+)EGW_(<+P!;(U6G[4#+Q&#(W&!C K"ZX>6@ ME&(,DZ*M@YJ"0SX"CV)$P2-&K\BUX@Y#U)G@!FRB .^^![?/=7ZF]D*N\U>! MOC8HCP\@0^%__^7!^ESGOQ/@4U80MU[XZ,7[8T1_4$'M6PJ]:EM:IH;_%GWI M]:\NSWN#P7FCV=R-NEPRO":CR=342R91R!F?/\9@1B+(.J&#/7X!!*3&O,1C ML"@PR (R0(-LV.DZ)V$'3 9J9)$4'(J@7WGBW(,T%UQ'NODX77)2YBW(XA;* M?8A\"@*_9=,+[5&R%0JR2,O%)/&IC'O+0)3N@UA>78V.TE+0 M[ *]0^Q ;@ UXL+H&QI6$QTP4<>_P4!(WU)W43#FN06RC^UBB _CY$&%S]8X M*]5=:Y<$D>1BYO 15#^WUI.]C4J7B/M!EG$W(X.A[:U;;?&"98O'KY3AJB#A MS:=ZYA=8-@XS'##M8N&Q^33+F5:*40BFE6R^"N CXT[U 7Q0)_,SL*&1),K5 M"FJ-ELGN128\_+*[G5?<$?AYL@\N55'&0Y@5--&0?L/\([?Q43'\"-PB1=O8 MS#(R!AA-,=0"$G$TX^!DA12P,5O9@#P0"K_<$09X7,T&0\_+;("&)^7 G5-, M*#QU.&X"TI+?$6;*(55'@^&E-)[,PS@BO& D +7PBI\Y0NHN,Y,Y^)E+*LP3 M[=/R0J@1=X3I5[DY.2T*IT">JIY.$^\+^*-@'P=4MVCT060GC3H@*5>WBB)1 MYA\,S[<&WAB24;F$*14DLDP!?@5M+"J@=[FO)7I4]R"R,=R.@2!B1;S.)?BA MZ* V$(@%(P6!F#W5*=I(D9T/9CZUH$M2\OX)2JXL?P#X"=H;.&_P?]@&%GG* M(XZT-)W)8=$#<,THN'TZ!1\6VX\I,J:K81DCX(@\Y%&;DG<\9X)A9-5'@2E_KF#3U MB!Z#2L?@M!&?!)H#BI;SR3"C)SNZ4=*;&F09"K(DNP5UQ6\EC,ZE3U6R=@Z' ML@.FH1[0G]6M-5T5Q2%H9>@VAMF]"%0>CFEHG'JPN,+GOII2J];$*SAL-@[O M<.EFYIAD!4Z-6\B9RD &$3LF!S<13-VDX?2;F81'LTF3!$K4TH2ZN?=0=L'Z MI!+60*NDJ>IC-_56%P[[%5_A=^PC6!7RU0 %]=G[BI,GR!Z+*$CZZ&%0%3/M MG,:3;<\>P7NFU4C#H5)A4H: *!VEZFU8QF,\B^Y082$BVR2626<$PLK=L0A" MR\V7 1P4#SBM4[7* ?^0/#(1W&'R+4#R5952%_'$=<[P'^*>";(;Z#[*OS]2 M88IQH%X:C[I#VQ3(N^1:N1!^F5Z*PBMG4A/9/%LN4(;!;C'12;3 C(IU1U&5 M)%1MQ]-(@E.@F=PM227.08-%@,UX#6"%LM$RY4%9)H)J)_QPI5$4_C"<$N-X008BQ]*\Z;3/Q393DKA0Z]3)":G M19>6.LK\D9>FH>P CN5(:<@&M"I^H6R]WB=549#'01EKAWH8,+Y*XB!-P>#B M_$ %#QI.6.I3\1H44"8"S"X@>4#8%^].1_ GJ%I/IZ058VF$(;1 BSGP4^H] MA$DDL$H,' *@=E!K%8L M,G/S'- UPB%;RQ0%=U*II$Z1&X%!Y2OEP*H>JN MT -U*S7;+S.I2Y8RJJXX8$W18Q]K%2C7/D[\@OM55)VRN8GP6@.=E%EQKH.@ M@D.*/(.!\79YU)K:K2CEN6?:B4__4?$+\9R4YHE1'"%55]G+N]19I1BJ6!JE M:^.I43[9=:7MY-:GN=,@U>,]C(>E>W>]:AWU_*JL69 M2PP9L]OM&M6%]7//-CQ0F55[&[/&TD%!G3<,[LA550.C]!QT0 MDLH*!2E*A'(5(95X)J@G@8 C45DX,"=<>D_EN0R#C&Q-4&BH0-!;-RE%RN!Q M+A_B,I2J^Q][(^DIRVZZ5"U(36,P9 UR2;I2E?C'0C:/V-[,3K*-)N3*\;VP MKB"1J3YE\C%(EVDQ%JNN81UQY1Y%IZAFK.'R2=(VGUB? M3^S9?*+-)QY8/M':45NSH[Y?83QMVTK14__\F1])C1:1.2!BE>UA>UY?64;? M2S5#1V P+EOFYL!F)YTC#]S3N H,\:-] CJSLUSM6%(\:I/^1L4(9'A 1BJD MG0:&JSRPNS.;GF(7=QC1XP,QE7 =+-J3UA5:MW&&IS%7[L1E/O%X,*0*-L@# M"=1ILLP=P(W?HUFM$C\RK./ M6$[O8>%Y((OCV1'Y"_!S6J#!.::1&3&?WMFW/J.I1+S9('N,H\0!? M8:Z\RKJ,A,-FXUPA #@&OO*]U-F).\&A.LZ+HH5(VR-/D7-RE 3#YXKJ8;J. M\XD*,[6=K]!/6'4I!F741L@YP#&>/J,\MSQ_*@)U?C23QU]DOU-]/I*S7[** M8)'<,2"OC]'* W$IGL^3#H:1YZ2LK9QJ7,G2E'/:,A7IYSF3E>)3+@0H(CV. MB\\\N4OR 4L.$U;+N'E;F3#A^IL*ST<8GL?\HTRJU0& UBD;9AMS6M(BDL[D M71$&7)%$G&VF U+RQFE.7&+@3GIZKL-R%[ &6]-E$)'X.B="*C%3\Q1.(N$' M:#^E=8=89,Z 5+_1]SR&DVM'M"S1XZT9^C@\QI@OSLM)4Z%>RVEIF@# L4MU M4DJ*'^K)$DUFU"TX,E,#$LPD.A[G6Q)C ML%:=UI*04GN2@%" JX/"3&WI 7/E4_P_,&RDVZ.GIIBIA#<2U6;^RIR!-;]= MJF!CEB$(4?:3&S92R0,0$9:.)UGU70P*SH,!(*KQ?*\46 YVFA3J3* M/U3&B5\#9IAZ+ 8Q,H'5$#E5(RQ[S0+ 5 8#1,R4&0]3E+I3%>).5=8P,^#U M>FFDRXR5A6I!W(:7\E^FN"Y+9EQSTB,>7T:1@P<*))XC[Q$>#0ORA3ZUJG58 MF?67U?@Z"*6E!-9B*6[ 9G%T^*8".^>.\EU\YIKH0"LR!:6R=7:Y$9 9&($Z M%7)!2RQ_5 $I57"#K> BBP"C X_/$CN>#9<%-N5P5DQQ'("*K M)QZ7"GLEX%44;+Z7 4AOR? 23?2@/P#!F3I^*Z>L3E"$DA1.(A9X^!S=. "! M1,%R0O@9SEB*'[' 5:4LR=?\":"C(.*?I" 4%#2BCRY?+&D-K MD"::*)JHLBOOMD+(G&6LH3KC],.-/HW ITLXSDM+,LJY ,#X;@IA2KJF\@UX M$@^T\PJ @#P$:6P-R\401MKX!>3%SOMI&D9.K[]*=H+^$(]H2&'W"WD0E^0B MMD=0B4<#-'/';>6@'3K*7@H%@ T::)%#,SV)T#&HC"-?T:Z-I4',YUJED83T M24:O0Y5??.A> KBLK]!JM>/\11U 9EN.-6%Y2IXSCC+/RG4]7LJ32,KF#&RP ML&^AC@XN8+R21^/B+MD^A'N*D%YCF5'5[-JJE3I!3Q<&YR.*J+"K1(2I;LFJ MF (-&%. QJ50D.."!=JA5%16Q%] :(C"4LI!?'-ZC^ M!M63[XL6*#4O8I$%8)0U%-7:+;2(DSBDC +E>F=:>-0MCB,OAI6$F1B6JPR_ MK&*D)R6#E0A3W15FTJR7E979%#[*0ICRU/F,#_0'I9$LF[&8$J_,5*E9H[07 MHPT# Z%"GPM ,Y*_)M"J/HVTBVVPR :+ZB,R'ZHE&,N*0F!Y.PH8?8A1-O4- MI78#&@;=<"P%R]0 *C17L>N)/.S*):VZG'<4DF@$K>G<_.W#[Y_XM*;/-7:R MY1B^Q3G!JZ4JYROAUS+<([7ROU6_AA_1XL^5*KQA$Q!,C.KWV#X99(5JJ6K^ M1 WH3.,66/V>"LC!M,FP/K=:B3V?J\YT:PDT1E+54"8I#0Z1A[J)%06&E#!7 M-CR .,=\<%E]A=J+[E]Z:-,XTUHI'')97&N=0)E2"H-7\ZY\EI5*]JA3C1Z@ M2FZC*G/^".^8ALID5=CE:\D-THB6#=_D?&6* M&H&VH4(KVR!75?NB?E?!SE M:LT%AAYE9VYE?E"AH+H+#_;RB2L Y;@:<9)'>3%&-"X[M62T&5-+J)V0+4,P ME&%"FUY^?GJY;]/+-KULT\O63-O_]+(7S8>JI?,0IMIK8L=5MUM4'JPK3Y?Q MH$X^'$(GQV9&C[OYB;SS*O@3=][$P\"H#W]5QH,T:9SWTB!B?Q(M*51S/X?8 MP][Y%S9]HHD74C%GI1%7:R%5HGQER\J*\R1#2!$?'>1]Z$GV2J7GLZF:_:Y" M+ER'SJ6#9#3)4U*)UZ2Z;8SS.108E*OT+MRI4[ MH+02HJ&2RZA$Y%KDKG6/50RTT5O[:UW;R._I_#8(B%WE]&M7I9KG\,K,_"VE M=&7]RUSVMGKJ@YV(N>P_ST+/=?[^)?6P01)UKJ/4/ G, MI2,QOJE;P7K0+!^=LF&<8--6I>P*'>6'* M*3Z_&&"35"_GK'3UM%G9K)%#3:KP=L;WJ^C8SGL:)J&LH([S&3F7)W]'F/JFFO' MY1MU"3DI :,U#WH@QM%"KC,?^)II;]X\1>9-',^9*DGJ/%GXL@"#CE\M2R3 MF(L**P^2CSOQ45O9;K5Z^$6=MI$/$(J)[NBX-C8(ET4*6&DM@[G4F$P=Q#$/ M6]&CS9;-;MD(MN.\QZG?J-D],R2)A[FX8ZF!+PRZRD0C45U-'-DMLP!3.E:8 MJQ(YHESEB2,6R]50!*,V<%S)8@,/84> K I*!<"3^;HZW01C"9.\Q45R(1#' M6!>>@#;-J306E 1\.]?,5'5WQ70 '\M9?(ZD-_V(%99 O9M'9KOV,%O=FZ5L M.?HW//]/)\'WJ-EAN?Q[O7Q]MOQ)4R0YK6PGC>&:K972Z7%2P_VV0-%>]?FEENTQY#KRZ[7M0N!E->N?$/(F&4VJ0 M66E=60= %):P.MV0DD%7&E]:6\\W/0#W'8OR%AL+=%:$R)^B) \UM&9%[5-% M[4V2<8Y)\W/9" HXT1!X+^) =Y&?U/-)6.G&N#ZM@ZQ&SY==7[C5R.TI%_0% M\AKC@+P ZQE#>.H-T\OP:LCJZ>9_H< [S&R(BK2RCYULOYF(.:>7$2OJU8/^@T5@PV%R[!:RJ* MTY\7-,PK<.7"I7(5N?=5,7&]/CWQWL[QK*?*Z#D@8WC3^EB_\C])7A@U80]" MO2PK.TBG9OMLQ,0GS\K.W+2(?QO##'8(H3Z(H2!+4*P10@'5H2PYT&Y&%-#-B9G+=1F8W*] M_M7JH-Q%-9)3$\AY F4N#\GU0*H.EK__TEP_?>D3N^2&XFW]PD>TS M(W&79N!T+A(WF,/?H/=- /S&0!PW!'U: (Y ,1=H*P,;+PBTV3B;%9\;B[-U M32'V$OY:%V9K.*;FRE-\9NSNI7&V]2&UVDB5@5 74AM242NPO!8":0&5<.KL+L. M+@ZK/9=EN2HKQA"=C>+D;TZ)%2E?Z,1.^.@ M][U,QF>#Q M;SR*:'39,5#Q.QZ7#L62VF)S 2[OG&O9^7,1>R ,F.(1Q+)U4@;/#'A0O8[7 M&%/*U1CR_^6I9\#3U='2$L+=T__51ZD1\%3*>&,^O8P&?:H\_7=LYEE6F(%WI8*/QU&< >2^;HY/6BY.RB%<=X@_D0#&%',[^4;'H MDV)^4A]P#R#N%B10_H/X1FAZW+Q>GZ^MP9@:RB*1!CC:ZACV*D5?;(RBYP:U M_W13/W5][XA+AGOIE!0>51ZEH1@3!4A$R0IT&N6QAGDK'*N("3AW4U,3EQX; M6:>D5P+EKVR,[AJ3ZX?Z8.UWE:$\@Z&H/89F*E\Q%3T6FVQ!6=1*X/\5D:C18DPU) M<'$I"1Q!?E0AS^^SNT2W1J$QU(HT)(M:&D4U+@\PY$MN4D.& K5W.FE7MPUE M']0MJ.)":E>H5"7R)L((@!:XF4>-46 83UQJ< "0C9G>QO@FV350G7SB=C0+ M@'LTYI-/&#=&8%;34TJDP<6I%&Y)#O6>GV*?FA3]#9%;U/T3]/1 M+[4CYE5%V9A2Y;E2X2=W< GQJ#XE:JSWX^W[W5KOPX> M=4?+6JD3/._(HZHXS<9=.K4T9BFN9UE5 )*DAEFR7S;B1XG!CR4&=VTO/GO$ M.HW>DQZ0HDCN&_68./*,Y+61ZEXZ^7&_4%=N2")QOQ"W6'J 4[H)E4'9]JMT MZCA4/N.6G/ %H+1R[*?2!8*;GX/P 0]7E22[-POS M7F=$VYY_CZ8I-:+>+R+Y:+*S@51=9Q)F2OG@2-M J&YE RSAX>D%+P<8#@5 M)/D3'@_.RJ7C_*Y_.(%7\-!M_QX[^;_5]R]YKW1FZ!;IRR!ZIH;S!GYHBI$N M2@K TF+=29=:18]%V;ZU>G0;OYDOJR%6H68QV*Y%\8K1N%EWK2VH"9L!Q"E. MW599$'V>NKH=/:E57T>]6%'I.IC/0MEUBJ>SD?)":E-#/3/1#:H>CL?4GWJ' MSN@5L9RL*X)R9]1UF!TQC^!S"M>?POZ]!R^,R P<<62]=G%SNRSQ>BI!%E1P M!_ZX//"/\RJP [3)6LD(J+FT,JK D?-4:<[#- EY "AC/BUGSAOUAW+ K<1< M.:5W.0DM)P^#-'0(KQZCY7N,EX#"HQGQ!@PGDS G.!"&QQ7(EC+67(<1%'CX'0_]MJUT'!8[#J^Y(G4BT_A MFN%;]F7G_A'S>UY'$$2?RG*7)%ED*MY@BBC!'8[X+J;8P$8"(V^N<$BJ 5/.#5XS#-<*HL& JET#2%QE/YF7$6!SK9O5L> MQFW>4!>PF6;F;,/Q9[AX9LF3*2KKT2B7[I) :GZ!/N5)TGH B"S'SS M@K6$=IZ,&,G?UZTZ5 _\JLJBU+2&"4H[GDH?J=Z',J-3R1?\401WK7#LGI2C M+<4X3@SFRBXU9@3'6I3BIRI]5"0/FT%7YG\QT-5CM?Y7,VF ""F+0Z8%O8^- MZXH9H&?2&88(_YJ]!I#, 0$+EBW MR$Y#JKB0@3GLN\[_T%O>LA M%GN"34#>=IS?Y=;4=(AY%:AL>.5:EO:LWC[/.Z(1;V%>T<9DQ<:F)ZE+^8RG M8\%<$.CB'M.(+\=!D"6F/!MYRBY[MO>J9G[H*4X5\WXD\D>L-I*6! V#52_2 M@;T%/T0;_.R0O&>+Q; I%TP-.8HNI-IY^%%V644ST^ACFI0=?4>B/!1 _407 MWK$$;\(@/HY#U[[0I5,E]:Q"]"E/G:B)-W,F%ZYFCM)#6;,5&@5"97#2G$66 MFS\@O.=^? ;9C[R(""&[1QMLO]**M9E1CH#L99YQ]0G=^9PC%QO*H[B5D[@5 MOF\@HK$RF5@>^4V3F1=AQ=Q;;&G/_O2*]\R=!'9QI6C_JS@GN37E!K644U%9 M_3IB6^5_[MRY?%E$:VXF$8HH74DRMV\64A3C4>K1(&(%9BGK6:+,J*!;TID8,C\(6O(R*DIH/%N2>67_F$<+_DER<[1<7ZV7/'>ABWU8> B?3@*U:XZ3D)TK?(Y)O MDD /!];)^_>?;G3RGH.GY]USMV(;RQXV5>?QICK](,S+8\1 07' JSW!Q@VH M/V@N DT)1FHNWXUO*\M7?RS5@I36:M:"'HJH;1SV6XBD:TIV08$*+YC=@O@ON9 M9F68)N<28Y/@R(*>[90RKUX?-G^.>7B:C$]?9![*2S=M)/ZX.S/&76'#L&27 M)Z5J;1CGO\4,FR;0G!@<($Y#V.70:17900M32AH):M+[M";!QJ>V1JF3DXSJ M(3+4Z'$J<2D;2.MIKDKGTC 5,1Z'-/669IE]&%>#+[9%>U7PXET,KGLEP?1PRLLI^8LI8FA33L09K[]Z?%5%KX MZA!VC?ZNPI2@>8=' !FXB3QWP O XD>47CS6W>:KUN>KSFV^RN:K;+YJ!\[M MO/VV-,F1 !/%9;03;-HPX^X5X]3M2FT!QY-R+0A-%I5' >H/C#PE9,5*(+NG>6FCY26. MI$1EA10_D,^I%?/UHWER1VMRUUD?9GU+"DL%WT!O0T->UE?HXF-94YHE%2,E MS!QSOKHV6$B=D;& Q9\88\,5KBP*^Q"7YKJC)"2',% MOSPG8"XJ2 3?H"KD*P<>"+A15"EU-:%=>5*U^@?7PF9R2.?TV7 D/*(IHHB; MFWD9!_B,+)"Q=(ZD=IS]9+?<^ZH(>W_<3XUI@F/*)#B9(@ M@*T2C4B3W6@'H#K.,?X-WU@=!0WUJR)ELLIC96AYRI_F,KN^GQ:2\)1OKP"J M?;"*]5WNDGS&B/*)LL><&=^00TLI?K*#25 ?7JY4"AL(F4PV/SCYJ/4@(K%.A%,4I%_!"F M24P$@,H?8XOY/1A\=_=&+Y %O41RFV"D^^)A$IK"]^194*,_0 6^0Y\%E=$+ M13X:1M4COJ!C F1 CF;0P>21$3&2^RH/)*K'D5(L!#H61BJCAJQ4!XO]B@A^ MX#*-6^^KV+- X#]%->:W.-Z;BQQEA&V2I.(T"K^ S#@%+1&?@MQ2_9E4DP^B M"CYQSAU$\$@YN>%F!Y![/LPUT^72_%190#$N(A(K=&R=M2(->>>*U6DH:T+8 MJ/&F6,VB3G(0P:JFE3E5M$C_F]WV^46@C*<0>Y@9ZZ#TVP2@C;0/CPZS>TI> MJ&/[=#('-3M(=YUVP&/Z^E")0,L.+G =M-D=-HX?1&6V*[W%.)#CT<;K7D/M M0P'W^ HCV(1LBR"F8?-C$>C&FE141(4@"/U*SV#=N+SB^-.8(9#W1:J3NPBT M7O]4\7"9:UG27DQU&R (AO=)$FB:0&,"@5O@T.)_OSX=&PU:/-,>R]:F67X[J]E7.NC=K> 2_F0D.!P/++';=@E2< M5L:29/LD4)R9+%OR5"1+'532\<92'8S)PS@1G;N.:P+=P! Z!&'N5DS@&(2( M3H**W.^\58S&2PB$1@$%G6K8EUP%B18N,T^)DF4"CBB+::CD;2XEJKEZ&7SP M-\0Y.3P99W\ICVW,E:J),Q'E?!',TXI/]O'\T#]%25)*)!))*1''L[Q5Q1NJ MSN52PQ MQLQX>*IASY1MH@SOQ%5!]U!.&Y=T"9B1]COW%99?(V&E8$G0I71. M@!+P\F)@+U#5:$JJAA^^:FN+X[C)IZ3&ON).=8NC8W1>FLXPV68A@_)-'#G+]I/$6Y MGHXWPA.3BTW"4F'&TZ5HX*(^IG'X=H4X0"A&WB-%=2D.3SZD*GE4XH21B3?K MHD73%^7NPC*C109Z!T^EF19HJ2 B06/FL*DP/:@6Y"3,Y+(K9;#*+&6+5_>? M+MF=BR0Q,$!]XKRRN:4:;JZMZV^KD=VU7'A2)S\#1!A[*]2H^4H?/K*.V;31 M_;E+2\?4^"[#AS3<]Y@^DZ/0)!5QKSS\8QSB<6L\>98\(G.[\X1*?6Q5WD8. M;">7%/5UD=\G*76FZU#KW!0%CS25=$*.7VHTL>/]Z/H)S;*P'6EBEI:#--%@ M(23_T=O@@ ,.BT?C6KL<6/!#IY3F6A"MTG(CW&K&]2HX9@:<2I4'-FE61C'Y M57CKJ%*CS@>'[KV,609? .1\UGUCVCVPN9$@"5B^\+9BAG(]B]Q8M>L?A=I4 M#R5Z/I&":NDG\U215M,='J\?B5B,RZ*-;Z]4?[_4"HN3 M2O\I6*+9.5)6BB6(' P/J@.8Z/XBZ985J%31SL8 !4-'H#E#$)6"BU[PYU@& M<;@6FG9F4HF<_Q3%L$&"J\3Z) &O+<2XBTDK$<=7%E)VXW]8^H6.CT6MJQ_,R-N3G,6?:#_6N4C$"^?RA;'_Y/\GB*D39L4$!<7TG%73D', Q9J@X 4 1ENQS\\B.--=)9"'2[1<:L88.]@?A:I*EL M!,=&Z+2V%SR@LLHJ!\2F!8" M[%YFP&4OD6-F9F2Q2#/HKJ"(929D@$699KJ%6;D-GD&A/5F]: M'L 8>V$JS\162A47.IS+ZL2ECZRXG\!CL#+JHV2\0#7KXWI&5?8MO3]9:JN? MIYT,Q9FT(%#6\T7\K,J6+4L]QG3$C*,O&VENRYK?NW;[J'2JA(-RBH\@YR&/GN3@&L01"$?#=%2EJIJN>"@ M=,6$)-UFMOB2]$AX4"65BCBKX8VRY2'1!)>]()>4V7C.V:O3;>6AMC$N M@97)(>!!0M'HRZ9TEJH@(G!J6TJ =97,A!0XH9=)?(G 23S_Y M8'"*[/07T(P8 Z)74FTW7C=) A$I684QA!2#RAC)4=,$S-AJ&>Y^2-#,YP2] M9G70RJ(Z*8\>)4U4=55Y:T6$X(J- +IQ52W]*7%&]=]8N:%96Y[(!C&+Q*E; M4)80JJYW PB9VS"]QMSJRBD.)-KT 02CY$>RF5JB6DX32ZUV)R@Q7JZ:XX=4 M:@1_W::DQF;R?!5P[(-@7"]D1_,%2&P"X'M5K? /L_G\_Y3-Y]_/-Y__J]E\ MWO# ^,+]$H/E.3C=4E]WN=*XK':DMB313I51H/^EDG1_)[$'* \RI398, M(*!,QERT+KD*!% =A<BL56!^IIVHRI0,.+.]7AH)-8@VS-F MYB#>2Z/$QO4CT>A>O-#*V"-F7HEP%#=X4TE_F$%:"@7+X(*H/1V):% M+HK8V48>"4DG4J3'"?B.*54 Y=)4,HHC:0]DZU=?I3D$EU$N&=U[DPRIV.11 MU0F;C:--(U ^DI+//OFW@/S0'&RJ+^!IN26$;WF0GH<[-5]L$KW2#L^;HD<7 M4N'(KN7?DS*-"[-%T%R:ITA7==B09YHHB.&:'6=JQ%>,BO$.Q 0J2:KD!&JB M4CZ^@+5FM14-1Y06&_?]4SF!LF6$+$=-ZC9 >"M1RDU%R]:'0$_W=-0;UT?. MV",*")"JJO9"/ARE/QWD,UBQ3(Y7N7*1'>?IGILGSJW5P0S)5!<_25*7C1LZ M-$^$_M!F)LH^XT9@..FOTUDZGED=9JR::AB]K'23]HZ,_E J3176&V/?]&[F M7FKZSNP9Y8(XG@6-4;#&Q0X+JY;5S&JKM>P?VNE=3TG&7=IDG$W&V63<9I-Q MND B-&LM4.8:YUT7)?Z\Z*PW?E9:(_7J[5O,D@V@?.6IB3N%. MDS@I9#,[MC&,7V7MVAX/2^?_VXGI&Y^8[LK"T;F9Y#).5QE"NT!QQJ_2(#2] MN(I]I2>S>@$'DBKM5 )L1"#H^">[P.X+QNMN*K2T"7:N&=[=,+-N,"KV8V4* M=CFA_$>; M6R-K6ANE9$"B01IYTTQ M9AZH[U=9]Z T+X9O3,]:OD]YV8;]8SP?O1OTHZ[OPP"X6?]]^IAZTVNVKQ\! M"&L-6^G#5"PG;P1BH<@W8SG-L0@8>F=K20-^Q%)N]E75EE_]@(>_NH-WRSRY M[_/@"5BX!TUP"@_PT51&Z*E==_H]BY?VX>6\VX<5J_!8B9="YM(Y^"_'2 MLQJ_E7BQ0JR%2+%F6 N1BE]7L'B-@^1I2=EZF$T6@H@;(. E9N_<,'F3U2PJ6M3-VN=;YDX M7DH+PQ?3PF!U>DTMDYL4IF[E9I6 M:EJI^7Q"L69F,V:F/$HBO9+>]*M#9Z8<=2R2I[J0T)\5FW0U6<"K51M M3*H>$+WPF=>&J..@A*LU29LT20^(9:R(M2+6BM@CM5]7(?KD1SR"G*JN^D7F MQ4'V=@'QFD7Z+V61RT[OZJ!8! ^S-R<^5YY1W#R-L#98_+=Y(K@X-"(8'(P. MW1(17% QP@$1P>NF*& /T/\M*?4#0OF; S:-&L-ZZYS*K6FYB\/R'ILU=8Y# MRQTB$5A3QYHZUM2QIL[!FCHO"^Z4K8:OO_-](<;CG1*WZDMWW0C2L-M8RS:X M_?0(-_?: 1@,&\743DI36@8#*ZH;1"^?KS\RUK86B"5K2]:6 MK/>.K*UAW0K$6\/:&M;[6)!X3J]X'WO1#!:8-1:@WB7B7C<67]XESPTZ9RLI MTESZ-!74/0&N<89#]^*LVZ"WM_-2R.TKU36C$/:&A+>;WFN,A =7[O#JHE$2 MWN/#$"^VC?>?@%?WR&HO 9^Y_;/!7IT%VZ)MNX\([36(S>V47:Q"Z)O]ITDK M4%\< MM+_NOWW$'?F@26@O>6@GM]]^K,4O"Q4_#^&K67[N"BR;B"-6IWC- & MA5&K;-H]KQGFD.R'.!=W*0U<_UR: M?K;$/4MJ-7:]^V?E_I_$.R<]MWMVQ7 M5@]LD>&7EJ+N>O>;"1MUK15EN<=RSPO3!NZ%91_+/M8)>8DU.G ONEWKA!R; M$S+H'9$3LD_5YOR*VR3W(B>535$.HN1\5PU0]M&D&9Z[PV[C>8GCPO[."]1W MU1AE+PF^[PX:/I%A*W\.?R$O*L9L\%-H^L\WZ('4^R!&Y(/M7@O_7-,DR9YHFXS!O+J-1 M$5T#$%U!4HPBT0K)W5Q3^)UO9K_O>1<2^: MK:-I7SW_F\:G.Q]PSG9I-?X^DO9Y@TJIE34NC9-VZW:X^0J55A4C-(S/ Q94 M>UA\Q85O[^[#P:>WO8["_]Z\4?"=ULD?8;VP;[=I7[=G9@4]YK$7@Q[7E[71F M;Q]M'V,)R7%M>#M=(MNUYZ,37]LI(6G7GG=?,6()VXKK_6QBW:X]6SOD"#9L M"?LX]GQT2+8&]A%LV!K8>[7G(RC@?A][T0QVE*FV[HZ7.9XS%:DOXMR[$]CQ M/9\;4WJX==ZK@:4R8(WL_Z JP:^:+9>UE>![G> ]J$KPJT-O%FHK46PEBJU$ M.1Y\'E:9R0&1M2WSMM6P2VR09@!\Z]01('ST9M,=Q3Y;B^4-A#FWD?;I/%AI0=E MA^RZN+OA8/4^$NA!=<+<@*%\(.2YC;J0'9O !X&IW3?@VXYQNY>6[+Y2Y]%5 MWC4<)]M'O=YXZS&KURUY-ABSM>1Y^.1IS!: %81H':2J\O]Z(^S._$>'*/?BVK@3_*F*BYH\8IZ8\BR\/QC+\* M8P!E?MV[7,3%"]:O8KIA[*?"RT3@O#[K#!Q8_%_!?*H0S@>?< M9XZ %03.)S'-Q60D4F?0=9U^MS]T'3^93+T4?LR3)]\VZ#BW]^4"X(.SN+Q' M+W."-(0_G-%,7YOAQ2KH[(S39.+\]%7$69@X7APX-P#?/ UQ'NXX?X1U.4 % M\#-<2S__P\EF&2PFYW^ M5D48D%4:PJX 8DX 2X%[JS1UGQ1IYCPFZ1>X'Q<5?A7!Z5@(?.:==R(5>.QE6>=^B**WJU*E:HG-$Z5)&F\JM7/]PB!6+R^@9^18;13.&9 MC%'/$A(D!-E3 &VY6@G9\LLJ2A9 S3\"^?LG>(7SGR!1\,ZW)MG)AIB3X.5>7B#!]TMQ_U:DSFK$ M3KP9X"7.PYB!.XX*/R_@:H;5%):<$,+DIP5L("+Q 6DX*I #D+$UP%T'G&;_ MW@G!F!1303M"9 %<9L[8\_,$<)C? [@1.TF19V& _T_YD4GDHKZ-"L2"XP&I MW#D@!$2:N7K1N*0D@$7+=W^XR5!YTS,D>@F?\#;TB4-!?_&R'H5S)V*!P#'7 MG,%]\!<\>D8 "R?PB@=)4///=HG$'N\%K@N?2/H-E@VPB8$(:".PTXP^P6-Q M*_IE>TA/I:^ &U])71F1EQ=E)EV!588T,R[R G .S^ X#!) A48\)RY(% !2 M):F8U(#/R,0D!*@B]A,$>0#[36<8Z^A=O,L,$O%\'R2+%_ND=Q!_DFC@D0#% M!_!2>#M9$A$5P_=DA(83?!?<,RU2_YX\(" \34$P"))PBV$Y)(:?'Q+A$H MGE*Y>(YDQVG(;LV)3*J/HPL!)N!5(>CP-T#=%T'K+J938$-8%4 4_HTB MD'MR&^,B)7)4MTK>8,)-4X2PEGTCV%7'^5GBAU8-#Y3H24561+F!Q\2'!SCA MV$$.EH_,@-;",5B2QF/1DXS%70)6-2P2=1+' M@D7[8YC?RW "L23>*Z,,KO/AELE>R_A3LL-0Q=-3\4=0'^#N_%LS@^?_7Q'2 MZH1_'X,3<3?K@ %"RRDW 2)2A)$>DCDFB&A@N0.*+S!EYV4A(M?X,,C-C"\ M#'S)S $W!RA,GP,49+=MUQ&0:)3-PC$? M7>,0%S-*XD(*KSSQOYR.V+0Q;@,1A)_QA5DQ4NR7I&H[H-O2>S!UU-_P\X.( MU%U27(%\27Q:XC(H _3FPCYR-XI$-&$ 6!(_I#L)K?E]F :GZ(.#/(N2(C@- M1 1&=#ISU!O48F@M)1F8=^J@4X$ ,E;D,1@RL.+M:0'>JS:!W"9DOP5ZS%! M(HL4*?Y1Q 8MFA2HUZ7., YKA$G^!O>'SZU[G M]SM=O9I*J*?*E$@G)R'?TNVCE?>L8"+Y *)+Q_2KWW(,H$T@7^C MF30'$"#D'<@(V3JY21UM_C6D(S*M^7L1;UXA(HQ+WDR+.I5.:I%'PB%87F!Y> M:J1QZ@/>'%AA>T*)M+TRKGG:[R]T]WZ)''-.L8'0# 6.>>1GFH1HESQ3"X.@ MN!B\J0J>\_,WSWJ,S!I*FKTSUQL4J?+(G[B@6EDF'UW3\0M-/J)-95Z7J<+G M &+G:NBE9)" ?I@G@F?J'"2![CP)7+UYSE.>1@'F@VRV:VVV:]BUV2Z;[;+9 MKJ?)UI>JUZ8TT7-D[GZ93K]-,0V"0OPG:7M>[U>YS4=P,KS4O^>J(W8^@!DZJKZ4H-]C<=C5&\,9I,J E5_4YW\-:L'\!""M7)9JN *XWLCBI=M MAO&?7.EJW <_/K7NU52UWW@Z8&4UO47+;M#2ZPQ7'@VP>-D-7BXZW95G&BQ> M=B7&5O9^L&C9F1A;>6[&XF5G8LQ:8RW$BQ5CK41+#Q9F\=(^O P[ \LO+<1+ MMW-FU4L+\3+H#,\M7MJ'%\P+6+RT#R\V.-9*M%ASK)UX :_2\DL+\6*]RE:B MQ8JQ=N+%BK%VXL6*L5:BQ8JQ=N+%!L?:B1<;'&LG7OJ=ON67%N+%!LW.QATL=7N8C'F=AJ8KPX4;K@D_P5@>B94_"3"+__\ZNS52[GX:@T; M[P1&HZ?3$1ZIQ/,YOW#%]$]4,?VG[T?-D,^.)]=LAEB&+R66J\YP"T*F27[: MC=A9IQK;!R=_IX)&2N,FR:Y.^=V^*W;BC,'#4F>&6P?!9BDN?LN2>@8.NJX8X6/6U,5_BD GJ MACH+-D0^AZW%K.3>M$MQR(QF)?<.'(]#)B@KN0_8_W@6)9S\B)T;4MD>."DR M+PZRMXT)ECU37M7I9M5)9RLD3?_EDF9X<=B2!INY'(>:LK2S =H96-K9!.V< M';QO^KHAPEE7-+5KRME-/)'/\QTR_;PY6N.XG%Y[M#&,[:OR[H&SDS4#+>U8 M,[!MM&/-0&L&?GOE^B'3CS4#FPF(EDVXK[_S?2'&XQ8STUP_W*"^'VX#-O%> M065+M4S8?K0&+E4A,P A$R0%-B3>EI3Y%G)ZW1R N ]H&P%D"!_JY&Q";- Y M>Q[,S/WC_$."P*L?G-[ />N=-\F&EY8-E[7/;".5M8<-Z[7:S@&T+3;L]0:6 M#3?.AEVK#=,6'SH6J9V#A6@FJ0G-CCW3-R>F,= M/*O2=FY9UA/.S@&T'0ETY?:&5]:RM&QHV7"7;'CI#ON7E@TM&UH';X=L>-'O M60>OX5JD_C$35-\Z>'M_OB-L?KQMWM$0,,&K1$CYLWOW&F][QNE[0FV> %X*@:4"TO8!T4ZDTB_HM MU7ZV/-+56(KU,19[!0/XFS,,N=:1K"6V 'F"*9BC1+XEA$IS2=1>!IVRS/G),P]J," MD0=?3/ )'@YF<1TQF4;)3 AG)&(Q#O/,=49)7,#_\,59GOA?3D=>1@\J[U.K M>.LZ29%G82 J:P1X/82^@(?DJ0=?ZT7#%_=A&IQ.O32?.7Z4%,&INMBIK-AU M(F^4I%Z>I#,G*Z;3*,3;/]S2NL:>CW@/"0P R^*$I]6ECEY0MMUMS-T8 \1(FNQVX!*BO11^!$@^];:!:]!A4 B\]R1\ZWBXDH%>B5H@=FW+BA&0 M,!"(#SAVQ@+67SY"T0(\Y@8@GJ?A5]KV3U]AIR%@.!GGC[!(^O(D5&_JU[YI M&5-,X%]Z5U9$.;+&.$TFSCU(8]C8.M('8I17)CG^6WN-R7?SG"87@1L@CA,9 M<%.)P7OA!7Y2Q#ESXF.21L$C,EKF11[PA+KRT,GX8H&,8QQD\&PJ?L)=*XGX M8N](ZV7D!# X1R"1$6%,LY$[HQF3I0\PD*(3M4*W+5\MT+62QDON5<]IE?_ MF'D=4K? N64$HKR_5I$8&@07\>%V#H$E< ,!WJ0?5J"_6Y[K/I?E_HER$BR_ M< H[!(V=FKR&1%K/D(\ 3&<<@08M\#ZX5,UQ8 M]JEN ]@/ET,O((T23A"R:*_4:&CX[@_AYYL0;(N5 _2-V3OAQ7+MDP#2B^]< MYZ_ A*D7,76_#V"K8*:E-"K/W!'9HNIILHK+1[!.,W&M/I@;.(?7R(%]$^_K M*2I/ )6DC4/^_T[3C.-13Q#.>D MP7&<=@AW"]&RKI+*XF5G0^M7UGA9O-BA]18M3ZZ!LWC9F1BSUE@+\6+%6"O1 MLBZ1:?&R&[R<=:Y6%MU9O.P&+^NROQ8ON\'+H#.P>&DA7M:ES"U>;'#,HL6: M8RW'R[KR3XL7ZU5:M%@QUG*\6#'63KQ8,=9*M%@QUDZ\V.!8._%B@V/MQ(L- MCK43+S8XME&\/+,CV-I"OET?[UDHS3R< _]-#KQZ)E3T]+VSET[?ZUVU<2C8 ML\:CW=*1EE_X-,!/=!K@."8UOI18AB\FEF[G\J)UQ-)"N;-_D_:L.&Z'.+[L M7&VW65OCXOA7/)MEI;&5QE8:;^\PO/44K&K:CJ=PR(.6]2%B;KXQZ+JJ"X=5 M8)M38(=,43?W7GPGCG9^MQ7=[1#=[%4<,J-9T6U%MQ7=U@5Y*CL]BQ1.?I0= M,J@/2E)D7AQD;QL3+:UN2ESM1[>N-YV6+/V72I;+SO# !0NV-#H.M61I9P.T M,["TLPG:D;,V#YAV7C=$.&UO(KN; "+7*1TR_;PY6EMX$VV)K=%74=S=\\-F M'FOT6=JQ1E_;:,<:?=;HLT:?-?J>9?2]+-JY9S.J=0/<.[,!KK>T 6X#YO!> M06B+@YO;."?^6TCK=:.3K?KM!-!6IF'U+MWNU;#AB5B6#>O;9;:1RMK#AO4: M;N< V@X;GKGGO:8'TUDVK#_1WD8J:PD;\M'R-@)H*VS8=X>7@Z9GY>T5&VYB M?O;@J"7[>=.G$/:,GMY8'\]JM9T;E_6$LW, ;44$G77=RS-K7%HVM&RX2S8< MGKO=?M^RH65#Z^/MD@W=R_Z5]?&LC]>@C]>U/M[^G^<(5R>UZ4T0N2N(V0A/K9A7N MD>@<-*B*6U^9]F9=.=JW)!?;O/&F=[QNRMT^,<"%98!F7+XV;[SI':]K ;UY M!G@A")H&1-N+2C?E:UG4;ZD>M.71KI:[!UN,^+47"!NQ?[;;L,8Z -;^L0Q@ M'0#+ "UA .L 6 ?@V%%_2 X Y4N^S[U1)#: P3^*+ _',_XJC&$I^77OLMQ< MKR]WISZLV%MO^M3#78[X.A5Q!HOVDSB#KYUI&L(;83>8+IF*-$OB6$2G-*!% MX&G<+,^SF9Q'3&91LE,"&<$[QR'>>8ZHR0NX']PW23, M,KB*EI'EB?_E=.1E],SR$6I!SCA)G C]RI-I>44,E(V+R.@.>&@@$"YCD8K8%QH&"F;P M\/LP#4ZG7IK/'#]*BN!4/=NI ,S%AST(6,ZHR,)89/ &__^*D$?:J&L^W/(& MQYZ/)!D25@ E7A0E-DC*$Y?B2\%#GS_ET09M/(FUT3T4I*TIE>XASX M6PWNN>AG?A(EZ;7*=AO0DX#ID]BZ$Z<\N,@;P^NOO>C1FV6J.4&O./019,[@C("R@+.)]_74@)N4DJ>1&.?7\C;U'8GZ:WKLVOE) M$N-Y,KWN]SKG580/43@O8'PC$GE08N=/GG.?BO&?7WUW^]M-K0BCK%R^G4/"'#)+)2A?R%\M>?S&V&B=ONEN5MV @%N0NG_NM\Y MKT!-KH.=5DBI@/"%'_/DR;<-7$/' M!87 >T_"MX[GO 86T2M1"\1ND,O4X,0+8WA(*K(B(BTR3I.)MTW @ M\.650);P;^TU&*#%1@">1[X06D_Q@KCTD:!4!@ E6L ME\[TE?#DDY"!T5T"#-*KQ@+%5[5 +QV%A.@D7M"5;^G!ZLF#VB<;>@\7^>%V M#MPE* (![KD?5F"%+WB0S^_5/C\K1J#-885^#F0V%KA;?-')ZMO6V@$=Y_9> MT+42B,XC7.F@61""[D9+:IR)W!G-^#5]_9I S,,55Z5M!TG5!ER!=!-?" (" M3M6#!Z)>+@A(P-')A"B)-UDQ%@[.8#4DR+!SN2!!8AQ0\VP!\H2[5L@/UD*RH$'+F?Q*PF$2 MP5, *_0BZ?@F0(33:9+FABB0ZW3$&"1L+IMD@YM>Y$4J-H"%Q0H]TQ>@OD4O M5C3O)["%\-],[0"-]TB:J 4^Q+D7WX7H7KS/@*4R* M6BHO#]/9,;^[&;^\IG3 HF574[%7ES9;O.P&+^MJ3BU>=B7&^BN+X2U>=B;' M5E:E6[SL3(Y9?FDA7JPYUDJTK"LMLGC9#5[..MV5M6X6+[O!R[IZ+(N7W>!E M:-V75N)E71&;Q8LUQRQ:#'89K*Q[MGC9#5[..Q8M+40+2#$KQEJ(EQY575J\ MM TOYYVS*XN7]N'%6F.M1(L-CK43+S8XUDZ\V.!8._%B@V/MQ(L-CFT4+\]M MTKFNDF\70-CZP,ZM=-QI<@KE,Z&B1^*>O70D;N^JT]L"G6QR9NDMG?7ZA<]J M_$1G-1H;GWPDY#-\,?ET.^VCGI4@VHT@VK]YN%8^MT,^7VZ[?W#C\OE7/$IG MQ;,5SU8\[X:4#L%UV#V-'(VT^59?HCI'I#?]ZH 7'@:[&"/2N"[3A\"Y/]:@ MZZI&65:C;5&C'3*)W=Q[\9UHB* .6[%9/MNTWW'(C&9EN97E5I:WA:+VT$EY M%BF<_"C;MQ]3$F2TY 3@>N[ZWU:*U':SU:Z[&M%&6MQX;BK^7T ME.OO?%^(\;C%=2.+_7X]U>\W+/O]>@O]?AM08'L%IRV57&'KU!JX5.7. .1. MD!2(F&T)GF\AL->-CLT/>*"9N/=P_W MTK)JBJ"&W0;IB1W@/:.G-U:G;5RG8>>_-G)82W0:M>!K(WRV8E9>](:-LJ#E MP7H>M';E^OYQ;0305ICPZN+*ZD'KVUG?;G>F>/_\S/IVUK=KD* NK&]7F]C\ MGF9V[L7PZZ?G*(WQTWX29R&.+L8;YAY0WI>5#YL? PNDX9E#>OUD,@IC>D;6 M&XN2YN3#S%L3[QU8;WY)@:[;GEJZZ#;N; = MW=>0QC-,/ML)^;#18J<=MA,O=FIK._'2[_0MO[00+R#'++^T$"]V:FL[\6+- ML5:BQ0ZF:"=>[&"*=N+%#J9H)U[L8(IVXL4.IF@G7JPYUDJTV'&'[<3+>>=\ M9<,SBQK!AK)5IL<*R=>!EV!C8XUD*\V.!8 M._$RZ PL7EJ(%QLGME59VTEGYW:VL:F2G9JZ_-;<-FIK=],/G8LH!T+ MN(M3;4?#8-\R/:G7OE:3=FKK?HCGJT[[:,=*YW;/0VJEY[![&MD[8?/"[M%V M9JN=\]=:?6;G_%F]9OEL:U['(3.:E>5M\$T.F<*.7)0W-1^@#?[(D'3PYV8%:=J!60]1TO .U[/RL1@C(SL\Z MXKC&]K4[S6 Y8'9J=OJJI::5U'3PI&0-Q2V1TAGU7SID:K*&XD8-12Z*/V0" MVB]#LA'KR">_ Z)Z%JOQM7V^_:$01VQ.,3R>OHYZP^$V++ MQ\NY9[U>@TWC.5AMV;"^5V<;J:P];+B'DU:;8L.^V^U=-LJ&5AG6.X^GR?E.!S*/Q^HT.^=QJSJ-&^>U$4!;&??LGE\V.4'< MCCQNC@MA)Y8+K7^W8R[DMF5M!-!69AZ#*K3^7:/^G4QA M'BM!]2ZL?U>7WMRC>:M/S52Z2\:MANI^OI@>,TY2 :MU_")-1>S/G#SUXLSS M:22K^.K3&2/GS@OCC!D2;XJ2+!-9I_E9JZT GQ,(/Q5>)@+G-1"/ UN)$!H M*@?N@O^P']0DH88C@AJ.Z,-^SJ#K.E@DY^)W%% M13SV'I*4AKZ.H\+/"YYWBT> %C"HL99Z^1R6S*YO1F\[/Q)>BEQ__RX(LVGD MS:Z)*R2LM6@D%H2_57^]B\[5='Y K/'8RK-.?1%%[U:5#S3;/F]IK4A_J*2' MIIMA?[$G'O[['Y4&@%K&%Y_[46/WBQ3 MM7V]SMFY*JBYUBH&(>Q<=KI7;QSZ",(+0R:O:G"&4WP-N%4&^)#3W.--,X9F,4<\2$B0$V5, ;;E:"=GRRRI*%D#- M/P+Y^R=XA?.?P/-XY]LY),PAL]2F\H7\U9+';XR-UDGD[L8$,OQ1"N2+!8$< M8P.H9\OC)]Q5)X[O 0-PQ;PNY0'E@")GG":3A:M(%-,^,R\2V6D^FPHGPCUM M0HT:7+&!D>6TWUOOJQI5OHFYY";/>46>5!F.OMGRZ/+^A>T_NY9$GA$]L>, M#ALM/3KI:O'2-KS8T>7MQ$N_T[>CF%N(%ZY*MGAI&U[LZ/)VXL6:8ZU$BYW. MU$Z\V"%S[<2+G<[43KS8T>7MQ(N=SM1.O%ASK)5HZ74&5NVW$"]V='D[\0)B MS,JQ%N*%CW18O+0-+]:M;"=>K#G62K38Z%@[\<*'O"U>VH87&QUK)UYL=*R= M>+'1L8WBY9E]ZM:6\MG9Y0?0Z-+.+G]G9Y;J'38UV5&5 M=J;Y-Q'0?HVJM#/-]UH>7QX\.S4[T]R2TSIR.G#U;HW%[5'3>:9PM#E.UX'SO+?/DL M\V%_V.PL\_J1U.VEIFVQH9UU9V>9+V/#<[?;/;?*T,ZZVS$7'OO$R;-&Y[[: M:7='/\W\HDFI?B#3[JQ6:WR.JP;1R<^K(IK\^ZOV[>*\_2E@=3A)ZV3:-<JWAX.'')(T"(#?A(!WCGN7@6'@N=VV#ZWC-84IO\;TLAT5Z M$R#)/". C(LHHK?L>/9Z][FH?A_/G R>'(Z!+>-< A7WGA2XK;Q(A0,<)WSL M7DN',E+ MD^^3J4CEQ'1$%(#VWL%.>EG'^:U<0/G:B3=S1L)XKT=K@Q>-X+,3%T0U\. Q MK":A8TM^5*" T+.*<7.2K#,G3G"J?%# ]FB$.Q(WO&Q:I+!&4XT<'OB2X MX%/PUTC"0L+-]3AA

@/6#L1 M%SSUCR(-LR#T"1HN/?5.)'<@#>]#G]A' I#@!L"ITBO?P419?X7C9!XM2<^OA$7B3QS8I+JO(&/9>#LL?%;BUK/#O\4& 0R!W_ Q[#<2# MB)+I!,B1K@= !V'.<, QT1K+3I1D!%:2 "A?"'U$"F(RC9*9P"'%B?]%+7#F M.A[@+P>4 ?O$DE8>P_Q>$0$L.L?MP5,-D>#Y!'5$&4@.H,!I!#_3\!9O0]V@->H)F P"7&,[\ERI-&[<'.3HVOF1-=Q M?%T94J_N&:]^^)_P_XHP0'3C/F^\*8ZE=CZ*#';GBTR7*.V!)".DU&D>1!1( M^2^((Y]WZ +)@F1"*9X!H>.>_2)-D7X](% @R BQ7/TE"IDU0B2U1[CQ=6\P M**>>5U7+Z[%:ZSBW_ J0>RY+/P$(>? B>"&\A939 M?9+FI[E()T"K#R++D"IL]ZYRMW]!R/.#S M%VZ0"]'"WUB1@RW6+=$"HFK*K!O- M.LX_!2B0*!2HS>X]UECB:YCE3!ZPA%11/ST,M&((TH.5&=B@&<^1-Q37([S( MR>"/;,QKE4^!G:2"X0=0QWOI5WDGO*V4P:XB3-9,P)"@]N#;),=A]6/ I[;;$)"9$#0.GM7K.^<^ M>01XI"YJ)MH-3GL/8[:S!* #M8,3CO%WN2\'S6Y<$JP9MT:Z,7$F0C!(HP0D M<LVB?M?5?$B\-B.4%"*M23*CLM M(3)-T7*9."=X*P*EWWV'SW)^YQ_HJ]Z[MT@SQFW%E&0G2)I2=,(K\2'S /89 MP/QF<"3OG80U.?!7#'9B^@4H41IBL)T'H&!0^[&X2_*0F!FT=9QYRMPJ[41P M3)+B[M[Y6 "']+JCL],>Z7BXB#@_#R?$%_A_X%#@&Y,/$^D&.#^".4=/$T]T MD/K=GGMVW@,1#():RK82-"0(#3@XP'/RS29<438 ;CU8E7>': A](L_7@V&G M/W! ]/#S68[ A7=WJ;@C;XD447G#>>=*H:#C?(CY=[>R!'-U5X,+]ZRK5__, MU?7/.E?GSUE=?]@9Z.7M%W_=S@,%1'Z(JCF98SRI,LNOS]37:_D1O1;%@K4< M-NSN/X?=&J0(>R-?SB1)_+Z.'(<*\A7",7N7&QW:?="T*0:J[M\%80:KG%U3 M($>B7T?S2-G WZI+_$7G"L-DE1;NQF,KSSKU112]6U7HWFP3^*6G&OI#%?#2 MM#P<+'9VQW__H]+&7D?H3OTD2M)K%=$TH"0W9TXY2[Y9)M<>]&C-\O4 M0;1>YTRW+;C645&$L'/9Z5Z]<>@CV'B87WQ5@[.)]_74@)N,$)Y&8IQ?R]O4 M=Q0'O:;'KFW6+S&>)]/K?J]S7D7X$&.5"QC?2#1R4&+G3YYSGXKQGU]]=_O; M3:W@(2,F3M*)%U6,&/D5B".R!,F" 5( 8U4SA6_AMC*\I#HCB?]DM ^8<) M>%=3=$^ $H-K<]OR*5+<<"+%Q\Y$TTQ9ZJA1DC0EX]]0S3V6!-,WH[@F17$^%6MA>R:-G9H#X["+:% M>.GU.Y=VLF4+$3.P$ZU;B1= M,XN7S>'EF:U*UKKYNP-";6G(EH87[$T'W^>02F.C"P:#SK!_$%V0EI0?+0Y9 MV_@H@T.FN,TH\*,$RCKMN<] V4/5]0R9'3$O-]:&U8FEE3^/+PYBGLH227CMU8YE>IM[WY)0=D]&O M(C=K"*9I\A &7"-Y4F1TJN/M=<-^ZEX!: /=^.M;AK05!-OQG#CGN0.P-'*4 M=U$D-P>:P;(F/&TE&,LSV^.9W1SJ;CW/6#7#H:@] L$68U$'S#%[&)!:?82J MYHC?GF5-6LT0ZTIG=HW_!ML3K2VKVSRG#SIGS]G^LM8PEV[WZJ)I [.M- MH'DVV.Y(O$VQ0:_OGEWTK#;8M_QE*]A@ZUG);S/[5G06'U[4C-DX@LCE!^JJ ML5'3<(_@L44UN4=0V8!?WB5H9R6Q*#8%1BX4=!Q[;_)D;>MK8YI$&=39DFAZ $NVZ M5XU.-+ 1SJ-DAAV'.9MAAC/W[*+9(3O'KA?:'N7X:1EOP92\6_5@; M4;4)\8,.Q.PK'[IJZVL.!2\.UNP;1-LK5!N<''\NE8U1Z MXM.VC/&VPF.;>G_7HP!;4PWI>#+O=K3M!-?7^#NO%Q3O#<85,XHS6D,;;)F$9TJB&B M7H ;D7-^?6 ?#SR#.(E/R2D 8IK@%-/0OS<&\E8>%@B@,S_D<9\T0&^2 !/^ MV^/9KS1-Z'1$ WIP**&(,[Y4CF1U*]?C SV?!LYA3X<;S6%^G$NX&6IR,*@\"(U15(-0#7&ZI;H*R\Q)DONV3"K%8TX:@F5QF9>=GIZ M]I0:__'\(=(X]_'\)<\9\.@H-=):N[YK%S\2^:,0<65<"6XH2'$LK,$0\ MA\!1R%$D?#FY$4=;^8 X+,4J @VDHI/T_&/!/<-(G0R^1,G^RE_.'%FR!3OFJ(TO)@ M^2O,\LL%Z_+_?7=U?G'U;M[&G3-!%ZCHI4LV++=5\\/>^U)A@M87X0/1@Y(. M)$I?]\P9R:60#'B\K-+&J#59(AE2=R9'\%;D31$#(4 ,]-@ZT&0 W)7>Q'$E?)XR7"^_2_5JPFBU#'#M#_)Z*J1<&RD;E&9XT MQWENQ'B52RX[ERNX1%U+L^TCX@2#Z%W-1?+9^(3**E@'!&(LTI0M[TF894M) MOVH[2*V-P^[+EUH>L#RPE =^(WHGMW$5S?=ZA@VXFN;-9VU" =2LE61^YL$S M3_/95##;9=5+:]GLF4[H>@8TWSC'Z98-+1NNM\W ^ZLQS ;&#.@%[JORSPKW MT5*@I^4SW"^FC1-@O3D2R@$ KM ;YC" MFH\R*D(7>!%+9_%5I'Z8T$5,IE$R$\)93MUV8GC]Q/"AG1BN M'ZLED9T8OM<3PZTFVYHF^[Y%ZHNR5:66X.AZG;U>\56\4NE)+SLSHP"&*G1E MANBQC.K2U5+):254LPYK=K6!6%MJ=OVH CW*W:P:_OTRUK3.\%_C.+_#'UI$ MB5U+B*TBQ+\P^9!8%%_!6R2#71+0OTL"7;3_5P2&GD6AG>7466^ID3#31N*V MJV!>E(%?4@1S\G.&@\7'F;?BLB@8+,,22 .PARE(=DYB MXGF**?[&]-+K7-4(. , 29$Z/_[\P8?)>[E"^CY MHR(#J&09%\9E*G_!,2\^PR,KYEPFM4IBL8X%OI75^D;N<@.$MCWE*?4E\WG9 MZ&KO=:;BC7%-[R[6E[VN09K?4(UU]M*2O/V"[//4X((948N')?6T(#1*RT*7 M*IH")_>^BLR4(OB^[!YPX@"'YY%0\@>%$D60H"Q;%-",CVIL?T4_1%C2$@\OX(]R2JQ MUW=U/BQ^=]\(!5]%E. M5+ *A.&:E*F*O"$)X%G\+K!1@J49 3(6GUND]D@&]")X*7S OA5CK M'6;._Q:P"I$"J7\44S"#\' ,/Q$0J5[^K^NUG9X@J"@H*_CC9(BUVPXI9WD MQDXJ!>6RGILV7X+B!,O+!2P.^?A>I *\^?WA@]_&X]._>,#9OG ^W0N0$1KG M^\0)_P2L)NA6.??> Q;TD<@['$3%-9*"B;"J(MD#<31,0 M;?"]C!T@?2+)1 F%OI(T31XI8 :_!&*45Y!M,\[U&><#RSA[3AC\ M^=5G[]P;^Q?A^=7%Y^]WOCR<[\WZEY=7(POO+[WB@'!=WP Y34 MA842AIX+"@7^C.1?/[*L*5)Y4ZOU!^Z%=>R@XYA[(BUI[,K1V\*P!:G=7[ST M"XCECV'V98]4#1[SX7,VZ M(6P+U!)K.7Z>T0[3))KR[%'9GVOFJM:)Y? M- M+[:LP40!\,:R#MV?5?LR9AVG5'2RVA2-^\>8-)YT%2H'(6-44HGSR @/^2K^LB.5153I"B0$;/$X";RXBK,1-BBAP'KQTAM$MP"EY+6!9 M>?(2#J?&!7EI\'D,!EJ2MM %?8[1_4$1P$=LNHE\T%EO.CO,;N_)_U/;7WG' M8L#C2;?AL3(PI[C9D+O0'I< ROKG51U7/6'8[N0HI,\6Q?>906Z'L$$L@T)A&MYMJ172W50]X M!+M%&"<"]=XD2:!W#FM 7P:D39@ RSCWLRD6J)!]5SEO-7\S"Q1X$:@J9^0! M&.!!8:PJYG,ZJ-7&TIY(5 =OW"E@\"2 O3('WHX(, M"/B&-E4B$@"K2^VQ\!XDYT1)"3Q>7J!_2@?>2S22&V"@ D@I!.^-$(5P+9U) MI>41N1K/8X7\_0MSL6"H"W)2*H3.^B(!14B48&W?W:,N1CS,P""33/^ !!*2 MS!>29:4O1<0"@CI,BJQR!EO6L5>J",8"C&]Z%?!L@1'H*)R$.?,JWY^EL;&C3(V<.L_*8/CB>J(M=&-;$.! MC%.D58)Q*V=_B CYK -'0O%Z$EPQL1O %#QW/+5 M@3L,P'_B*PG::]$"8H_ M92&A(^]'1:!(X*@^2?1NW";B1[4T3E:<$O:9ABV*TK^)ZP?R0/C,@6[7RBAX1<"O0S3 M\%.QEB@-I.98? R8I:6*X-"% )=X*6&?)JQ/,Y+C6 U M])W/^X%($O>[GJW,,%@1GP\]7?6_TN3\XO_(&H[/S_L5H(5@PQ*!*FD09 MO.EWS-<$*$D^7_2OSKOG6XD2U'9^>E&88-AQU&X(G>5^&HX!;"C@\9.T.%CH MET&-+>UJDY;C;Z#!8 T>A\A=-H_X)!?&E,.I9^@ZQN8T!<:"'R+,"?H%2VE2 MWZFLO%&_ES*2^D6PNM\$ M_52#GB[LO7.,! T(!FW@O <%_+&(\#K*$0V\T][9B7C+?^*C>F=!Y:NEEG5( M$9*86U&4IKE?80);$M?SFYB8WA 3>"]@UAP&-'>#VH MN0.-1A>J5!&SL8$/"6-250P=0290*F3/,/3N9';%H=/7")I,:T^ (2E^,)G0 M72B/_U7P:"@PEY<%"@,^9L4$\_-8QLS%Q_AP^ -1),U)LK%4KRC* HW#TMA, M2P*1\;F)]BH^_73#W@(=7RPF!0?Y^'SY9%+$H(F-JK&2M:01D2: %C2WT,O! M@"*M!8NH81%\)B45=Z!2. 0AX54BPR:>GI!X.K>))YMX.K#$4ZL-I)LRP?&! MW?I(V48.QE^=G[4&8C4(F]^=D?3\EJ84(&!]%U?2.74M_T(% =^$0*F#4P4! MLS]H?H]!X[4UBZ0A9:BN3)G(:+2+.I/UK)ZWK;[. MTPD&_F@TZ%]\[I^?^Y^'W7'W\^5H>/YY/+BXN!R<7P1GP47%T_G]_7_[X;=?/_]BWW(A>(&V%3X\('_3Y#LOW-H4XZQ M*TWPI9/7^Q_0]='O7(Z'WO?GJ[/^56\?-EYZ=[V.0]MPC'WLD0=4*:AS>KV7 MU=+=X*'BO,Q/H?0#0 A@&O&$VCAE+S99!N>4%7"F+5Z:E_C"B# W+3%7Q];" M\^#77N^S!_P-;!WXGSW_8OQY(,:#T6CH#\Z\BX4 1N\]1I-_YISMY[.KP>!L MS^CZ?8<"XH[+@S148 M)6EYC5?N0/T\GD]3*,QR)8D,@605#&T_4=9=PS_/*1RGBI:/94$/1LUNA7\? M@^=X-]NN8%BWKQ5RX0E'ME[]\*F8$F-2 <\TH%H!RME-17R: 9JQMC89YX^> MBO142+60C:WI>*G2,O!74/BJ=$.D#Y3K0UI$1L""B@ -Y$9''9TO4;U@0;= "20NZEG%" MLFBN\D*5JK!9DZF:#EKR"J*@!T136M#9$R5W M.#DT8]H1>G7JYZ4OFGA?@%C1H<*X#7X#%)5D62@)$2RZ\ [UYT,1Q2!&=:=N M%+%%XT&?]$U8*?SWKG9X/+/4LB]3N.N2/G MDSH"RYL"=]DW3\C^G8\J29]DKXRW:K2!#UN99\ J88,P#9S_8[,.]TN&SPM; MP?,:,$@H X08 ?,YQ%:-2"[&L+H+<<0\56]5\67>^M.&- [[G:N5,Z",^)KQ M? Q68*&>FLRD_J8).]<U#C.675J*EU^GW+%[:AY?+SIGEEQ;BQ8JQ5J*E M-^@,K1QK(6(LO[02+;W.V87%2POQTNU<75K$; PQU&"UVC/WFZ(O1S"!V\X@ M7QM3V'!I9SNA8NEBG>]\!"!8YZ9:SF@;62SDEK;#*NO\,TLH[2 4]98;V,$H M#>&I?Q/1 [5=P#=X<7:Z9$C \P#F)Q%^^>=7_5??H)7/6T=2STCIOL=3,%]# M+&;265EKI!X,)QVFD=IJ&%@JL":I-4GWCC.L2?HB^^$VR;W(^97:PE4-B,,D M$]5OQYJ3M>3 37RL)7G(+& M24L%UI*TEJ3E#&M)-F@Z8',='+^263/RZ,W( M?\CF=-:0/&0FL(:DI0)K2%I#TG*&-20;-!Y^EV0_[]>[$,1"+M:">1!!QG!2Q M;W.]UH3ZX>]J,J$UH8Z5"X[4A#JJBA=K17TSN:2A+YS?O? HZ,4:4D^CB>0N M]29'X8=9.^H%I/ R,TK.N) ='7O3KP[-T7/4?-^=DLAS8$+CJ?>).9I+;RAV M6?RW<1-LU^32)-!.:&Q64F1>'&1O]\PXWQ7U-&6<[1DA/4\2\3E)*XPV)HS8 MF-LS&K+"J'W"2-J"1T1)+S03/?_+79H4<7#]G>\+,1ZWV'GXKR*:.3S_=HBC MXI/B[MZA+^54W&'#_+5'T-GFD=X=@,5@))JT9\)IT#E[#J3,W4U304WRX19' M3JP_-A+:5LO7;RG*:ST032GUNNEZ/,MN!\1NNPF/6A(Z2!+:0$:.)@/M%0@: ME+=R_LYA%_<%5F^X";(KS?D*+05'(?4Z&=O%4J[B&,? M[/UV06RCQKWEFKW@FH.O:K#$T6:#O+W[;=[Z/@"B;]34WBMG[).8YH*.*L\; MX/H7YI!!U^4/-FR_P[!]B_)C^Z6 6D]B^V#FMQZ(-JQOV:V=$GUI6-]*],,G M,1OVMV%_&_:ODH/LN7D448:M.@T5?3( ?1(DQ2@25J'L%_7L@S_0+HC9L+_E MFAV9]5;F6NHYM%3!=D"P^Q3"QH!"%OOWN0>"8 /[^*/(\G \XZ_"&):27_L1=]G0X\])^QNR!\4/_"/^KQ?B2\%#%^_RX(LVGDS:YI\W-O&A!1PM_W M?%JK=]&Y0KDCZ:'[!I=M/+;RK%-?1-&[58Z/>L*&SX/TAXIT--T,+Q:@0__^ MA[F;TF<]]9,H2:^5BC"@)P'3)VZX$Z>C5'A?3KTQO/[:BQZ]6:9,DYYQ:.9: MJQF$L'/9Z5Z]<>@C,-G@C("R@+.)]_74@)MDOM-(C/-K>9OZCACGFA[[;IID M81XFP$TB\O+P0UC(&?03JE$R_Z_^U=:W/:R!+]*U-4W5O.7J-(0@+)SKJ*@$E(,]UG>GIZ@_2&9WOLF-JI*@)7)GFC/3O5-K.VY"\M6"%Z8=A9%C_5DPE%*WI&F*;(B2 M58:_%,7 NFX;NJ94B*CJA$AF(5%-(Y?M A9AS M"TEH2/ 0I3R^Z7GPD.U'MBUT!B#4[&VPM93*,EX6%5 J$Z)"H40J-!5KLOMT MSUQ ,E%J^1X1LL;]55HIKM/(S1W5&*JF)MJD"P"U9<"K@I6*H=NF8IAJN61J M:PJ5Y%/1(T/9MZ)FJK#447 M9?W 3*/D3QM=!YBZ5U0- M NS=DWY"&O9WS&T.Y^V%D381I@Y.%O0+,$+?8QP 0T8$KK6FV4O 9/$IE/T MSAD"F?-:<1]>;B*3LKAAU*:D$)Z3#"0)_M&KC6O?T(V2F/SQ=^GKX\UM(^[= ME.\L4I4?1LVH5BV@!+=_%IPA184/;,^SL1N2 O)P'Y1!3.NL';M$$KNJ!"!@ M4"%6P\7W!3::6S@(C-M&C]S<7=[_]?"_+U?MNT;OHS7L/18NH*WDW=M9GH01FV M8Y(@1 XS!M"#<4AEI3V+,P,LR@\PS.)2LGB^^[Z]#OI>-*N+DBZ*_1_Z0^VF MV&U:8HO\W>A] UW0&Q&]LRBA:&PD\-1(S&J("2F=4P7L5-Z9_G]2Y _?N_?? M.A]^#L11[7-T]Z$>B3=BE:&YN*;8IZG$=7\(MQ!D$1LXC05X06UR M'[L))#K%SZ>(NABDB)J0<;3-5OWR-N=(#?NQ^;YY;!WWF[K=[?UO64"7PQX8]XQ/8D&62:PB M"6N;ONOB04C.T@_9IM*Y_7C*22>N9C(S/D^"-2X>^7%TAN/(GTPB)4'3V#PR M"M+WI%/61);5UK=U05JXA0FI0AJ=89]F9L&9U_GP"MOU'U/7EO[-HMYG2=SE M$;2P-. Q]IBY^3/NAKX;1[/SYUQ\:*7@*;M=E01]8;&\HY2X+(@+BX<>I<"J MH.N_E<"ZH!Q1#Z]>!(D]JL*BJ\D'_]HPZVH%&)L:BM)*QD"5!6;A6_'+:29<')MG)JX JGPTA"S)= M6EV4U#RKY3R3G0VXF'XP\&%V [R_.P+>;Y. >.9\@<<7-L4[&)Y%!4S(6%7% MLJ"K*X$RN^@TM^ D/HG:;%*MS?[;>FBO;?B/ROP=A*O8KX$^GI:R8?VKZ]YU M@[<72Z]*CF)=LPCL+GW27G8&JI/0#)Q!+DK_@K.Y@U%E412TB656!%5=KM*& M'_0WPN.:$\3#T6%)**4J5,$9KZ!"L+[>/:H#%]A$D^O./ ]&DQL,[,WM8^47 M6> 'K<4%;.M7VNQ Y]? _^'0I;R/0/(?G:BW M[BD;D3\XU.EW21)$:871.!5Q[Z?/.'U?,21F$6X+L!F=D<0&G6<;\>_OL1^= M+VU*L*.[2S, :[18;.B9= MEZ3+EH/ \4QG@%U$AL2,:00J7>9$@S@(8^Q%*/+1Y=#LT14P5#4C1%?(PF1] M1BKAHJ2G=$D,)\NON8=UB$G;D-;LD-/&='#0Q1X)BU=# MEXS8J^ 7611E82Z+<47([8;1[)J MO$47RROPEC]XZ(;S%LY;]DX_G+=LGD_$JS=F:RNPHFL.IS/'X(DYE M.)7A5(93&4YE-I13.K*8S#4X8MMW7?^1+L=,UVG""$=)A0ID!WZ?.>R:WP< MCUCMQ\IYB+XE-19>H@C?W\./P-.Z+K0S*:D M2&$O<#S3C=D>?(M$V''A0K@^%#C_XOR+\Z_]T _G7YQ__>[\2SDJ_E6C&];1 M5WQ/$I?>I.K )DL/KN,()[L(3J;L")QWAATQSTW+K."T_,UX'T?*P:0WW(%S M!\X=^)[HASMP[L!?'HBY6O.9&B<;RR9G"U1G*J5D2TR#PDE_:;WH58J?9\J[ MS#^.5A$7A3*9U,)0!7%2])S62)RH&-%*8TA$XOE,S9;5RII-ZJ@7EK$IVL4, M>@O/-=#R 'P^P#W1)XZ\+,#C9]QL-49!QH_XR!OL?D9!Z][QD'AQ4XTJ*B27E)%R="P5#*4;J5B MZ%U--;2NU25ZV>I6RFKA(E/UL]/\T*I>W[0O.X8BE[7R"Q< 73A.4R1L6!%T M*L8SEZ9>;(1G&E6X^)K)'J"K!P'Y'CO!-#3.L@$3!S3<'G4MBU:6$I M^B"P7B087T"KE)/8@YO8\X!E]/P 6F^];'7ZI81RB5HWYY3/508V:Q!8%=B< M-6#?Y$;P_ !F*EE83%;\UU*NEB^@ D;D%8Z;6KF'GCW-/W\&K"[HKWI*XYJ& MYVN]@3I77VZNFU>MSBEJMFK"NC4>CJEW5Y"P))07SG&/0D"E_,H'BSZCA!RM M'*V'(^&!H[5P04M_G:&6_R/)*ZDD:27' =7"Q?O1V7:@S-=ED@;#A469=B[K MV_ M^G3UL84^"^AS\WVUW:RVC@VOW+IN"60:9]EK%'_R>QY#L-/%@8,]CF". MX#WC![2H'J&'EGE) F"MYQ ;74ZJDUTEM3DX&(Y8C=L\0 M^QO-Q3A:.5H/!ZT\W#]Q&#GV*)<8QQ+N5VKYY+I-$N->19:5.X&+\CKIJERC M+VA)#KQ1?*/(TQM%].??*)+-)AYOW,CE$R?[-C+[,DJ)>Y_=7O+#=ZP%NTNF M^\:ZOC6"__6BOGOQ?U!+ P04 " #3@F=9)[_#V;,( L. &0 '!D M9G,M,C R-# Y,S!X97@S,60P,2YH=&WM6U%SVS82_BLX=7JQ9R11DNW$I1S- M)+8S];5)W%29FWL$R:6(,TFP "A9]^N["Y R92F)='$=*Y4?9!%<+!;8C]_N M0N#9/SJ=RSSA>0@1^WG\]E<6R;#,(#ZU$ M- '&^KWN\VY_<-+M=3JC,]1U7G62N<_Z?>^%-^@-CEGOQ!_T_%Z/7;]E!Q_' MYX=6^N+]^?@_UY=NV.N/KW^].F>MCN?]^^C<\R[&%^[&<;?79V/%_R78NU$F,*W_-FLUEW=M25:N*-/WB)R=)C+Y520S=4Y0PPJ0P.O/J_TXVD-%\=!:)*=-FGL++5L;51.0=(PO_ MJ%>8(?;T\/8]F=O.3$0F\?N]WH_#@D>1R">=%&+CGW1/3^^:E)@DBS;IIN8K M2+D14R#=#:UA"ESY@33)\/X ZWH6=;]8YJ83\TRD<__96&2@V3N8L0\RX_FS MMFO!_QJ4B)\-K;06_P-4C=,S<&LZ/!435$ZV#MW\_6KJ)+TTS@SLC *91L.I MT"(0J3!S/Q%1!#GV^.T?#,(VE<$CVKFRH$U3O]6"AL@#H+:Q],E@X7LS?2L9N%H$@3,PDW_E.S M^5LOKVT2.0YL_/[I=M!HC?I==L42/@6F8"I@AEF#281F?Y1<(?[3.;874AG, M)=@;J3),-CJ_,1FSZXLW['>9EA3Y=)M=Y6'WR<%IMUTSZ++77-LTCF5S=I/+ M60J8\+6=ARJ_1!*MS"5FBJB!BYSQ?,[*W*@24#>F@3:-1(=QEN$5/E IBWF( M38K)#,.LD4YN12"'$+3F:DXB&;\!'+>A4V-;A,;@D"G1'HU! J%0F+NB&&:S M&BV)0+%9(L*$Z9(^[OK/0$&EA":0"8TY%B5F+MM5H L(K8&DMT#39(33G&*W MB 7SYC+LH?>@T#OZ#/2 Q2)'YQ).[IS91MRA.-Y6C?LBCY$S.'$$?@_3,D*= M")B&Y]H(-D$\4Z"_":H$82QN%EBL8*#O#8UPCVS:W2:),D4!!*!$E-CAM+4G MY#IA<2IGND:G@HG0!@L9PS@U.KO1RG8#9+HV9L7:/%&?'739><@J9WG\Q MU!62JL!/E"#C6.#E@3ZT'KMB7('%!OI:!"F0#QD@((-4Z(1ZD%B&C$BL2->1 MT&$J=8G]B"N53!U("B6Q[L9FS0X0$Q$@R)SC+V^Q3LVQQ'Z%-/2A3%&B?\0[ M_9,#<%;T3R)WY2X%I8RY R?I9\15#1>*9P&@]ZN17(24I4(%2#^T9$1J M* 6YU4-9[QT=-BG5;3@@G*H0>0>)=D6W=%,@-:(M6J8BLMM"N@RTB 0FUS0! MX0*Y)?F<-)6:@JM] +6-Q)8"I08TR"#E4J<"LT,1EBDGYL9I62/N@C3V<"&_ MF:G@MP!($,D5^T/TY#"P6W -[L-U8_I90>WFQ+4Q>!'P4Q$1)KF6.2>&YAKQ M3&DA 96KJ 8-PEAPM^X4IM<-2X^0Q9>%CD/_DF@CK;2!X+::4%&J J&K;5H1 MAE)%U@";8$X@QVPA103C'2CHT2 13)X=2O$1$@5R\9-S_F[A-#QDEU.>EI9[ MR(D0QYC0B2DNOUZ3F"UR@ VXU%VNS]4L++$C\J!V&6$@2_-I"S9A>[Z0!DIW MXR]7)BRH$VG[I(%;";1G2,J?FKMV"UD1,J!SVJKSJ0RNDBI[9RW"MN ]"L(R M#$M%+FY$O#5:,ZD-MM,.(NK2(2JJME/8P2>ZQ(A59*1[TI7A6,6 K>"IN,_+ MA5V'SJJ$ZT5Z0%QFL0V1)7F['A4!S[%.OX&T*N?OR;>_>HGV>'[P\NCD*\HC MNZ<7U4]'^XZ&B!6;"+UC),+8%CG$2M*YL(YCXFFDTHNP;1M0998)8\"">4VW M0&)20/(8:173?2-_RGUK1\\^*,4:+I]R,H\M$7_X;X"^MH*Z%6* MR11J$(@GJBVI2@T%H/>K<+NH1&; ;RA^NN3*1E";%MJ=Q7H?9BM,546#J^S7 ML!:/L*.&!6E]$G]5,HE=$$B8\[5=$-<8P769X9K@M.UDJF"Q=L=J3V@/4:*\ MPC@<*R2 -GH7+&TA/NQ^;P6DM@MC(I_*= H4RW(^J;:M5<5TD!6IG />G272 M<1M?@BG"ZD$"??>IK>(..7Q#4^UY#6,KPDI3@(\HJ$XHTY07&OSZ2].\YSA MXGY?I?,7Y$=$2&6>.]S!2R/K!G>TP[8L'0"A>2P?_Z"6QFF.%K/S?]ER/P#3 MT115VUF-WW=K8:*Z?4IQ&!.W:NF,+"J-QS]U3XY_;*YA-;;?ZP[<,](\8]+0 M3_BDC>MZ)>OKSDSQP@^0'F\Z,URV+YY;6=SG@::?ZV!(AV?N3[H^1E-]FFBC MZ0VZ/WV_DSM^L;N^\XPBW#X81A_]S (11_]Y;^@^F^SQ<-A\"I39&KV>^__/ M]"IT5LP92&-DAN"[97:;E_W0LW^[L #.Q9[V5@Y^K*S+'M:/!NM'F)0#[5H\ M$\U]$S!O->T]7O]6>-TN-?@KIB4^?_S0WO2%07-#%+]66([3SI.M=,\3 3&[ MO(6PI$R#O7<;1F>>V -V#]@G =B#ZB\\B%NC"V[ 9^^PPLT"4.Q%F]&K1GL$_YT0[-F]O'K_X:^> MP:;F-;9$DL4&7L##FXF291[19J-4?EU:--[N6KY1;>L,T)!4Y-"IKNMBI/E6 MV=+.XU+3XG6U@D^@XS: >&Q ^7PJ153AX_2T.[@K@5Q;SV[ON-?@['MUHS\! M4$L#!!0 ( -."9UG(G4ZKXP@ ',] 9 <&1F#,Q9# R+FAT;>U;;7/;. [^*SQW=IO,V):=ES:54\^D>9G+S+;-9=V[N8^4 M!%F\2**6I.QX?_T!I.S(B=O:FV1KI\X'.Z) $B >/0 H^O@?K=9YGO \A(C] M<_#Q-Q;)L,P@-RQ4P VVCH5)V$ 6!<_91U!*I"G[H$0T!,:ZG?:;=G?OL-UI MM?K'.-9IU4GF/NMVO;?>7F?O@'4._>X[__ =N_K(=KX,3G>M]-GGT\%_K\[= MM%=?/OQV>>M[YIP9K),84ON>- MQ^/V>+\MU= ;7'N)R=(#+Y520SLR4:-_3"WX"3SJ'V=@. L3KC28]XTO@XO6 M$4H885+H'WO3;R<;R&C2/X[$B&DS2>%](^-J*/*6D86_WRE,#WMZ>/N>S&UK M+"*3^-U.YY=>P:-(Y,-6"K'Q#]M'1W=-2@R369MTIOD*4F[$"&CLVJAA"ESY M@31)[_X$BWH6TWZQS$TKYIE()_[K@\Y^OS*=I.?F&8.U*)!IU!L)+0*1"C/Q$Q%%D&./ M7U\=[77V>\<>2>/2%7^3HL'<)%6W]B'>?*!VHW]^FZ#BANUWVYV]8R_X&_5\ ML*!U57_4@H;( Z!6T71ML+!0]97 <'I^/;B\N#P]&5Q^_O3[\Z%A]47^46OZ MOU(;$4]64;71OVRRDRC'V''-_^1-%H*B,9A)N/'73=L?O;"V2>0XL?&[1\5* M'-'H=]OLDB5\!$S!2, 8P[!)A&9_E%PAPM()MA=2&0S.[$*J#*-WZU],QNSJ M[(+]+M.20HENLLL\;*\=D#;;-7MM]H%KFQ>Q;,)NAPSC+\$H)GK*8A]BDF,PP;AGIY!X(Y!"" MUEQ-2"3C-X#SUL;4V!:A,CAE2A1(V3RV21)EB@((0(DHL=-IJT_(=<+B5([U%)T*AD(; MK P,X]3H]$8MFS60Z:DR#[3=XNQ)<7;09H,YIY#JW;<]72&I"OQ$"3*.!5[N MZ%WKL4O&%5ALH*]%D +YD $",DB%3J@'B67(B,2*=!T)':92E]B/N%+)U(&D M4!(+66S6; LR18GN/F]U#W? :=$]C-R5NQ24 ME.4.G#0^(ZZJ8=9AB'19>J)X;J(8)R([[R,9)2B&;W.CQR2=.WR7G8'&_N@4 M&ZN^CY@FA=&0EWKY+A3/ D#O5S.Y""E+A0,@_="2$:FA%.1V',IZ[^BP3JFN M@D!/Q(1(1)KF7.B:&Y1CQ36DA Y2J:@@9A++A; M=PK3BZ:E1\CBRT+'H7].M)96VD!P6QE4E*I Z&J;5H2A5)%5P":80\@Q6T@1 MP7@'"GHT2 239X=2?(1$@5R\=L[?+)R&N^Q\Q-/2<@\Y$>(8$SHQPN77"Q*S M60ZP!)>ZR\6YFH4E=D0>U"XC#&1IOJ[!,FS/9]) Z6[\_G1X.OFKLU"5H0,Z)SVT/E4!E=)E;VS$&$K\!X%81F&I2(7UR+>@E$SJ0VV MTQX=CJ5#'*C:3F$[7^D2(U:1D>Y)5XIC%0.V@J?B/B]G>NTZK1*N9^D!<9G% M-D26Y.UZ5 0\P3K]!M*JG+\GWWST$FWQ_.3ET>$CRB.[IQ=-GX[F'0T1*]81 M>L=(A+$5=,.XZ)IY%*S\*V;< ALTP8 Q;,"[H%$I,"NA<)U,T.L(,8 M1GK51-_X3:GO],&#/TJ!JMN'K,Q#6_3O;BN@QU9 )RDF4SB"0#Q1;4E5:B@ MO5^%VUDE,@9^0_'3)5"DA-%\9$/I+I""B6Y7Q8;5NKBND@*U(Y ;P[3J3C-CX'4X35DP3Z]KJM MX@8Y?$E5[0$(8RO":J0 'U%0K5"F*2\T^--_ZNJ]P0D2]ZZ5#C20'Q$AE7KN MM 0OC9PVN+,2MF7N1 79,7^>@EIJQR,:S-K_ON%>L=)9#S75LYJ_Z];"1-/V M$<5A3-RJI3.RJ$8\>-<^//BEOH;5W'ZGO8=+QF9?![.+>P[JZ MT^O66/'"#Y R;UIC7,KO'@Z9W>>!IE=XT*,3*O<78GI6I?HTT5(F[[7?_5P& M'[Q]63[VC"+,/RN^GX:M5HI%O[[JONGTW&>=C9X7U^M RXW^AXG_5TRND%VQ M).0WRB@'WH6X)EI< =0_ MR.PM4M+;)P/M35\85#9\8*/X2U2\YB:>WT)84B["_BU"8%<*M*"MKR:[ ML)46S-N]\V8%GU:IO9R>RU3<## MFZ'"!"BB5TQ2^=--GMJ/9.=O5!OR>ZA(*G)H5=?3;:'ZCW/GWC?--&5X,S)D,#$N:'1M M[5I[4]LX$/\J>^E<"S/Q*PDT=7*9"4F8$QX0$-X[;U["Z$(YC/*%022$H74 M!5,Q>")-"8=W5$J6)' D63BE (YM'II.X\"T#:/715Z#P=Z%-]C/9P_' ^_#V:C8]NSBZ.W) &J&9?W5'%C6T!L6 RW3 M=L"3A&=,,<%)8EFCTQK48J52U[(6BX6Y:)I"3BWOW(K5+&E9B1 9-4,5UGI= M3<$K)6&O.Z.*0! 3F5'U1^W".S;:.$,QE=!>UZKNQ5Q?A,M>-V27D*EE0O^H MS8B<,FXHD;I-.U4=7&GA\+4Y5\:"A2IV'=O^O9.2,&1\:B0T4NZ!V6Y_)DDV MC54/">4IZ]L8^ M"YIKY(LD[%RRC/DL86KIQBP,*<<5SY^U&W:ST[7T;#1=^H,$]3@#] >>'FG8=F-[:OPS MSQ2+E@6)<3Q3RG7:Z0Z$P>^7O-8[X1 (SFF@W]5%/J5B"N_G1*)SDR6RHN"U8O"T[/GSF'=F==P$*52C[4H Y_BIC#&Q/>,)]( M1G@=SB3-F#9EOM<@9C3"'5$"GBZ].K2?H\E/PG1/J$T\P87R5T"?T@=X0^#W4<)ZJN MU\V6\)&+!9IL2MT? KA'<3+VG'WPT ?E 8CF"9Z& !V>:""NP"GIISF35)/+2LYR_P*[7156]$O]<@E(4AH.R_R28^N5V<(B?LR-OM"*3%#A%X!HHF%\,S.?WY9D["OU;GYD,L4,@AP MLI5978M]PXPW2I$;1KW/@_,0#\D.Z53 _8LG04?1.QR#GZ+T$U0?#U1OGXAL M2ZF[A-JO=F_R(/Q0,'K+:FAW 7O/"NX">LONXH/"Z5,LW54T[J62\8"E) &Z M:H"+ J+[#PJC3[%T-]#[%0UO O@N.N\X?FN](5'4O?$OL"?P/AKP6GG'NVJT M;5O^VXJWUON+5VUNGP0?IU+,>:A;\D*Z59&[]C'9YD#9OVR@( GCU"B?J[)X M_2.VC?[\!FGU=5Q*IM0H.ITD4E2ZY%*PL$1'NVTV6JMBO*#9>1^S^.HN_XRO M]Q]02P,$% @ TX)G694I-"_N!0 ]RH !D !P9&9S+3(P,C0P.3,P M>&5X,S)D,#(N:'1M[5IM<]HX$/XK>W2N36;P&Y"4&,H,(62:F32DX-Q=/PI; MQKH:R95%"/WUM_(+@:33)KTD#2E\ "RM5OOR:+V[=OL/P^CSB'"?!O#>^W * M@?!G4\H5^)(2A:-SIB+P1)(0#A^HE"R.X5"R8$(!'-O<-YW:GFD;1J>-O'K% M(L%=:]P]6-*I#L6*FK=W.!;*Y-R72BX M,D(R9?'"?>.Q*4WAC,YA**:$OZGF(_B;4LG"-ZV,.F5?*;)&]12]4@:)V029 M:UE;N?YNH;JF7MMG3C.-QB(.6I:EN:&DV7 M/)&@X[5-\F4.3MT2NM+I7T4HMH)ZS;1K;6O\A%+>,N>UH+_*F#[& "KO+N>S M0<'+$OP>^.WUA][)\4FOZYT,SC"@#D<7W3,/O,'C8?G_BNPTX<( M)K93W[.KSU?@[@BZ1X-SKW^T&08NS7I@[\/@&+SW?1AUAX?=L_[(&/QSVO\$ MW9ZG9VKV@\>\9QSB&,==E.LT[R-FI7/"P1><4U_?=//$2$44/LZ(1"_%"QC2 M1$@%(H3SHV,8B7BF*=,JG'#?A!U-K!6KV:V>F&)"MYNS6Q,P5Z64#S6H0C?@F ,.R5=2 M1;ZXCTXYX"_F4SB7-&7:IE4X9ERGD]GNO8C1L!AA)(9!&"*UU ;26Q5&J *. M*1;BGV0FTQE!%R@!*\&AL'@6'+3.)!")3C-7R4LB#?6"_XC(,>$T-097,5U MU\]Q7F"PN*ZZ0(^X#^I-H3Z=*O.P2/@ 1G;R?877KO&LE+%!O6NXOQC'43$GF!(QLBC".IXKQS/ZE,PG3H2W!$Z[]5M73!&M 7(9R MX:'&B00=F5:S5>'RL"/#("M/LE" 5+,X6E+9DJ4 WEAFXVL ME;]:B_7B5X^LU+(5R+3'71A+DLYB_US[+954(Y?ZMN&3^+"<%B;%QP; M!V8#*^L5"Q9[N[99V\O9K%38*_SQEBC#6,Q+2Y;7QER2Q!U+2CX;;@RB;JEG*:E/TX.=G">&K YF.EW-O]=@^G#0_/51O-(Y7+@_ MHUT!S2*8CX528HK(NP)$"0O@E9U]GK_Z5FJME!BW++%%\5.A^-%URC'Z3?CJ MD/9+L'L/I;<@_1U >K][_V,HQ;[7Y\NF7*906#][>/&#?DS;8B\'IW>L>#87 MM ^LX"8@^#O]PA>%W6V,W52$[B22(2X3!.9UETO#EOB^F'&%TKXHI&ZC[,O# ML,@CZNX6J%N@/B<-;V/U/CIO.'XKG2.BJ LW'\ANP?O;@-?*'LR4;=O'EO^N MXJUTDJ/ETY@Q\3]/)"8\@7YR)*1;=FE67E1,8 !$ ( ! M '!D9G,M,C R-# Y,S N>'-D4$L! A0#% @ TX)G66M,$KXG%0 73$! M !4 ( !_!, '!D9G,M,C R-# Y,S!?8V%L+GAM;%!+ 0(4 M Q0 ( -."9UD>7=Q;0# &8? P 5 " 58I !P9&9S M+3(P,C0P.3,P7V1E9BYX;6Q02P$"% ,4 " #3@F=9]\>.&UL4$L! A0# M% @ TX)G61E I<[.4 /;\% !4 ( !+=T '!D9G,M M,C R-# Y,S!?<')E+GAM;%!+ 0(4 Q0 ( -."9UD9;&'9P<<" -V=) 5 M " 2XN 0!P9&9S+3(P,C0P.3,P>#$P<2YH=&U02P$"% ,4 M " #3@F=9)[_#V;,( L. &0 @ $B]@, <&1F#,Q9# Q+FAT;5!+ 0(4 Q0 ( -."9UG(G4ZKXP@ ',] M 9 " 0S_ P!P9&9S+3(P,C0P.3,P>&5X,S%D,#(N:'1M M4$L! A0#% @ TX)G6;-Y?HC/!0 FR@ !D ( !)@@$ M '!D9G,M,C R-# Y,S!X97@S,F0P,2YH=&U02P$"% ,4 " #3@F=9E2DT M+^X% #W*@ &0 @ $L#@0 <&1F#,R =9# R+FAT;5!+!08 "@ * *H" !1% 0 ! end XML 82 pdfs-20240930x10q_htm.xml IDEA: XBRL DOCUMENT 0001120914 us-gaap:AccountsReceivableMember 2024-09-30 0001120914 us-gaap:AccountsReceivableMember 2023-12-31 0001120914 pdfs:StockRepurchaseProgram2024Member 2024-04-15 2024-04-15 0001120914 pdfs:StockRepurchaseProgram2022Member 2022-04-11 2022-04-11 0001120914 us-gaap:CommonStockMember 2024-04-01 2024-06-30 0001120914 us-gaap:CommonStockMember 2023-04-01 2023-06-30 0001120914 us-gaap:CommonStockMember 2024-07-01 2024-09-30 0001120914 us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001120914 us-gaap:CommonStockMember 2023-07-01 2023-09-30 0001120914 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001120914 us-gaap:RetainedEarningsMember 2024-09-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2024-09-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-09-30 0001120914 us-gaap:RetainedEarningsMember 2024-06-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2024-06-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-06-30 0001120914 2024-06-30 0001120914 us-gaap:RetainedEarningsMember 2024-03-31 0001120914 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-31 0001120914 2024-03-31 0001120914 us-gaap:RetainedEarningsMember 2023-12-31 0001120914 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001120914 us-gaap:RetainedEarningsMember 2023-09-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2023-09-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-09-30 0001120914 us-gaap:RetainedEarningsMember 2023-06-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-06-30 0001120914 2023-06-30 0001120914 us-gaap:RetainedEarningsMember 2023-03-31 0001120914 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0001120914 2023-03-31 0001120914 us-gaap:RetainedEarningsMember 2022-12-31 0001120914 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001120914 us-gaap:TreasuryStockCommonMember 2024-09-30 0001120914 us-gaap:CommonStockMember 2024-09-30 0001120914 us-gaap:TreasuryStockCommonMember 2024-06-30 0001120914 us-gaap:CommonStockMember 2024-06-30 0001120914 us-gaap:TreasuryStockCommonMember 2024-03-31 0001120914 us-gaap:CommonStockMember 2024-03-31 0001120914 us-gaap:TreasuryStockCommonMember 2023-12-31 0001120914 us-gaap:CommonStockMember 2023-12-31 0001120914 us-gaap:TreasuryStockCommonMember 2023-09-30 0001120914 us-gaap:CommonStockMember 2023-09-30 0001120914 us-gaap:TreasuryStockCommonMember 2023-06-30 0001120914 us-gaap:CommonStockMember 2023-06-30 0001120914 us-gaap:TreasuryStockCommonMember 2023-03-31 0001120914 us-gaap:CommonStockMember 2023-03-31 0001120914 us-gaap:TreasuryStockCommonMember 2022-12-31 0001120914 us-gaap:CommonStockMember 2022-12-31 0001120914 pdfs:EmployeeStockPurchasePlanMember 2023-12-31 0001120914 pdfs:IncentivePlanYear2011Member 2024-01-01 2024-09-30 0001120914 pdfs:IncentivePlanYear2011Member 2023-01-01 2023-09-30 0001120914 pdfs:EmployeeStockPurchasePlanMember 2023-01-01 2023-09-30 0001120914 pdfs:EmployeeStockPurchasePlanMember 2024-01-01 2024-09-30 0001120914 pdfs:EmployeeStockPurchasePlanMember 2024-09-30 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2023-12-31 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-09-30 0001120914 pdfs:AdvantestAmericaIncMember pdfs:SoftwareLicenseAndRelatedServicesAgreementMember 2024-09-30 2024-09-30 0001120914 pdfs:IntegratedYieldRampMember 2024-07-01 2024-09-30 0001120914 pdfs:AnalyticsMember 2024-07-01 2024-09-30 0001120914 pdfs:IntegratedYieldRampMember 2024-01-01 2024-09-30 0001120914 pdfs:AnalyticsMember 2024-01-01 2024-09-30 0001120914 pdfs:IntegratedYieldRampMember 2023-07-01 2023-09-30 0001120914 pdfs:AnalyticsMember 2023-07-01 2023-09-30 0001120914 pdfs:IntegratedYieldRampMember 2023-01-01 2023-09-30 0001120914 pdfs:AnalyticsMember 2023-01-01 2023-09-30 0001120914 pdfs:PurchaseObligationsMember 2024-09-30 0001120914 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2024-09-30 0001120914 us-gaap:LeaseholdImprovementsMember 2024-09-30 0001120914 us-gaap:FurnitureAndFixturesMember 2024-09-30 0001120914 us-gaap:ComputerEquipmentMember 2024-09-30 0001120914 pdfs:TestEquipmentMember 2024-09-30 0001120914 pdfs:LaboratoryAndTestEquipmentMember 2024-09-30 0001120914 pdfs:InProgressDfiSystemAssetsMember 2024-09-30 0001120914 pdfs:InProgressCvSystemAndOtherAssetsMember 2024-09-30 0001120914 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2023-12-31 0001120914 us-gaap:LeaseholdImprovementsMember 2023-12-31 0001120914 us-gaap:FurnitureAndFixturesMember 2023-12-31 0001120914 us-gaap:ComputerEquipmentMember 2023-12-31 0001120914 pdfs:TestEquipmentMember 2023-12-31 0001120914 pdfs:LaboratoryAndTestEquipmentMember 2023-12-31 0001120914 pdfs:InProgressDfiSystemAssetsMember 2023-12-31 0001120914 pdfs:InProgressCvSystemAndOtherAssetsMember 2023-12-31 0001120914 us-gaap:FairValueInputsLevel3Member 2024-09-30 0001120914 pdfs:RestOfTheWorldMember 2024-09-30 0001120914 country:US 2024-09-30 0001120914 pdfs:RestOfTheWorldMember 2023-12-31 0001120914 country:US 2023-12-31 0001120914 srt:AffiliatedEntityMember us-gaap:CollaborativeArrangementMember 2020-07-01 2020-07-31 0001120914 us-gaap:TrademarksAndTradeNamesMember 2024-09-30 0001120914 us-gaap:PatentsMember 2024-09-30 0001120914 us-gaap:NoncompeteAgreementsMember 2024-09-30 0001120914 us-gaap:DevelopedTechnologyRightsMember 2024-09-30 0001120914 us-gaap:CustomerRelationshipsMember 2024-09-30 0001120914 us-gaap:TrademarksAndTradeNamesMember 2023-12-31 0001120914 us-gaap:PatentsMember 2023-12-31 0001120914 us-gaap:NoncompeteAgreementsMember 2023-12-31 0001120914 us-gaap:DevelopedTechnologyRightsMember 2023-12-31 0001120914 us-gaap:CustomerRelationshipsMember 2023-12-31 0001120914 pdfs:PurchasePlanYear2021Member 2024-07-01 2024-09-30 0001120914 pdfs:PurchasePlanYear2021Member 2023-07-01 2023-09-30 0001120914 pdfs:PurchasePlanYear2021Member 2023-01-01 2023-09-30 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2024-01-01 2024-09-30 0001120914 pdfs:PurchasePlanYear2021Member 2024-01-01 2024-09-30 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2024-09-30 0001120914 pdfs:AdvantestAmericaIncMember pdfs:SoftwareLicenseAndRelatedServicesAgreementMember 2024-07-01 2024-09-30 0001120914 pdfs:AdvantestAmericaIncMember pdfs:SoftwareLicenseAndRelatedServicesAgreementMember 2024-01-01 2024-09-30 0001120914 pdfs:AdvantestAmericaIncMember pdfs:SoftwareLicenseAndRelatedServicesAgreementMember 2023-07-01 2023-09-30 0001120914 pdfs:AdvantestAmericaIncMember pdfs:SoftwareLicenseAndRelatedServicesAgreementMember 2023-01-01 2023-09-30 0001120914 pdfs:AnalyticsMember srt:AffiliatedEntityMember 2024-09-30 0001120914 pdfs:AnalyticsMember srt:AffiliatedEntityMember 2023-12-31 0001120914 us-gaap:NonUsMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-07-01 2024-09-30 0001120914 pdfs:RestOfTheWorldMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-07-01 2024-09-30 0001120914 pdfs:CustomerDMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-07-01 2024-09-30 0001120914 pdfs:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-07-01 2024-09-30 0001120914 country:US us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-07-01 2024-09-30 0001120914 country:TW us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-07-01 2024-09-30 0001120914 country:JP us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-07-01 2024-09-30 0001120914 country:CN us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-07-01 2024-09-30 0001120914 us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-07-01 2024-09-30 0001120914 us-gaap:NonUsMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-01-01 2024-09-30 0001120914 pdfs:RestOfTheWorldMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-01-01 2024-09-30 0001120914 pdfs:CustomerDMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-09-30 0001120914 pdfs:CustomerBMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-09-30 0001120914 pdfs:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-09-30 0001120914 pdfs:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-09-30 0001120914 country:US us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-01-01 2024-09-30 0001120914 country:TW us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-01-01 2024-09-30 0001120914 country:JP us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-01-01 2024-09-30 0001120914 country:CN us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-01-01 2024-09-30 0001120914 us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-01-01 2024-09-30 0001120914 us-gaap:NonUsMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-07-01 2023-09-30 0001120914 pdfs:RestOfTheWorldMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-07-01 2023-09-30 0001120914 pdfs:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-07-01 2023-09-30 0001120914 country:US us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-07-01 2023-09-30 0001120914 country:TW us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-07-01 2023-09-30 0001120914 country:JP us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-07-01 2023-09-30 0001120914 country:CN us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-07-01 2023-09-30 0001120914 us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-07-01 2023-09-30 0001120914 pdfs:CustomerDMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001120914 pdfs:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001120914 us-gaap:NonUsMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-01-01 2023-09-30 0001120914 pdfs:RestOfTheWorldMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-01-01 2023-09-30 0001120914 pdfs:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-09-30 0001120914 country:US us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-01-01 2023-09-30 0001120914 country:TW us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-01-01 2023-09-30 0001120914 country:JP us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-01-01 2023-09-30 0001120914 country:CN us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-01-01 2023-09-30 0001120914 us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-01-01 2023-09-30 0001120914 us-gaap:RetainedEarningsMember 2024-07-01 2024-09-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-07-01 2024-09-30 0001120914 us-gaap:RetainedEarningsMember 2024-04-01 2024-06-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-04-01 2024-06-30 0001120914 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-01 2024-03-31 0001120914 us-gaap:RetainedEarningsMember 2023-07-01 2023-09-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-01 2023-09-30 0001120914 us-gaap:RetainedEarningsMember 2023-04-01 2023-06-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-04-01 2023-06-30 0001120914 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0001120914 pdfs:PurchasePlanYear2021Member 2024-09-30 0001120914 2023-09-30 0001120914 2022-12-31 0001120914 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2024-09-30 0001120914 us-gaap:MoneyMarketFundsMember 2024-09-30 0001120914 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2023-12-31 0001120914 us-gaap:MoneyMarketFundsMember 2023-12-31 0001120914 us-gaap:OtherNoncurrentAssetsMember 2024-09-30 0001120914 us-gaap:OtherNoncurrentAssetsMember 2023-12-31 0001120914 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember 2024-09-30 0001120914 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember 2023-12-31 0001120914 us-gaap:FairValueInputsLevel1Member 2024-09-30 0001120914 us-gaap:FairValueInputsLevel1Member 2023-12-31 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2024-07-01 2024-09-30 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2024-01-01 2024-09-30 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2023-07-01 2023-09-30 0001120914 us-gaap:EmployeeStockOptionMember 2023-07-01 2023-09-30 0001120914 pdfs:EmployeeStockPlansMember 2023-07-01 2023-09-30 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-09-30 0001120914 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2024-07-01 2024-09-30 0001120914 us-gaap:ResearchAndDevelopmentExpenseMember 2024-07-01 2024-09-30 0001120914 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2024-01-01 2024-09-30 0001120914 us-gaap:ResearchAndDevelopmentExpenseMember 2024-01-01 2024-09-30 0001120914 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-07-01 2023-09-30 0001120914 us-gaap:ResearchAndDevelopmentExpenseMember 2023-07-01 2023-09-30 0001120914 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-01-01 2023-09-30 0001120914 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-09-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2024-07-01 2024-09-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2024-04-01 2024-06-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0001120914 us-gaap:AdditionalPaidInCapitalMember 2023-07-01 2023-09-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2023-04-01 2023-06-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001120914 us-gaap:TreasuryStockCommonMember 2024-07-01 2024-09-30 0001120914 us-gaap:TreasuryStockCommonMember 2024-04-01 2024-06-30 0001120914 2024-04-01 2024-06-30 0001120914 us-gaap:TreasuryStockCommonMember 2024-01-01 2024-03-31 0001120914 2024-01-01 2024-03-31 0001120914 us-gaap:TreasuryStockCommonMember 2023-07-01 2023-09-30 0001120914 us-gaap:TreasuryStockCommonMember 2023-04-01 2023-06-30 0001120914 2023-04-01 2023-06-30 0001120914 us-gaap:TreasuryStockCommonMember 2023-01-01 2023-03-31 0001120914 2023-01-01 2023-03-31 0001120914 pdfs:StockRepurchaseProgram2024Member 2024-04-15 0001120914 pdfs:StockRepurchaseProgram2022Member 2022-04-11 0001120914 pdfs:PurchaseObligationsMember 2024-01-01 2024-09-30 0001120914 pdfs:IndemnificationsMember 2024-01-01 2024-09-30 0001120914 srt:MaximumMember pdfs:ExpiredStockPlansMember 2011-11-16 0001120914 us-gaap:EmployeeStockOptionMember pdfs:IncentivePlanYear2011Member 2011-11-16 2011-11-16 0001120914 pdfs:StockRepurchaseProgram2022Member 2024-01-01 2024-09-30 0001120914 pdfs:StockRepurchaseProgram2022Member 2022-04-11 2024-09-30 0001120914 us-gaap:TransferredOverTimeMember 2024-07-01 2024-09-30 0001120914 us-gaap:TransferredAtPointInTimeMember 2024-07-01 2024-09-30 0001120914 us-gaap:TransferredOverTimeMember 2024-01-01 2024-09-30 0001120914 us-gaap:TransferredAtPointInTimeMember 2024-01-01 2024-09-30 0001120914 us-gaap:TransferredOverTimeMember 2023-07-01 2023-09-30 0001120914 us-gaap:TransferredAtPointInTimeMember 2023-07-01 2023-09-30 0001120914 us-gaap:TransferredOverTimeMember 2023-01-01 2023-09-30 0001120914 us-gaap:TransferredAtPointInTimeMember 2023-01-01 2023-09-30 0001120914 pdfs:PurchasePlanYear2021Member 2021-08-01 2024-09-30 0001120914 srt:MinimumMember 2024-01-01 2024-09-30 0001120914 pdfs:IncentivePlanYear2011Member 2024-09-30 0001120914 2024-09-30 0001120914 2023-12-31 0001120914 srt:MinimumMember us-gaap:TrademarksAndTradeNamesMember 2024-01-01 2024-09-30 0001120914 srt:MinimumMember us-gaap:PatentsMember 2024-01-01 2024-09-30 0001120914 srt:MinimumMember us-gaap:DevelopedTechnologyRightsMember 2024-01-01 2024-09-30 0001120914 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2024-01-01 2024-09-30 0001120914 srt:MaximumMember us-gaap:TrademarksAndTradeNamesMember 2024-01-01 2024-09-30 0001120914 srt:MaximumMember us-gaap:PatentsMember 2024-01-01 2024-09-30 0001120914 srt:MaximumMember us-gaap:DevelopedTechnologyRightsMember 2024-01-01 2024-09-30 0001120914 srt:MaximumMember us-gaap:CustomerRelationshipsMember 2024-01-01 2024-09-30 0001120914 us-gaap:NoncompeteAgreementsMember 2024-01-01 2024-09-30 0001120914 us-gaap:CostOfSalesMember 2024-07-01 2024-09-30 0001120914 us-gaap:CostOfSalesMember 2024-01-01 2024-09-30 0001120914 us-gaap:CostOfSalesMember 2023-07-01 2023-09-30 0001120914 us-gaap:CostOfSalesMember 2023-01-01 2023-09-30 0001120914 pdfs:CostsAndExpensesMember 2024-07-01 2024-09-30 0001120914 pdfs:CostsAndExpensesMember 2024-01-01 2024-09-30 0001120914 pdfs:CostsAndExpensesMember 2023-07-01 2023-09-30 0001120914 pdfs:CostsAndExpensesMember 2023-01-01 2023-09-30 0001120914 2024-07-01 2024-09-30 0001120914 2023-07-01 2023-09-30 0001120914 pdfs:AnalyticsMember srt:AffiliatedEntityMember 2024-07-01 2024-09-30 0001120914 pdfs:AnalyticsMember srt:AffiliatedEntityMember 2024-01-01 2024-09-30 0001120914 pdfs:AnalyticsMember srt:AffiliatedEntityMember 2023-07-01 2023-09-30 0001120914 pdfs:AnalyticsMember srt:AffiliatedEntityMember 2023-01-01 2023-09-30 0001120914 2023-01-01 2023-09-30 0001120914 2024-11-01 0001120914 2024-01-01 2024-09-30 shares iso4217:USD pure iso4217:USD shares 0001120914 --12-31 2024 Q3 0 0 890000 2 2 2 0 0 0 0 0 0 0 0.00 0.00 0 64200000 1 false 10-Q true 2024-09-30 false 000-31311 PDF SOLUTIONS, INC. DE 25-1701361 2858 De La Cruz Blvd. Santa Clara CA 95050 408 280-7900 Common Stock, $0.00015 par value PDFS NASDAQ Yes Yes Large Accelerated Filer false false false 38772864 96428000 98978000 23724000 36544000 890000 46668000 44904000 24575000 17422000 191395000 197848000 46019000 37338000 4360000 4926000 15011000 15029000 13133000 15620000 173000 157000 37260000 19218000 307351000 290136000 7504000 2561000 13191000 14800000 6510000 4633000 1706000 1529000 28728000 25750000 91000 1570000 57730000 50843000 2883000 2972000 3870000 4657000 2404000 2718000 66887000 61190000 0.00015 0.00015 5000000 5000000 0 0 0.00015 0.00015 70000000 70000000 50668000 49749000 38763000 38289000 6000 6000 496255000 473295000 11905000 11460000 159018000 143923000 -94527000 -98045000 -2252000 -2387000 240464000 228946000 307351000 290136000 44750000 39497000 121327000 112957000 1659000 2853000 8053000 11753000 46409000 42350000 129380000 124710000 12484000 14282000 38243000 38555000 13516000 13113000 39149000 38428000 18094000 15611000 50851000 46022000 196000 328000 714000 979000 1511000 2018000 4682000 4000000 3630000 1034000 5105000 4726000 1424000 6006000 1587000 2508000 2206000 -4972000 3518000 2218000 975000 -552000 123000 -679000 28000 -5000 12000 2000 1003000 -557000 135000 -677000 3209000 -5529000 3653000 1541000 0.06 -0.13 0.09 0.06 0.06 -0.13 0.09 0.06 38710000 38187000 38542000 37930000 39105000 38187000 39028000 38977000 38289000 6000 473295000 11460000 -143923000 -98045000 -2387000 228946000 -202000 202000 6899000 6899000 74000 1916000 1916000 1000 25000 25000 231000 118000 3794000 3794000 6154000 6154000 -393000 -542000 -935000 38393000 6000 481390000 11780000 -154616000 -98438000 -2929000 225413000 4000 67000 67000 34000 13000 468000 468000 5762000 5762000 1705000 -326000 1379000 38431000 6000 487219000 11793000 -155084000 -96733000 -3255000 232153000 82000 2157000 2157000 2000 22000 22000 248000 112000 3934000 3934000 6857000 6857000 2206000 1003000 3209000 38763000 6000 496255000 11905000 -159018000 -94527000 -2252000 240464000 37431000 6000 447415000 11182000 -133709000 -101150000 -2550000 210012000 98000 1663000 1663000 21000 345000 345000 286000 133000 4101000 4101000 4884000 4884000 355000 267000 622000 37836000 6000 454307000 11315000 -137810000 -100795000 -2283000 213425000 6000 87000 87000 37000 11000 468000 468000 4678000 4678000 6835000 -387000 6448000 37879000 6000 459072000 11326000 -138278000 -93960000 -2670000 224170000 125000 2169000 2169000 2000 37000 37000 260000 102000 4566000 4566000 -21000 21000 743000 743000 6026000 6026000 -4972000 -557000 -5529000 38245000 6000 467304000 11449000 -143587000 -98932000 -3227000 221564000 3518000 2218000 2895000 3778000 18540000 15561000 2466000 2659000 1941000 1494000 1239000 734000 488000 51000 -35000 43000 68000 55000 1743000 -1185000 8831000 7038000 1241000 904000 11478000 928000 2995000 -2697000 -1608000 -5342000 -16000 393000 2771000 3681000 -1479000 -1612000 -1285000 -888000 8097000 12571000 57125000 28800000 43054000 32250000 2000000 55000 105000 11573000 8574000 365000 343000 150000 1823000 188000 -14235000 114000 469000 4073000 3832000 8196000 9135000 6899000 743000 -10908000 -5577000 73000 -763000 -2550000 -8004000 98978000 119624000 96428000 111620000 2064000 3568000 1290000 1160000 4774000 697000 89000 66000 679000 4021000 6002000 233000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">1. BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Basis of Presentation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The interim unaudited condensed consolidated financial statements included herein have been prepared by PDF Solutions, Inc. (the “Company”) pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”), including the instructions to the Quarterly Report on Form 10-Q and Article 10 of Regulation S-X. Certain information and footnote disclosures normally included in annual consolidated financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been condensed or omitted. The interim unaudited condensed consolidated financial statements reflect, in the opinion of management, all adjustments necessary (consisting only of normal recurring adjustments) to present a fair statement of results for the interim periods presented. The operating results for any interim period are not necessarily indicative of the results that may be expected for other interim periods or the full fiscal year. The accompanying interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023, filed with the SEC on February 27, 2024.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The interim unaudited condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries after the elimination of all intercompany balances and transactions.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The accompanying interim unaudited condensed consolidated balance sheet as of December 31, 2023, has been derived from the audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Use of Estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates in these condensed consolidated financial statements include revenue recognition, the estimated useful lives of property and equipment and intangible assets, fair value of c</span><span style="font-size:11pt;">onvertible note receivable</span><span style="font-size:11pt;">, assumptions made in analysis of allowance for credit losses, impairment of goodwill and long-lived assets, realization of deferred tax assets (“DTAs”), and accounting for lease obligations, stock-based compensation expense, and income tax uncertainties and contingencies. Actual results could differ from those estimates and may result in material effects on the Company’s operating results and financial position.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Recent Accounting Standards</span><span style="display:inline-block;width:179.42pt;"></span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">In November 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which requires disclosure of incremental segment information on an annual and interim basis. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, and requires retrospective application to all prior periods presented in the financial statements. Early adoption is permitted. The Company is currently evaluating the impact of the new standard on the consolidated financial statements and related disclosures.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">In December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures. This ASU is intended to improve the transparency of income tax disclosures by requiring (1) consistent categories and greater disaggregation of information in the rate reconciliation and (2) income taxes paid disaggregated by jurisdiction. It also includes certain other amendments to improve the effectiveness of income tax disclosures. The ASU’s amendments are effective for public business entities for annual periods beginning after December 15, 2024. Entities are permitted to early adopt the standard for “annual financial statements that have not yet been issued or made available for issuance.” Adoption is either prospectively or retrospectively, the Company will adopt this ASU on a prospective basis. The Company is currently evaluating the impact of the new standard on the consolidated financial statements and related disclosures.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Management has reviewed other recently issued accounting pronouncements issued or proposed by the FASB and does not believe any of these accounting pronouncements has had or will have a material impact on the condensed unaudited consolidated financial statements.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Basis of Presentation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The interim unaudited condensed consolidated financial statements included herein have been prepared by PDF Solutions, Inc. (the “Company”) pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”), including the instructions to the Quarterly Report on Form 10-Q and Article 10 of Regulation S-X. Certain information and footnote disclosures normally included in annual consolidated financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been condensed or omitted. The interim unaudited condensed consolidated financial statements reflect, in the opinion of management, all adjustments necessary (consisting only of normal recurring adjustments) to present a fair statement of results for the interim periods presented. The operating results for any interim period are not necessarily indicative of the results that may be expected for other interim periods or the full fiscal year. The accompanying interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023, filed with the SEC on February 27, 2024.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The interim unaudited condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries after the elimination of all intercompany balances and transactions.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The accompanying interim unaudited condensed consolidated balance sheet as of December 31, 2023, has been derived from the audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Recent Accounting Standards</span><span style="display:inline-block;width:179.42pt;"></span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">In November 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which requires disclosure of incremental segment information on an annual and interim basis. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, and requires retrospective application to all prior periods presented in the financial statements. Early adoption is permitted. The Company is currently evaluating the impact of the new standard on the consolidated financial statements and related disclosures.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">In December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures. This ASU is intended to improve the transparency of income tax disclosures by requiring (1) consistent categories and greater disaggregation of information in the rate reconciliation and (2) income taxes paid disaggregated by jurisdiction. It also includes certain other amendments to improve the effectiveness of income tax disclosures. The ASU’s amendments are effective for public business entities for annual periods beginning after December 15, 2024. Entities are permitted to early adopt the standard for “annual financial statements that have not yet been issued or made available for issuance.” Adoption is either prospectively or retrospectively, the Company will adopt this ASU on a prospective basis. The Company is currently evaluating the impact of the new standard on the consolidated financial statements and related disclosures.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Management has reviewed other recently issued accounting pronouncements issued or proposed by the FASB and does not believe any of these accounting pronouncements has had or will have a material impact on the condensed unaudited consolidated financial statements.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2. REVENUE FROM CONTRACTS WITH CUSTOMERS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company derives revenue from two <span style="-sec-ix-hidden:Hidden_LDqg-xFRzE-aMwHAaIDdNQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">sources</span></span>: <span style="-sec-ix-hidden:Hidden_7gRf5-0tMkus1tJ-ua_6Cg;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Analytics</span></span> and <span style="-sec-ix-hidden:Hidden_GOJQlAXS5U6naL7xxHwrfA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Integrated</span></span> Yield Ramp.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company recognizes revenue in accordance with FASB Accounting Standards Codification (“ASC”) Topic 606, Revenue from Contracts with Customers, and its related amendments (collectively known as “ASC 606”). ASC 606 outlines a single comprehensive model to use in accounting for revenue arising from contracts with customers. Revenue is recognized when control of products or services is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those promised products or services.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company determines revenue recognition through the following five steps:</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Identification of the contract, or contracts, with a customer</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Identification of the performance obligations in the contract</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Determination of the transaction price</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Allocation of the transaction price to the performance obligations in the contract</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Recognition of revenue when, or as, performance obligations are satisfied</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company accounts for a contract when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance, and collectibility of consideration is probable.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;font-style:italic;">Contracts with Multiple Performance Obligations</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company enters into contracts that can include various combinations of licenses, products and services, some of which are distinct and are accounted for as separate performance obligations. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price (“SSP”).</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Analytics Revenue</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Analytics revenue is derived from the following primary offerings: licenses and services for standalone software (which is primarily Exensio</span><sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">®</sup><span style="font-size:11pt;"> and Cimetrix</span><sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">®</sup><span style="font-size:11pt;"> products), software-as-a-service (“SaaS”) (which is primarily Exensio</span><sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">®</sup><span style="font-size:11pt;"> products), and Design-for-Inspection™ (“DFI™”) systems and Characterization Vehicle</span><sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">®</sup><span style="font-size:11pt;"> (“CV</span><sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">®</sup><span style="font-size:11pt;">”) systems that do not include performance incentives based on customers’ yield achievement.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Revenue from standalone software is recognized depending on whether the license is perpetual or time-based. Perpetual (one-time charge) license software is recognized at the time of the inception of the arrangement when control transfers to the customers if the software license is considered as a separate performance obligation from the services offered by the Company. Revenue from post-contract support is recognized over the contract term on a straight-line basis, because the Company is providing (i) support and (ii) unspecified software updates on a when-and-if available basis over the contract term. Revenue from time-based-licensed software is allocated to each performance obligation and is recognized either at a point in time or over time as follows. The license component is recognized at the time when control transfers to customers, with the post-contract support component recognized ratably over the committed term of the contract. For contracts with any combination of licenses, support, and other services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Revenue from SaaS arrangements, which allow for the use of a cloud-based software product or service over a contractually determined period of time without the customer having to take possession of the software, is accounted for as a subscription and is recognized as revenue ratably, on a straight-line basis, over the subscription period beginning on the date the service is first made available to customers. For contracts with any combination of SaaS and related services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Revenue from DFI systems and CV systems (including Characterization services) that do not include performance incentives based on customers’ yield achievement is recognized primarily as services are performed. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs. For those contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation. Where there are not discrete performance obligations, historically, revenue is primarily recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. The estimation of percentage of completion method is complex and subject to many variables that require significant judgment. Please refer to the “Significant Judgments” section of this Note for further discussion.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company also leases some of its DFI system and CV system assets to some customers. The Company determines the existence of a lease when the customer controls the use of these identified assets for a period of time defined in the lease agreement and classifies such leases as operating leases or sales-type leases. A lease is classified as a sales-type lease if it meets certain criteria under ASC Topic 842, Leases; otherwise, it is classified as an operating lease. Operating lease revenue is recognized on a straight-line basis over the lease term. Sales-type lease revenue and corresponding lease receivables are recognized at lease commencement based on the present value of the future lease payments, and related interest income on lease receivable is recognized over the lease term and are recorded under Analytics revenue in the accompanying unaudited condensed consolidated statements of comprehensive income (loss). Payments under sales-type leases are discounted using the interest rate implicit in the lease. When the Company’s leases are embedded in contracts with customers that include non-lease performance obligations, the Company allocates consideration in the contract between lease and non-lease components based on their relative SSPs. Assets subject to operating leases remain in property and equipment and continue to be depreciated. Assets subject to sales-type leases are derecognized from property and equipment, net at lease commencement and a net investment in the lease asset is recognized in prepaid expenses and other current assets and other non-current assets in the accompanying unaudited condensed consolidated balance sheets.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Integrated Yield Ramp Revenue</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Integrated Yield Ramp revenue is derived from the Company’s fixed-fee engagements that include performance incentives based on customers’ yield achievement (which consists primarily of Gainshare royalties) typically based on customer’s wafer shipments, pertaining to these fixed-price contracts, which royalties are variable.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Revenue under these project-based contracts, which are delivered over a specific period of time, typically for a fixed-fee component paid on a set schedule, is recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs and allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP. Similar to the services provided in connection with DFI systems and CV systems that are contributing to Analytics revenue, due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex and subject to many variables that require significant judgment. Please refer to the “Significant Judgments” section of this Note for further discussion.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Gainshare contained in Integrated Yield Ramp contracts is a variable fee related to continued usage of the Company’s intellectual property after the fixed-fee service period ends, based on a customer’s yield achievement. Revenue derived from Gainshare is contingent upon the Company’s customers reaching certain defined production yield levels. Gainshare periods are generally subsequent to the delivery of all contractual services and performance obligations. The Company records Gainshare as a usage-based royalty derived from customers’ usage of intellectual property and records it in the same period in which the usage occurs.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Disaggregation of Revenue</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company disaggregates revenue from contracts with customers into the timing of the transfer of goods and services and the geographical regions. The Company determined that disaggregating revenue into these categories achieves the disclosure objective to depict how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company’s performance obligations are satisfied either over time or at a point-in-time. The following table represents a disaggregation of revenue percentage by timing of revenue:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Over time</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 64</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 68</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 67</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 74</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Point-in-time</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 36</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 32</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 26</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Total</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">International revenues accounted for approximately </span><span style="font-size:11pt;">55%</span><span style="font-size:11pt;"> and </span><span style="font-size:11pt;">42%</span><span style="font-size:11pt;"> of the Company’s total revenues during the three months ended September 30, 2024 and 2023, respectively, and approximately </span><span style="font-size:11pt;">55%</span><span style="font-size:11pt;"> and </span><span style="font-size:11pt;">44%</span><span style="font-size:11pt;"> of the Company’s total revenues during the nine months ended September 30, 2024 and 2023, respectively. See Note 9, </span><i style="font-size:11pt;font-style:italic;">Customer and Geographic Information</i><span style="font-size:11pt;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Significant Judgments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Judgments and estimates are required under ASC 606. Due to the complexity of certain contracts, the actual revenue recognition treatment required under ASC 606 for the Company’s arrangements may be dependent on contract-specific terms and may vary in some instances.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">For revenue under project-based contracts for fixed-price services, revenue is recognized as services are performed using a percentage-of-completion method based on costs or labor-hours input method, whichever is the most appropriate measure of the progress towards completion of the contract. Due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex, subject to many variables and requires significant judgment. Key factors reviewed by the Company to estimate costs to complete each contract are future labor and product costs and expected productivity efficiencies. If circumstances arise that change the original estimates of revenues, costs, or extent of progress toward completion, revisions to the estimates are made. These revisions may result in increases or decreases in estimated revenues or costs, and such revisions are reflected in revenue on a cumulative catch-up basis in the period in which the circumstances that gave rise to the revision become known.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company’s contracts with customers often include promises to transfer products, software licenses and provide services, including professional services, technical support services, and rights to unspecified updates to a customer. Determining whether licenses and services are distinct performance obligations that should be accounted for separately, or not distinct and thus accounted for together, requires significant judgment. The Company rarely licenses software on a standalone basis, so the Company is required to estimate the range of the SSPs for each performance obligation. In instances where the SSP is not directly observable because the Company does not license the software or sell the service separately, the Company determines the SSP using information that may include market conditions and other observable inputs. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company is required to record Gainshare revenue in the same period in which the usage occurs. Because the Company generally does not receive the acknowledgment reports from its customers during a given quarter within the time frame necessary to adequately review the reports and include the actual amounts in quarterly results for such quarter, the Company accrues the related revenue based on estimates of customers underlying sales achievement. The Company’s estimation process can be based on historical data, trends, seasonality, changes in the contract rate, knowledge of the changes in the industry and changes in the customer’s manufacturing environment learned through discussions with customers and sales personnel. As a result of accruing revenue for the quarter based on such estimates, adjustments will be required in the following quarter to true-up revenue to the actual amounts reported.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Contract Balances</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company performs its obligations under a contract with a customer primarily by licensing software or providing services in exchange for consideration from the customer. The timing of the Company’s performance often differs from the timing of the customer’s payment, which results in the recognition of a receivable, a contract asset or a contract liability.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company classifies the right to consideration in exchange for software or services transferred to a customer as either a receivable or a contract asset. A receivable is a right to consideration that is unconditional, as compared to a contract asset, which is a right to consideration that is conditional upon factors other than the passage of time. The majority of the Company’s contract assets represent unbilled amounts related to fixed-price service contracts when the revenue recognized exceeds the amount billed to the customer.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The contract assets are recorded on a net basis with deferred revenue (i.e., contract liabilities) at the contract level. The contract assets consist of the following (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Current portion included in prepaid expenses and other current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 9,193</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6,787</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Non-current portion included in other non-current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 611</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 933</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total contract assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 9,804</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 7,720</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company did not record any asset impairment charges related to contract assets for the periods presented.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Deferred revenues and billings in excess of recognized revenues consist substantially of amounts invoiced in advance of revenue recognition and are recognized as the revenue recognition criteria are met. Deferred revenues that will be recognized during the succeeding twelve-month period are recorded as current deferred revenues and the remaining portion is recorded in other non-current liabilities in the accompanying condensed consolidated balance sheets. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Deferred revenues were the following (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Current portion </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 28,728</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 25,750</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Non-current portion (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,599</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,802</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total deferred revenues </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 30,327</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 27,552</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Included in other non-current liabilities.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each reporting period was the following (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each period </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 12,040</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 13,129</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 24,669</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 23,836</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;">As of September 30, 2024, the aggregate amount of the transaction price allocated to the remaining performance obligations related to customer contracts that were unsatisfied or partially unsatisfied was approximately $239.2 million. Given the applicable contract terms with customers, more than half of this amount is expected to be recognized as revenue over the next two years with the remainder to be recognized thereafter. This amount does not include insignificant contracts to which the customer is not committed, nor significant contracts for which the Company recognizes revenue equal to the amount the Company has the right to invoice for services performed, or future sales-based or usage-based royalty payments in exchange for a license of intellectual property. This amount is subject to change due to future revaluations of variable consideration, terminations, other contract modifications, or currency adjustments. The estimated timing of the recognition of remaining unsatisfied performance obligations is subject to change and is affected by changes to the scope, change in timing of delivery of products and services, or contract modifications.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The adjustment to revenue recognized from performance obligations satisfied (or partially satisfied) in previous periods was a decrease of </span><span style="font-size:11pt;">$0.7</span><span style="font-size:11pt;"> million and a decrease of </span><span style="font-size:11pt;">$0.6</span><span style="font-size:11pt;"> million during the three months ended September 30, 2024 and 2023, respectively, and a decrease of </span><span style="font-size:11pt;">$1.4</span><span style="font-size:11pt;"> million and an increase of </span><span style="font-size:11pt;">$4.3</span><span style="font-size:11pt;"> million during the nine months ended September 30, 2024 and 2023, respectively. These amounts primarily represent changes in estimated percentage-of-completion based contracts and changes in actual versus estimated Gainshare.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Costs to Obtain or Fulfill a Contract</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company capitalizes the incremental costs to obtain or fulfill a contract with a customer, including direct sales commissions and related fees, when it expects to recover those costs. Amortization expense related to these capitalized costs is recognized over the period associated with the revenue from which the cost was incurred.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Total capitalized direct sales commission costs were the following (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Current portion included in prepaid expenses and other current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,566</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,954</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Non-current portion included in other non-current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 3,059</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,587</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total capitalized direct sales commission costs</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5,625</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4,541</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Amortization of capitalized direct sales commission costs was the following (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Amortization of capitalized direct sales commission costs </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 667</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 532</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,941</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,494</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;">There was no impairment <span style="-sec-ix-hidden:Hidden_gJN_CxknKU6MmEwGL8L-og;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">loss</span></span> in relation to the costs capitalized for the periods presented.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Practical Expedient</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company does not adjust the transaction price for the effects of a significant financing component when the period between the transfers of the promised good or service to the customer and payment for that good or service by the customer is expected to be one year or less. The Company assessed each of its revenue generating arrangements in order to determine whether a significant financing component exists, and determined its contracts did not include a material significant financing component during the three and nine months ended September 30, 2024 and 2023.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company derives revenue from two <span style="-sec-ix-hidden:Hidden_LDqg-xFRzE-aMwHAaIDdNQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">sources</span></span>: <span style="-sec-ix-hidden:Hidden_7gRf5-0tMkus1tJ-ua_6Cg;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Analytics</span></span> and <span style="-sec-ix-hidden:Hidden_GOJQlAXS5U6naL7xxHwrfA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Integrated</span></span> Yield Ramp.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company recognizes revenue in accordance with FASB Accounting Standards Codification (“ASC”) Topic 606, Revenue from Contracts with Customers, and its related amendments (collectively known as “ASC 606”). ASC 606 outlines a single comprehensive model to use in accounting for revenue arising from contracts with customers. Revenue is recognized when control of products or services is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those promised products or services.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company determines revenue recognition through the following five steps:</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Identification of the contract, or contracts, with a customer</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Identification of the performance obligations in the contract</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Determination of the transaction price</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Allocation of the transaction price to the performance obligations in the contract</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Recognition of revenue when, or as, performance obligations are satisfied</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company accounts for a contract when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance, and collectibility of consideration is probable.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;font-style:italic;">Contracts with Multiple Performance Obligations</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company enters into contracts that can include various combinations of licenses, products and services, some of which are distinct and are accounted for as separate performance obligations. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price (“SSP”).</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Analytics Revenue</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Analytics revenue is derived from the following primary offerings: licenses and services for standalone software (which is primarily Exensio</span><sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">®</sup><span style="font-size:11pt;"> and Cimetrix</span><sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">®</sup><span style="font-size:11pt;"> products), software-as-a-service (“SaaS”) (which is primarily Exensio</span><sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">®</sup><span style="font-size:11pt;"> products), and Design-for-Inspection™ (“DFI™”) systems and Characterization Vehicle</span><sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">®</sup><span style="font-size:11pt;"> (“CV</span><sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">®</sup><span style="font-size:11pt;">”) systems that do not include performance incentives based on customers’ yield achievement.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Revenue from standalone software is recognized depending on whether the license is perpetual or time-based. Perpetual (one-time charge) license software is recognized at the time of the inception of the arrangement when control transfers to the customers if the software license is considered as a separate performance obligation from the services offered by the Company. Revenue from post-contract support is recognized over the contract term on a straight-line basis, because the Company is providing (i) support and (ii) unspecified software updates on a when-and-if available basis over the contract term. Revenue from time-based-licensed software is allocated to each performance obligation and is recognized either at a point in time or over time as follows. The license component is recognized at the time when control transfers to customers, with the post-contract support component recognized ratably over the committed term of the contract. For contracts with any combination of licenses, support, and other services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Revenue from SaaS arrangements, which allow for the use of a cloud-based software product or service over a contractually determined period of time without the customer having to take possession of the software, is accounted for as a subscription and is recognized as revenue ratably, on a straight-line basis, over the subscription period beginning on the date the service is first made available to customers. For contracts with any combination of SaaS and related services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Revenue from DFI systems and CV systems (including Characterization services) that do not include performance incentives based on customers’ yield achievement is recognized primarily as services are performed. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs. For those contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP attributed to each performance obligation. Where there are not discrete performance obligations, historically, revenue is primarily recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. The estimation of percentage of completion method is complex and subject to many variables that require significant judgment. Please refer to the “Significant Judgments” section of this Note for further discussion.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company also leases some of its DFI system and CV system assets to some customers. The Company determines the existence of a lease when the customer controls the use of these identified assets for a period of time defined in the lease agreement and classifies such leases as operating leases or sales-type leases. A lease is classified as a sales-type lease if it meets certain criteria under ASC Topic 842, Leases; otherwise, it is classified as an operating lease. Operating lease revenue is recognized on a straight-line basis over the lease term. Sales-type lease revenue and corresponding lease receivables are recognized at lease commencement based on the present value of the future lease payments, and related interest income on lease receivable is recognized over the lease term and are recorded under Analytics revenue in the accompanying unaudited condensed consolidated statements of comprehensive income (loss). Payments under sales-type leases are discounted using the interest rate implicit in the lease. When the Company’s leases are embedded in contracts with customers that include non-lease performance obligations, the Company allocates consideration in the contract between lease and non-lease components based on their relative SSPs. Assets subject to operating leases remain in property and equipment and continue to be depreciated. Assets subject to sales-type leases are derecognized from property and equipment, net at lease commencement and a net investment in the lease asset is recognized in prepaid expenses and other current assets and other non-current assets in the accompanying unaudited condensed consolidated balance sheets.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Integrated Yield Ramp Revenue</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Integrated Yield Ramp revenue is derived from the Company’s fixed-fee engagements that include performance incentives based on customers’ yield achievement (which consists primarily of Gainshare royalties) typically based on customer’s wafer shipments, pertaining to these fixed-price contracts, which royalties are variable.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Revenue under these project-based contracts, which are delivered over a specific period of time, typically for a fixed-fee component paid on a set schedule, is recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs and allocates the transaction price of the contract to each performance obligation on a relative basis using the SSP. Similar to the services provided in connection with DFI systems and CV systems that are contributing to Analytics revenue, due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex and subject to many variables that require significant judgment. Please refer to the “Significant Judgments” section of this Note for further discussion.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Gainshare contained in Integrated Yield Ramp contracts is a variable fee related to continued usage of the Company’s intellectual property after the fixed-fee service period ends, based on a customer’s yield achievement. Revenue derived from Gainshare is contingent upon the Company’s customers reaching certain defined production yield levels. Gainshare periods are generally subsequent to the delivery of all contractual services and performance obligations. The Company records Gainshare as a usage-based royalty derived from customers’ usage of intellectual property and records it in the same period in which the usage occurs.</span></p> 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Disaggregation of Revenue</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company disaggregates revenue from contracts with customers into the timing of the transfer of goods and services and the geographical regions. The Company determined that disaggregating revenue into these categories achieves the disclosure objective to depict how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company’s performance obligations are satisfied either over time or at a point-in-time. The following table represents a disaggregation of revenue percentage by timing of revenue:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Over time</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 64</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 68</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 67</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 74</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Point-in-time</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 36</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 32</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 26</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Total</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">International revenues accounted for approximately </span><span style="font-size:11pt;">55%</span><span style="font-size:11pt;"> and </span><span style="font-size:11pt;">42%</span><span style="font-size:11pt;"> of the Company’s total revenues during the three months ended September 30, 2024 and 2023, respectively, and approximately </span><span style="font-size:11pt;">55%</span><span style="font-size:11pt;"> and </span><span style="font-size:11pt;">44%</span><span style="font-size:11pt;"> of the Company’s total revenues during the nine months ended September 30, 2024 and 2023, respectively. See Note 9, </span><i style="font-size:11pt;font-style:italic;">Customer and Geographic Information</i><span style="font-size:11pt;">.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Over time</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 64</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 68</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 67</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 74</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Point-in-time</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 36</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 32</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 26</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Total</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr></table> 0.64 0.68 0.67 0.74 0.36 0.32 0.33 0.26 1 1 1 1 0.55 0.42 0.55 0.44 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Significant Judgments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Judgments and estimates are required under ASC 606. Due to the complexity of certain contracts, the actual revenue recognition treatment required under ASC 606 for the Company’s arrangements may be dependent on contract-specific terms and may vary in some instances.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">For revenue under project-based contracts for fixed-price services, revenue is recognized as services are performed using a percentage-of-completion method based on costs or labor-hours input method, whichever is the most appropriate measure of the progress towards completion of the contract. Due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex, subject to many variables and requires significant judgment. Key factors reviewed by the Company to estimate costs to complete each contract are future labor and product costs and expected productivity efficiencies. If circumstances arise that change the original estimates of revenues, costs, or extent of progress toward completion, revisions to the estimates are made. These revisions may result in increases or decreases in estimated revenues or costs, and such revisions are reflected in revenue on a cumulative catch-up basis in the period in which the circumstances that gave rise to the revision become known.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company’s contracts with customers often include promises to transfer products, software licenses and provide services, including professional services, technical support services, and rights to unspecified updates to a customer. Determining whether licenses and services are distinct performance obligations that should be accounted for separately, or not distinct and thus accounted for together, requires significant judgment. The Company rarely licenses software on a standalone basis, so the Company is required to estimate the range of the SSPs for each performance obligation. In instances where the SSP is not directly observable because the Company does not license the software or sell the service separately, the Company determines the SSP using information that may include market conditions and other observable inputs. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company is required to record Gainshare revenue in the same period in which the usage occurs. Because the Company generally does not receive the acknowledgment reports from its customers during a given quarter within the time frame necessary to adequately review the reports and include the actual amounts in quarterly results for such quarter, the Company accrues the related revenue based on estimates of customers underlying sales achievement. The Company’s estimation process can be based on historical data, trends, seasonality, changes in the contract rate, knowledge of the changes in the industry and changes in the customer’s manufacturing environment learned through discussions with customers and sales personnel. As a result of accruing revenue for the quarter based on such estimates, adjustments will be required in the following quarter to true-up revenue to the actual amounts reported.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Contract Balances</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company performs its obligations under a contract with a customer primarily by licensing software or providing services in exchange for consideration from the customer. The timing of the Company’s performance often differs from the timing of the customer’s payment, which results in the recognition of a receivable, a contract asset or a contract liability.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company classifies the right to consideration in exchange for software or services transferred to a customer as either a receivable or a contract asset. A receivable is a right to consideration that is unconditional, as compared to a contract asset, which is a right to consideration that is conditional upon factors other than the passage of time. The majority of the Company’s contract assets represent unbilled amounts related to fixed-price service contracts when the revenue recognized exceeds the amount billed to the customer.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The contract assets are recorded on a net basis with deferred revenue (i.e., contract liabilities) at the contract level. The contract assets consist of the following (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Current portion included in prepaid expenses and other current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 9,193</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6,787</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Non-current portion included in other non-current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 611</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 933</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total contract assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 9,804</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 7,720</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company did not record any asset impairment charges related to contract assets for the periods presented.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Deferred revenues and billings in excess of recognized revenues consist substantially of amounts invoiced in advance of revenue recognition and are recognized as the revenue recognition criteria are met. Deferred revenues that will be recognized during the succeeding twelve-month period are recorded as current deferred revenues and the remaining portion is recorded in other non-current liabilities in the accompanying condensed consolidated balance sheets. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Deferred revenues were the following (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Current portion </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 28,728</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 25,750</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Non-current portion (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,599</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,802</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total deferred revenues </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 30,327</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 27,552</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Included in other non-current liabilities.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each reporting period was the following (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each period </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 12,040</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 13,129</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 24,669</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 23,836</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;">As of September 30, 2024, the aggregate amount of the transaction price allocated to the remaining performance obligations related to customer contracts that were unsatisfied or partially unsatisfied was approximately $239.2 million. Given the applicable contract terms with customers, more than half of this amount is expected to be recognized as revenue over the next two years with the remainder to be recognized thereafter. This amount does not include insignificant contracts to which the customer is not committed, nor significant contracts for which the Company recognizes revenue equal to the amount the Company has the right to invoice for services performed, or future sales-based or usage-based royalty payments in exchange for a license of intellectual property. This amount is subject to change due to future revaluations of variable consideration, terminations, other contract modifications, or currency adjustments. The estimated timing of the recognition of remaining unsatisfied performance obligations is subject to change and is affected by changes to the scope, change in timing of delivery of products and services, or contract modifications.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The adjustment to revenue recognized from performance obligations satisfied (or partially satisfied) in previous periods was a decrease of </span><span style="font-size:11pt;">$0.7</span><span style="font-size:11pt;"> million and a decrease of </span><span style="font-size:11pt;">$0.6</span><span style="font-size:11pt;"> million during the three months ended September 30, 2024 and 2023, respectively, and a decrease of </span><span style="font-size:11pt;">$1.4</span><span style="font-size:11pt;"> million and an increase of </span><span style="font-size:11pt;">$4.3</span><span style="font-size:11pt;"> million during the nine months ended September 30, 2024 and 2023, respectively. These amounts primarily represent changes in estimated percentage-of-completion based contracts and changes in actual versus estimated Gainshare.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Current portion included in prepaid expenses and other current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 9,193</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6,787</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Non-current portion included in other non-current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 611</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 933</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total contract assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 9,804</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 7,720</span></p></td></tr></table> 9193000 6787000 611000 933000 9804000 7720000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Current portion </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 28,728</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 25,750</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Non-current portion (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,599</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,802</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total deferred revenues </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 30,327</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 27,552</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Included in other non-current liabilities.</span></td></tr></table> 28728000 25750000 1599000 1802000 30327000 27552000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each period </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 12,040</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 13,129</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 24,669</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 23,836</span></p></td></tr></table> 12040000 13129000 24669000 23836000 239200000 P2Y -700000 -600000 -1400000 4300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Costs to Obtain or Fulfill a Contract</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company capitalizes the incremental costs to obtain or fulfill a contract with a customer, including direct sales commissions and related fees, when it expects to recover those costs. Amortization expense related to these capitalized costs is recognized over the period associated with the revenue from which the cost was incurred.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Total capitalized direct sales commission costs were the following (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Current portion included in prepaid expenses and other current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,566</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,954</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Non-current portion included in other non-current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 3,059</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,587</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total capitalized direct sales commission costs</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5,625</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4,541</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Amortization of capitalized direct sales commission costs was the following (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Amortization of capitalized direct sales commission costs </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 667</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 532</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,941</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,494</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;">There was no impairment <span style="-sec-ix-hidden:Hidden_gJN_CxknKU6MmEwGL8L-og;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">loss</span></span> in relation to the costs capitalized for the periods presented.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Current portion included in prepaid expenses and other current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,566</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,954</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Non-current portion included in other non-current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 3,059</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,587</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total capitalized direct sales commission costs</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5,625</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4,541</span></p></td></tr></table> 2566000 1954000 3059000 2587000 5625000 4541000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Amortization of capitalized direct sales commission costs </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 667</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 532</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,941</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,494</span></p></td></tr></table> 667000 532000 1941000 1494000 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Practical Expedient</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company does not adjust the transaction price for the effects of a significant financing component when the period between the transfers of the promised good or service to the customer and payment for that good or service by the customer is expected to be one year or less. The Company assessed each of its revenue generating arrangements in order to determine whether a significant financing component exists, and determined its contracts did not include a material significant financing component during the three and nine months ended September 30, 2024 and 2023.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">3</b><b style="font-size:11pt;font-weight:bold;">. BALANCE SHEET COMPONENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Accounts Receivable</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Accounts receivable include amounts that are unbilled at the end of the period that are expected to be billed and collected within a 12-month period. Unbilled accounts receivable, included in accounts receivable, totaled </span><span style="font-size:11pt;">$20.7</span><span style="font-size:11pt;"> million and </span><span style="font-size:11pt;">$16.4</span><span style="font-size:11pt;"> million as of September 30, 2024, and December 31, 2023, respectively. Unbilled accounts receivable that are not expected to be billed and collected during the succeeding 12-month period are recorded in other non-current assets and totaled </span><span style="font-size:11pt;">$10.2</span><span style="font-size:11pt;"> million and </span><span style="font-size:11pt;">$1.1</span><span style="font-size:11pt;"> million as of September 30, 2024, and December 31, 2023, respectively.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="font-size:11pt;">The Company performs ongoing credit evaluations of its customers’ financial condition. An allowance for credit losses is maintained for probable credit losses based upon the Company’s assessment of the expected </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">collectibility of the accounts receivable. The allowance for credit losses is reviewed on a quarterly basis to assess the adequacy of the allowance.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Property and Equipment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="font-size:11pt;">Property and equipment, net consist of the following (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Computer equipment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 11,919</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 12,515</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Software</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5,647</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5,596</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Furniture, fixtures, and equipment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,543</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,501</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Leasehold improvements</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6,705</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6,475</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Laboratory and other equipment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5,621</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4,891</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Test equipment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 26,286</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 25,044</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Property and equipment in progress:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:11pt;">DFI™ system assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 27,991</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 22,864</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:11pt;">CV® system and other assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 7,324</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6,977</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 94,036</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 86,863</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Less: Accumulated depreciation and amortization</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (48,017)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (49,525)</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 46,019</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 37,338</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Test equipment mainly includes DFI™ system and CV</span><sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">®</sup><span style="font-size:11pt;"> system assets at customer sites that are contributing to revenue. Property and equipment in progress represent the development or construction of property and equipment that have not yet been placed in service for the Company’s intended use and are not depreciated. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Depreciation and amortization expense was </span><span style="font-size:11pt;">$0.8</span><span style="font-size:11pt;"> million and </span><span style="font-size:11pt;">$1.2</span><span style="font-size:11pt;"> million for the three months ended September 30, 2024 and 2023, respectively, and </span><span style="font-size:11pt;">$2.9</span><span style="font-size:11pt;"> million and </span><span style="font-size:11pt;">$3.8</span><span style="font-size:11pt;"> million for the nine months ended September 30, 2024 and 2023, respectively.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Goodwill and Intangible Assets, Net</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">As of each of September 30, 2024, and December 31, 2023, the carrying amount of goodwill was </span><span style="font-size:11pt;">$15.0</span><span style="font-size:11pt;"> million. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Intangible assets, net, consisted of the following (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:21.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:21.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:31.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:31.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Period</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Acquired identifiable intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">1-10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 9,506</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7,772)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,734</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 9,508</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7,335)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,173</p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">4-9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 34,631</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (23,983)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 10,648</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 34,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22,094)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 12,556</p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Tradename and trademarks</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">2-10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,598</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,100)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 498</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,598</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,025)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 573</p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Patent</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">6-10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,847)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 253</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,782)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 318</p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Noncompetition agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (848)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (848)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 48,683</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (35,550)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 13,133</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 48,704</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (33,084)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 15,620</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The weighted average amortization period for acquired identifiable intangible assets was 4.6 years as of September 30, 2024. The following table summarizes intangible assets amortization expense in the accompanying condensed consolidated statements of comprehensive income (loss) (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Amortization of acquired technology included under costs of revenues</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 584</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 574</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,752</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,680</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Amortization of acquired intangible assets presented separately under costs and expenses</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 328</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 714</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 979</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total amortization of acquired intangible assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 780</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 902</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,466</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,659</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company expects annual amortization of acquired identifiable intangible assets to be as follows (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Year Ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2024 (remaining three months)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 767</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2025</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 3,069</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2026</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,900</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2027</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,747</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2028</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,442</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2029 and thereafter</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,208</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total future amortization expense</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 13,133</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;">There were <span style="-sec-ix-hidden:Hidden_1ruk-x0yOkyVsTfgCORWQg;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">no</span></span> <span style="-sec-ix-hidden:Hidden_5_UCm6MdP0uSzdhADvY8ig;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">impairment</span></span> <span style="-sec-ix-hidden:Hidden_VlAvarpWZUKaFSl93hyEPA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">charges</span></span> for <span style="-sec-ix-hidden:Hidden_19u_5xBZv0KOWjryE7elIQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">goodwill</span></span> and intangible assets during the three and nine months ended September 30, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Other Non-current Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Other non-current assets consisted of the following (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Costs capitalized to obtain revenue contracts – non-current (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 3,059</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,587</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Unbilled accounts receivable – non-current (2)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 10,216</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,069</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Contract assets – non-current (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 611</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 933</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Net investments in sales-type leases – non-current (3)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 18,778</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 12,196</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Other</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4,596</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,433</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total other non-current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 37,260</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 19,218</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">See Note 2, </span><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Revenue from Contracts with Customers</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">See Note 3, </span><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Balance Sheet Components – Accounts Receivable</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">The Company had net investments in sales-type leases for its DFI™ system and CV® system assets. The following table summarizes the components of the Company’s net investments in sales-type leases in the accompanying condensed consolidated balance sheets (in thousands):</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><span style="font-size:11pt;margin-left:0pt;visibility:hidden;">​</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:92.75%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Lease receivables</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 16,455</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 9,460</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Unguaranteed residual assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 7,525</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 4,717</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Net investments in sales-type leases</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 23,980</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 14,177</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Less: Current portion of lease receivables under prepaid expenses and other current assets </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:11pt;"> (5,202)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:11pt;"> (1,981)</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Net investments in sales-type leases – non-current </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 18,778</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 12,196</span></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:12pt 0pt 12pt 36pt;"><span style="font-size:11pt;">Maturities of leases payments under sales-type leases as of September 30, 2024, were as follows (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:92.77%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:79.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:79.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Year Ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2024 (remaining three months)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,541</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2025</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 8,048</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2026</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 7,672</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2027</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,718</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2028</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 68</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total future sales-type lease payments</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 20,047</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Less: Present value adjustment (a)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (3,592)</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Present value of lease receivables</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 16,455</span></p></td></tr></table></div><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-left:36pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Calculated using the rate implicit in the lease determined for each lease.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:12pt 0pt 12pt 36pt;">There was no allowance for credit <span style="-sec-ix-hidden:Hidden_MYfDIG1JSkOxzL14VrJ66A;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">losses</span></span> on lease receivables as of September 30, 2024, and December 31, 2023. The Company’s ongoing risk management strategy for residual assets includes performing regular reviews of estimated residual values.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Accounts Receivable</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Accounts receivable include amounts that are unbilled at the end of the period that are expected to be billed and collected within a 12-month period. Unbilled accounts receivable, included in accounts receivable, totaled </span><span style="font-size:11pt;">$20.7</span><span style="font-size:11pt;"> million and </span><span style="font-size:11pt;">$16.4</span><span style="font-size:11pt;"> million as of September 30, 2024, and December 31, 2023, respectively. Unbilled accounts receivable that are not expected to be billed and collected during the succeeding 12-month period are recorded in other non-current assets and totaled </span><span style="font-size:11pt;">$10.2</span><span style="font-size:11pt;"> million and </span><span style="font-size:11pt;">$1.1</span><span style="font-size:11pt;"> million as of September 30, 2024, and December 31, 2023, respectively.</span></p> 20700000 16400000 10200000 1100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Computer equipment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 11,919</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 12,515</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Software</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5,647</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5,596</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Furniture, fixtures, and equipment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,543</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,501</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Leasehold improvements</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6,705</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6,475</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Laboratory and other equipment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5,621</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4,891</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Test equipment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 26,286</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 25,044</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Property and equipment in progress:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:11pt;">DFI™ system assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 27,991</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 22,864</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:11pt;">CV® system and other assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 7,324</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6,977</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 94,036</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 86,863</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Less: Accumulated depreciation and amortization</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (48,017)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (49,525)</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 46,019</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 37,338</span></p></td></tr></table> 11919000 12515000 5647000 5596000 2543000 2501000 6705000 6475000 5621000 4891000 26286000 25044000 27991000 22864000 7324000 6977000 94036000 86863000 48017000 49525000 46019000 37338000 800000 1200000 2900000 3800000 15000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:21.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:21.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:31.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:31.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Period</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Acquired identifiable intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">1-10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 9,506</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7,772)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,734</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 9,508</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7,335)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,173</p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">4-9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 34,631</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (23,983)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 10,648</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 34,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22,094)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 12,556</p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Tradename and trademarks</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">2-10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,598</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,100)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 498</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,598</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,025)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 573</p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Patent</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">6-10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,847)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 253</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,782)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 318</p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Noncompetition agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (848)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (848)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:21.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 48,683</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (35,550)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 13,133</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 48,704</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (33,084)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 15,620</p></td></tr></table> P1Y P10Y 9506000 7772000 1734000 9508000 7335000 2173000 P4Y P9Y 34631000 23983000 10648000 34650000 22094000 12556000 P2Y P10Y 1598000 1100000 498000 1598000 1025000 573000 P6Y P10Y 2100000 1847000 253000 2100000 1782000 318000 P3Y 848000 848000 848000 848000 48683000 35550000 13133000 48704000 33084000 15620000 P4Y7M6D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Amortization of acquired technology included under costs of revenues</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 584</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 574</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,752</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,680</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Amortization of acquired intangible assets presented separately under costs and expenses</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 328</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 714</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 979</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total amortization of acquired intangible assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 780</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 902</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,466</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,659</span></p></td></tr></table> 584000 574000 1752000 1680000 196000 328000 714000 979000 780000 902000 2466000 2659000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Year Ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2024 (remaining three months)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 767</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2025</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 3,069</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2026</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,900</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2027</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,747</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2028</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,442</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2029 and thereafter</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,208</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total future amortization expense</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 13,133</span></p></td></tr></table> 767000 3069000 2900000 2747000 2442000 1208000 13133000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Costs capitalized to obtain revenue contracts – non-current (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 3,059</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,587</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Unbilled accounts receivable – non-current (2)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 10,216</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,069</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Contract assets – non-current (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 611</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 933</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Net investments in sales-type leases – non-current (3)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 18,778</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 12,196</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Other</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4,596</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,433</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total other non-current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 37,260</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 19,218</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">See Note 2, </span><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Revenue from Contracts with Customers</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">See Note 3, </span><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Balance Sheet Components – Accounts Receivable</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">The Company had net investments in sales-type leases for its DFI™ system and CV® system assets. The following table summarizes the components of the Company’s net investments in sales-type leases in the accompanying condensed consolidated balance sheets (in thousands):</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><span style="font-size:11pt;margin-left:0pt;visibility:hidden;">​</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:92.75%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Lease receivables</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 16,455</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 9,460</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Unguaranteed residual assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 7,525</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 4,717</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Net investments in sales-type leases</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 23,980</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 14,177</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Less: Current portion of lease receivables under prepaid expenses and other current assets </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:11pt;"> (5,202)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:11pt;"> (1,981)</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Net investments in sales-type leases – non-current </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 18,778</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 12,196</span></p></td></tr></table></div> 3059000 2587000 10216000 1069000 611000 933000 18778000 12196000 4596000 2433000 37260000 19218000 16455000 9460000 7525000 4717000 23980000 14177000 -5202000 -1981000 18778000 12196000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:92.77%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:79.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:79.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Year Ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2024 (remaining three months)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,541</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2025</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 8,048</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2026</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 7,672</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2027</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,718</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2028</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 68</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total future sales-type lease payments</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 20,047</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Less: Present value adjustment (a)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (3,592)</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Present value of lease receivables</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 16,455</span></p></td></tr></table></div><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-left:36pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Calculated using the rate implicit in the lease determined for each lease.</span></td></tr></table> 1541000 8048000 7672000 2718000 68000 20047000 3592000 16455000 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">4. LEASES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt;">The Company leases administrative and sales offices and certain equipment under non-cancellable operating leases, which contain various renewal or termination options and, in some cases, require payment of common area costs, taxes and utilities. These operating leases expire at various dates through 2028. The Company had no <span style="-sec-ix-hidden:Hidden_imW-tbAiUUSQGeGjNQkFdQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">leases</span></span> that were classified as a financing lease as of September 30, 2024, and December 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Lease expense was comprised of the following (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Operating lease expense</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 401</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 382</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,161</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,153</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Short-term lease and variable lease expense (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 268</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 239</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 754</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 673</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total lease expense</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 669</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 621</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,915</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,826</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Leases with an initial term of </span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">12</span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> months or less are not recorded on the accompanying condensed consolidated balance sheets, and the Company recognizes lease expense for these leases on a straight-line basis over the lease term. Variable lease expense for the periods presented primarily included common area maintenance charges.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Supplemental condensed consolidated balance sheets information related to operating leases was as follows:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Weighted average remaining lease term under operating leases (in years)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 4.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Weighted average discount rate for operating lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5.98</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4.96</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Maturities of operating lease liabilities as of September 30, 2024, were as follows (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Year Ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2024 (remaining three months)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 492</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2025</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,850</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2026</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,551</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2027</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,490</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2028</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 847</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total future minimum lease payments</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6,230</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Less: Interest (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (654)</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Present value of future minimum lease payments under operating lease liabilities (2)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5,576</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Calculated using incremental borrowing interest rate for each lease.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Includes the current portion of operating lease liabilities of </span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">$1.7</span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> million as of September 30, 2024.</span></td></tr></table><div style="margin-top:12pt;"></div> 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Operating lease expense</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 401</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 382</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,161</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,153</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Short-term lease and variable lease expense (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 268</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 239</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 754</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 673</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total lease expense</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 669</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 621</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,915</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,826</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Leases with an initial term of </span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">12</span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> months or less are not recorded on the accompanying condensed consolidated balance sheets, and the Company recognizes lease expense for these leases on a straight-line basis over the lease term. Variable lease expense for the periods presented primarily included common area maintenance charges.</span></td></tr></table><div style="margin-top:12pt;"></div> 401000 382000 1161000 1153000 268000 239000 754000 673000 669000 621000 1915000 1826000 P12M <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Weighted average remaining lease term under operating leases (in years)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 4.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Weighted average discount rate for operating lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5.98</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4.96</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr></table> P3Y6M P4Y4M24D 0.0598 0.0496 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Year Ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2024 (remaining three months)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 492</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2025</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,850</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2026</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,551</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2027</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,490</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">2028</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 847</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total future minimum lease payments</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6,230</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Less: Interest (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (654)</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Present value of future minimum lease payments under operating lease liabilities (2)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5,576</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Calculated using incremental borrowing interest rate for each lease.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Includes the current portion of operating lease liabilities of </span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">$1.7</span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> million as of September 30, 2024.</span></td></tr></table><div style="margin-top:12pt;"></div> 492000 1850000 1551000 1490000 847000 6230000 654000 5576000 1700000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">5.</b><span style="font-size:11pt;font-weight:normal;"> </span><b style="font-size:11pt;font-weight:bold;">STOCKHOLDERS’ EQUITY</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Stock Repurchase Program</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On April 11, 2022, the Board of Directors adopted a stock repurchase program (the “2022 Program”) to repurchase up to $35.0 million of the Company’s common stock both on the open market and in privately negotiated transactions, including through Rule 10b5-1 plans, from time to time, over the next two years. During the nine months ended September 30, 2024, 201,561 shares were repurchased by the Company under the 2022 Program at an average price of $34.23 per share for an aggregate total price of $6.9 million. In total, the Company repurchased 937,501 shares under the 2022 Program at an average price of $25.96 per share for an aggregate total price of $24.3 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The 2022 Program expired on April 11, 2024, and on April 15, 2024, the Board of Directors adopted a new program (the “2024 Program”) to repurchase up to $40.0 million of the Company’s common stock both on the open market and in privately negotiated transactions, including through Rule 10b5-1 plans, from time to time, over the next two years. The Company has not repurchased any shares under the 2024 Program.</p> 35000000.0 P2Y 201561 34.23 6900000 937501 25.96 24300000 40000000.0 P2Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">6. EMPLOYEE BENEFIT PLANS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">On September 30, 2024, the Company had the following stock-based compensation plans:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Employee Stock Purchase Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">On June 15, 2021, the Company’s stockholders initially approved the 2021 Employee Stock Purchase Plan, which has been amended and restated by the Board of Directors and approved by the Company’s stockholders since then (as amended through the date of this report, the “2021 Purchase Plan”). </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Under the 2021 Purchase Plan, eligible employees can contribute up to 10% of their compensation, as defined in the 2021 Purchase Plan, towards the purchase of shares of PDF common stock at a price of 85% of the lower of the fair market value at the beginning of the offering period or the end of the purchase period. The 2021 Purchase Plan commenced on August 1, 2021, and provided for twenty-four-month offering periods with four six-month purchase periods in each offering period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company estimated the fair value of purchase rights granted under the 2021 Purchase Plan during the period using the Black-Scholes-Merton option-pricing model with the following weighted average assumptions, resulting in the following weighted average fair values:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="6" style="vertical-align:bottom;width:32.77%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Expected life (in years)</span></p></td><td style="vertical-align:bottom;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Volatility</span></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 40.97</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 43.66</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Risk-free interest rate</span></p></td><td style="vertical-align:bottom;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4.61</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5.15</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Expected dividend</span></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_HSUrsAoCbUCyKCkcFPKGYw;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> —</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_eCqZuLcw206Pp-JFqy9Vrw;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> —</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Weighted average fair value of purchase rights granted during the period</span></p></td><td style="vertical-align:bottom;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 10.91</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 15.71</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 0pt 0pt;"><span style="font-size:11pt;">During the three months ended September 30, 2024, a total of </span><span style="font-size:11pt;">81,974</span><span style="font-size:11pt;"> shares were issued under the 2021 Purchase Plan, at a weighted average purchase price of </span><span style="font-size:11pt;">$26.31</span><span style="font-size:11pt;"> per share. During the three months ended September 30, 2023, a total of </span><span style="font-size:11pt;">125,392</span><span style="font-size:11pt;"> shares were issued under the 2021 Purchase Plan, at a weighted average purchase price of </span><span style="font-size:11pt;">$17.30</span><span style="font-size:11pt;"> per share. During the nine months ended September 30, 2024, a total of </span><span style="font-size:11pt;">155,828</span><span style="font-size:11pt;"> shares were issued </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">under the 2021 Purchase Plan, at a weighted average purchase price of $26.14 per share. During the nine months ended September 30, 2023, a total of 223,608 shares were issued under the 2021 Purchase Plan, at a weighted average purchase price of $17.14 per share. As of September 30, 2024, unrecognized compensation cost related to the 2021 Purchase Plan was $2.5 million. This estimated unrecognized cost is expected to be recognized over a weighted average period of 1.4 years. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">As of September 30, 2024, </span><span style="font-size:11pt;">638,481</span><span style="font-size:11pt;"> shares were available for future issuance under the 2021 Purchase Plan.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Stock Incentive Plans</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On November 16, 2011, the Company’s stockholders initially approved the 2011 Stock Incentive Plan, which has been amended and restated by the Board of Directors and approved by the Company’s stockholders a number of times since then (as amended through the date of this report, the “2011 Plan”). Under the 2011 Plan, the Company may award stock options, stock appreciation rights (“SARs”), stock grants or stock units covering shares of the Company’s common stock to employees, directors, non-employee directors and contractors. The aggregate number of shares reserved for awards under the 2011 Plan is 14.6 million shares, plus up to 3.5 million shares previously issued under the 2001 Stock Plan adopted by the Company in 2001, which expired in 2011 (the “2001 Plan”) that are either (i) forfeited or (ii) repurchased by the Company or are shares subject to awards previously issued under the 2001 Plan that expire or that terminate without having been exercised or settled in full on or after November 16, 2011. In case of awards other than options or SARs, the aggregate number of shares reserved under the 2011 Plan will be decreased at a rate of 1.33 shares issued pursuant to such awards. The exercise price for stock options must generally be at prices no less than the fair market value at the date of grant. Stock options generally expire ten years from the date of grant and become vested and exercisable over a four-year period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">As of September 30, 2024, </span><span style="font-size:11pt;">15.1</span><span style="font-size:11pt;"> million shares of common stock were reserved to cover stock-based awards under the 2011 Plan, of which </span><span style="font-size:11pt;">3.6</span><span style="font-size:11pt;"> million shares were available for future grant. The number of shares reserved and available under the 2011 Plan includes </span><span style="font-size:11pt;">0.5</span><span style="font-size:11pt;"> million shares that were subject to awards previously made under the 2001 Plan and were forfeited, expired, or repurchased by the Company after the adoption of the 2011 Plan through September 30, 2024. As of September 30, 2024, there were no outstanding awards that had been granted outside of the 2011 Plan.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company estimated the fair value of share-based awards granted under the 2011 Stock Plan during the period using the Black-Scholes-Merton option-pricing model. There were no stock options <span style="-sec-ix-hidden:Hidden_8MTTu15vCk6VZhoao42frA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">granted</span></span> during the three and nine months ended September 30, 2024 and 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Stock-Based Compensation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Stock-based compensation is estimated at the grant date based on the award’s fair value and is recognized on a straight-line basis over the vesting periods, generally four years<i style="font-style:italic;">.</i> Stock-based compensation expense before taxes related to the Company’s stock plan and employee stock purchase plan was allocated as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Costs of revenues</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,366</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,120</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 3,751</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 3,022</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Research and development</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 2,375</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 2,196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 6,640</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 5,609</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Selling, general, and administrative</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 2,989</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 2,683</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 8,149</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 6,930</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Stock-based compensation expense</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 6,730</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 5,999</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 18,540</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 15,561</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Additional information with respect to options under the 2011 Plan during the nine months ended September 30, 2024, is as follows:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:30.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Outstanding Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Intrinsic</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">per Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(in thousands)</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Outstanding, January 1, 2024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 15.92</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Granted</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Exercised</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (7)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 16.20</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Canceled</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Expired</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Outstanding, September 30, 2024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 31</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 15.85</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 493</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Vested and expected to vest, September 30, 2024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 31</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 15.85</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 493</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Exercisable, September 30, 2024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 31</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 15.85</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 493</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The aggregate intrinsic value in the table above represents the total intrinsic value based on the Company’s closing stock price of </span><span style="font-size:11pt;">$31.68</span><span style="font-size:11pt;"> per share as of September 30, 2024. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The total intrinsic value of options exercised during the nine months ended September 30, 2024 and 2023 was as follows (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Intrinsic value of options exercised </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 124</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 608</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Total fair value of shares vested during the nine months ended September 30, 2024, was immaterial. As of September 30, 2024, there was no remaining unrecognized compensation cost related to unvested stock options.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Nonvested restricted stock unit (“RSU”) activities during the nine months ended September 30, 2024, were as follows:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Average Grant</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Shares </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Date Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Nonvested, January 1, 2024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,995</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 30.03</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Granted</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 734</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 35.42</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Vested</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (756)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 27.37</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Forfeited</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (42)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 30.64</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Nonvested, September 30, 2024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,931</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 33.11</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The weighted average grant date fair values of RSUs granted during the nine months ended September 30, 2024 and 2023 were </span><span style="font-size:11pt;">$35.42</span><span style="font-size:11pt;"> and </span><span style="font-size:11pt;">$43.92</span><span style="font-size:11pt;">, respectively.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The total fair value of RSUs vested during the nine months ended September 30, 2024 and 2023 was as follows (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Fair value of restricted stock units vested</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 25,483</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 31,162</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;">As of September 30, 2024, there was $52.3 million of total unrecognized compensation cost related RSUs. That cost is expected to be recognized over a weighted average period of 2.6 years. RSUs do not have rights to dividends prior to vesting.</p> 0.10 0.85 P24M 4 P6M <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company estimated the fair value of purchase rights granted under the 2021 Purchase Plan during the period using the Black-Scholes-Merton option-pricing model with the following weighted average assumptions, resulting in the following weighted average fair values:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="6" style="vertical-align:bottom;width:32.77%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Expected life (in years)</span></p></td><td style="vertical-align:bottom;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Volatility</span></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 40.97</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 43.66</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Risk-free interest rate</span></p></td><td style="vertical-align:bottom;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4.61</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5.15</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Expected dividend</span></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_HSUrsAoCbUCyKCkcFPKGYw;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> —</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_eCqZuLcw206Pp-JFqy9Vrw;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> —</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Weighted average fair value of purchase rights granted during the period</span></p></td><td style="vertical-align:bottom;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 10.91</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 15.71</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="6" style="vertical-align:bottom;width:32.77%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Expected life (in years)</span></p></td><td style="vertical-align:bottom;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Volatility</span></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 40.97</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 43.66</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Risk-free interest rate</span></p></td><td style="vertical-align:bottom;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4.61</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 5.15</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Expected dividend</span></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_HSUrsAoCbUCyKCkcFPKGYw;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> —</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_eCqZuLcw206Pp-JFqy9Vrw;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> —</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Weighted average fair value of purchase rights granted during the period</span></p></td><td style="vertical-align:bottom;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 10.91</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 15.71</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr></table> P1Y3M P1Y3M 0.4097 0.4366 0.0461 0.0515 10.91 15.71 81974 26.31 125392 17.30 155828 26.14 223608 17.14 2500000 P1Y4M24D 638481 14600000 3500000 1.33 P10Y P4Y 15100000 3600000 500000 <p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company estimated the fair value of share-based awards granted under the 2011 Stock Plan during the period using the Black-Scholes-Merton option-pricing model. There were no stock options <span style="-sec-ix-hidden:Hidden_8MTTu15vCk6VZhoao42frA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">granted</span></span> during the three and nine months ended September 30, 2024 and 2023. </p> 0 <p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Stock-based compensation is estimated at the grant date based on the award’s fair value and is recognized on a straight-line basis over the vesting periods, generally four years<i style="font-style:italic;">.</i> Stock-based compensation expense before taxes related to the Company’s stock plan and employee stock purchase plan was allocated as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Costs of revenues</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,366</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,120</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 3,751</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 3,022</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Research and development</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 2,375</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 2,196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 6,640</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 5,609</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Selling, general, and administrative</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 2,989</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 2,683</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 8,149</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 6,930</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Stock-based compensation expense</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 6,730</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 5,999</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 18,540</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 15,561</span></p></td></tr></table> P4Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Costs of revenues</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,366</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,120</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 3,751</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 3,022</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Research and development</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 2,375</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 2,196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 6,640</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 5,609</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Selling, general, and administrative</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 2,989</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 2,683</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 8,149</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 6,930</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Stock-based compensation expense</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 6,730</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 5,999</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 18,540</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 15,561</span></p></td></tr></table> 1366000 1120000 3751000 3022000 2375000 2196000 6640000 5609000 2989000 2683000 8149000 6930000 6730000 5999000 18540000 15561000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:30.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Outstanding Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Intrinsic</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">per Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(in thousands)</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Outstanding, January 1, 2024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 15.92</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Granted</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Exercised</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (7)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 16.20</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Canceled</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Expired</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Outstanding, September 30, 2024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 31</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 15.85</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 493</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Vested and expected to vest, September 30, 2024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 31</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 15.85</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 493</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Exercisable, September 30, 2024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 31</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 15.85</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 493</span></p></td></tr></table> 38000 15.92 7000 16.20 31000 15.85 P3Y6M10D 493000 31000 15.85 P3Y6M10D 493000 31000 15.85 P3Y6M10D 493000 31.68 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Intrinsic value of options exercised </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 124</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 608</span></p></td></tr></table> 124000 608000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Average Grant</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Shares </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Date Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Nonvested, January 1, 2024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,995</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 30.03</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Granted</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 734</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 35.42</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Vested</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (756)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 27.37</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Forfeited</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (42)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 30.64</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Nonvested, September 30, 2024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,931</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 33.11</span></p></td></tr></table> 1995000 30.03 734000 35.42 756000 27.37 42000 30.64 1931000 33.11 35.42 43.92 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Fair value of restricted stock units vested</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 25,483</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 31,162</span></p></td></tr></table> 25483000 31162000 52300000 P2Y7M6D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:12pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">7</b><b style="font-size:11pt;font-weight:bold;">. INCOME TAXES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Income tax expense decreased by </span><span style="font-size:11pt;">$0.9</span><span style="font-size:11pt;"> million for the nine months ended September 30, 2024, to </span><span style="font-size:11pt;">$1.6</span><span style="font-size:11pt;"> million as compared to </span><span style="font-size:11pt;">$2.5</span><span style="font-size:11pt;"> million for the nine months ended September 30, 2023. The Company’s effective tax rate was </span><span style="font-size:11pt;">31.1%</span><span style="font-size:11pt;"> and </span><span style="font-size:11pt;">53.1%</span><span style="font-size:11pt;"> for the nine months ended September 30, 2024 and 2023, respectively. The Company’s effective tax rate decreased in the nine months ended September 30, 2024, as compared to the same period in 2023, primarily due to changes in the foreign and state taxes and year-to-date recognition of worldwide pre-tax income in relation to their forecasted amounts for full years. The Company’s provision for income taxes for the nine months ended September 30, 2024, was primarily attributable to foreign and state taxes.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company’s total amount of unrecognized tax benefits, excluding interest, as of September 30, 2024, was </span><span style="font-size:11pt;">$16.6</span><span style="font-size:11pt;"> million, of which </span><span style="font-size:11pt;">$2.0</span><span style="font-size:11pt;"> million, if recognized, would affect the Company’s effective tax rate. The Company’s total amount of unrecognized tax benefits, excluding interest, as of December 31, 2023, was </span><span style="font-size:11pt;">$15.9</span><span style="font-size:11pt;"> million, of which </span><span style="font-size:11pt;">$2.0</span><span style="font-size:11pt;"> million, if recognized, would affect the Company’s effective tax rate. As of September 30, 2024, the Company has recorded unrecognized tax benefits of </span><span style="font-size:11pt;">$2.6</span><span style="font-size:11pt;"> million, including interest of </span><span style="font-size:11pt;">$0.6</span><span style="font-size:11pt;"> million, as long-term taxes payable in the accompanying condensed consolidated balance sheet. The remaining </span><span style="font-size:11pt;">$14.6</span><span style="font-size:11pt;"> million has been recorded within the Company’s DTAs, which is subject to a full valuation allowance.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The valuation allowance was approximately $64.2 <span style="-sec-ix-hidden:Hidden_BXQWvsmhTE-NC2LX2wkUGg;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">million</span></span> as of September 30, 2024, and December 31, 2023, which was related to U.S. net federal and state DTAs. The worldwide net DTAs balance as of September 30, 2024, and December 31, 2023, were not significant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The Company conducts business globally and, as a result, files numerous consolidated and separate income tax returns in the U.S. federal and various state and foreign jurisdictions. For U.S. federal and California income tax purposes, the statute of limitations currently remains open for the tax years ended 2020 to present and 2019 to present, respectively. In addition, due to net operating loss carryback claims, the tax years 2013 through 2015 may be subject to federal examination and all of the net operating loss and research and development credit carryforwards that may be utilized in future years may be subject to federal and state examination. The Company is not currently under income tax examinations in the U.S. or any other of its major foreign subsidiaries’ jurisdictions.</span></p> -900000 1600000 2500000 0.311 0.531 16600000 2000000.0 15900000 2000000.0 2600000 600000 14600000 64200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:12pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">8. NET INCOME (LOSS) PER SHARE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 0pt 0pt;">Basic net income (loss) per share is computed by dividing net income (loss) by the weighted average number of common shares outstanding for the period (excluding outstanding stock options, nonvested restricted stock units and shares subject to repurchase). Diluted net income (loss) per share is computed using the weighted average number of common shares outstanding for the period plus the potential effect of dilutive securities which are convertible into common shares (using the treasury stock method), except in cases in which the effect would be </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">anti-dilutive. The following is a reconciliation of the numerators and denominators used in computing basic and diluted net income (loss) per share (in thousands except per share amount):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Numerator:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Net income (loss)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,206</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (4,972)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 3,518</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,218</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Denominator:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:11pt;">Basic weighted average shares outstanding</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 38,710</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 38,187</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 38,542</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 37,930</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:11pt;">Effect of dilutive stock options, unvested restricted stock units, and shares of common stock expected to be issued under employee stock purchase plan</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 395</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 486</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,047</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Diluted weighted average shares outstanding</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 39,105</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 38,187</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 39,028</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 38,977</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Net income (loss) per share:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Basic</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 0.06</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (0.13)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 0.09</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 0.06</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Diluted</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 0.06</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (0.13)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 0.09</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 0.06</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">For the three months ended September 30, 2023, because the Company was in a loss position, diluted net loss per share is the same as basic net loss per share as the inclusion of the potential common shares would have been anti-dilutive.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The following table sets forth the potential shares of common stock that were not included in the diluted net income (loss) per share calculation above because to do so would be anti-dilutive for the periods indicated (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Outstanding options</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 23</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> —</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Non-vested restricted stock units</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,078</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,391</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 740</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 223</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Employee Stock Purchase Plan</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> —</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Total</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,078</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,452</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 740</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 223</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> Basic net income (loss) per share is computed by dividing net income (loss) by the weighted average number of common shares outstanding for the period (excluding outstanding stock options, nonvested restricted stock units and shares subject to repurchase). Diluted net income (loss) per share is computed using the weighted average number of common shares outstanding for the period plus the potential effect of dilutive securities which are convertible into common shares (using the treasury stock method), except in cases in which the effect would be anti-dilutive. <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Numerator:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Net income (loss)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,206</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (4,972)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 3,518</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,218</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Denominator:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:11pt;">Basic weighted average shares outstanding</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 38,710</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 38,187</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 38,542</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 37,930</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:11pt;">Effect of dilutive stock options, unvested restricted stock units, and shares of common stock expected to be issued under employee stock purchase plan</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 395</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 486</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 1,047</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Diluted weighted average shares outstanding</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 39,105</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 38,187</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 39,028</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 38,977</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Net income (loss) per share:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Basic</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 0.06</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (0.13)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 0.09</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 0.06</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Diluted</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 0.06</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> (0.13)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 0.09</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 0.06</span></p></td></tr></table> 2206000 -4972000 3518000 2218000 38710000 38187000 38542000 37930000 395000 486000 1047000 39105000 38187000 39028000 38977000 0.06 -0.13 0.09 0.06 0.06 -0.13 0.09 0.06 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Outstanding options</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 23</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> —</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Non-vested restricted stock units</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,078</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,391</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 740</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 223</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Employee Stock Purchase Plan</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> —</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Total</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,078</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,452</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 740</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 223</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 23000 1078000 1391000 740000 223000 38000 1078000 1452000 740000 223000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:12pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">9. CUSTOMER AND GEOGRAPHIC INFORMATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Operating segments are defined as components of an enterprise about which separate financial information is available that is evaluated regularly by the chief operating decision maker, or group, in deciding how to allocate resources and in assessing performance.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company’s chief operating decision maker, the chief executive officer, reviews discrete financial information presented on a consolidated basis for purposes of regularly making operating decisions, allocation of resources, and assessing financial performance. Accordingly, the Company considers itself to be in one operating and <span style="-sec-ix-hidden:Hidden_ASr2LGbHskC8VQMdpfHymg;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">reporting</span></span> segment, specifically the provision of services for differentiated data and analytics solutions to the semiconductor and electronics industries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Revenues from an individual customer that are approximately 10% or more of the Company’s consolidated total revenues are as follows:</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:middle;white-space:nowrap;width:34.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">A</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 21</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 36</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">B</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;">*</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;">*</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 12</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;">*</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">D</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 13</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;">*</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;">*</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;">*</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 12pt 18pt;"><span style="font-size:11pt;">* represents less than 10%</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Gross accounts receivable balances (including amounts that are unbilled) from individual customers that are approximately 10% or more of the Company’s gross accounts receivable balance are as follows:</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:63.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">A</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 29</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 39</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">D</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 16</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 11</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Revenues from customers by geographic area based on the location of the customers’ work sites are as follows (amounts in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:50.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:23.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:23.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#ffffff;font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">United States</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 21,065</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 45</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 24,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 58</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Japan</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 6,275</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 14</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 3,135</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Taiwan</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 6,273</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 14</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,296</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">China</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 5,673</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 12</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 7,549</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Rest of the world</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 7,123</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 15</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 5,893</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 14</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Total revenue</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 46,409</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 42,350</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:50.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:23.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:23.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#ffffff;font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">United States</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 58,021</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 45</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 70,090</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 56</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Japan</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 25,495</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 20</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 8,005</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">China</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 17,526</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 14</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 21,927</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Taiwan</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 8,107</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4,660</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Rest of the world</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 20,231</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 15</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 20,028</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 16</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total revenue</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 129,380</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 124,710</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Long-lived assets, net by geographic area are as follows (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">United States (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 56,216</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 45,619</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Rest of the world</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,688</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,362</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Total long-lived assets, net</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 57,904</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 46,981</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:11pt;">(1) Includes assets deployed at customer sites which could be outside the U.S.</span></p> 1 0.19 0.38 0.21 0.36 0.12 0.13 0.29 0.39 0.16 0.11 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:50.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:23.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:23.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#ffffff;font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">United States</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 21,065</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 45</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 24,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 58</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Japan</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 6,275</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 14</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 3,135</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Taiwan</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 6,273</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 14</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,296</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">China</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 5,673</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 12</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 7,549</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Rest of the world</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 7,123</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 15</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 5,893</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 14</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Total revenue</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 46,409</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 42,350</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">%</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:50.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:23.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:23.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#ffffff;font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">United States</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 58,021</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 45</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 70,090</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 56</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Japan</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 25,495</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 20</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 8,005</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">China</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 17,526</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 14</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 21,927</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Taiwan</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 8,107</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4,660</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Rest of the world</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 20,231</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 15</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 20,028</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 16</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total revenue</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 129,380</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 124,710</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">%</span></p></td></tr></table> 21065000 0.45 24477000 0.58 6275000 0.14 3135000 0.07 6273000 0.14 1296000 0.03 5673000 0.12 7549000 0.18 7123000 0.15 5893000 0.14 46409000 1 42350000 1 58021000 0.45 70090000 0.56 25495000 0.20 8005000 0.06 17526000 0.14 21927000 0.18 8107000 0.06 4660000 0.04 20231000 0.15 20028000 0.16 129380000 1 124710000 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:11pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">United States (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 56,216</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 45,619</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Rest of the world</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,688</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 1,362</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">Total long-lived assets, net</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 57,904</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><span style="font-size:11pt;"> 46,981</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:11pt;">(1) Includes assets deployed at customer sites which could be outside the U.S.</span></p> 56216000 45619000 1688000 1362000 57904000 46981000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:12pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">10. FAIR VALUE MEASUREMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Fair value is the exit price, or the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants as of the measurement date. The multiple assumptions used to value financial instruments are referred to as inputs, and a hierarchy for inputs used in measuring fair value is established, that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. Observable inputs reflect assumptions market participants would use in pricing an asset or liability based on market data obtained from independent sources while unobservable inputs reflect a reporting entity’s pricing based upon its own market assumptions. These inputs are ranked according to a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels.</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;">Level 1 -</span></p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;">Inputs are quoted prices in active markets for identical assets or liabilities.</span></p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;">Level 2 -</span></p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;">Inputs are quoted prices for similar assets or liabilities in an active market, quoted prices for identical or similar assets or liabilities in markets that are not active, inputs other than quoted prices that are observable and market-corroborated inputs which are derived principally from or corroborated by observable market data.</span></p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;">Level 3 -</span></p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;">Inputs are derived from valuation techniques in which one or more significant inputs or value drivers are unobservable.</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">The following table represents the Company’s assets measured at fair value on a recurring basis as of September 30, 2024, and December 31, 2023, and the basis for those measurements (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:57.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Fair Value Measurements Using</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Quoted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Prices in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Identical</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Observable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Significant</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Unobservable</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Inputs (Level 3)</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Cash equivalents</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Money market mutual funds</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 80,830</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 80,830</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Short-term investments (available-for-sale debt securities)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">U.S. Government securities (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 23,724</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 23,724</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Non-current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Convertible note receivable (available-for-sale debt security) (2)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,013</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,013</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 106,567</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 104,554</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,013</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Fair Value Measurements Using</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Quoted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Prices in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Significant</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Identical</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Observable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Unobservable</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Inputs </b></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(Level 3)</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Cash equivalents</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Money market mutual funds</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 83,810</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 83,810</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Short-term investments (available-for-sale debt securities)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">U.S. Government securities (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 36,544</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 36,544</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 120,354</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 120,354</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">As of September 30, 2024, and December 31, 2023, the amortized cost of the Company’s investments in U.S. Government securities approximated their fair value due to their short-term maturities, and there have been no events or changes in circumstances that would have had a significant effect on the fair value of these securities in the periods presented. For the three and nine months ended September 30, 2024, there were no material realized or unrealized gains or losses, either individually or in the aggregate.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">In August 2024, the Company purchased a </span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">$2.0</span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> million non-marketable convertible promissory note from an unrelated third party (the “convertible note”). The convertible note bears a </span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">5%</span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> interest rate annually and will mature in August 2026 and is included in other non-current assets in the accompanying condensed consolidated balance sheet as of September 30, 2024. As of September 30, 2024, the cost of the convertible note approximated its fair value as there have been no events or changes in circumstances that would have had a significant effect on its fair value from its issuance date to reporting period end.</span></td></tr></table><div style="margin-top:12pt;"></div> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Fair value is the exit price, or the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants as of the measurement date. The multiple assumptions used to value financial instruments are referred to as inputs, and a hierarchy for inputs used in measuring fair value is established, that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. Observable inputs reflect assumptions market participants would use in pricing an asset or liability based on market data obtained from independent sources while unobservable inputs reflect a reporting entity’s pricing based upon its own market assumptions. These inputs are ranked according to a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels.</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;">Level 1 -</span></p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;">Inputs are quoted prices in active markets for identical assets or liabilities.</span></p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;">Level 2 -</span></p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;">Inputs are quoted prices for similar assets or liabilities in an active market, quoted prices for identical or similar assets or liabilities in markets that are not active, inputs other than quoted prices that are observable and market-corroborated inputs which are derived principally from or corroborated by observable market data.</span></p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;"> </span></p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;">Level 3 -</span></p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:11pt;">Inputs are derived from valuation techniques in which one or more significant inputs or value drivers are unobservable.</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:57.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Fair Value Measurements Using</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Quoted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Prices in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Identical</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Observable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Significant</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Unobservable</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Inputs (Level 3)</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Cash equivalents</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Money market mutual funds</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 80,830</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 80,830</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Short-term investments (available-for-sale debt securities)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">U.S. Government securities (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 23,724</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 23,724</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Non-current assets</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Convertible note receivable (available-for-sale debt security) (2)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,013</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,013</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 106,567</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 104,554</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 2,013</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Fair Value Measurements Using</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Quoted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Prices in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Significant</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Identical</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Observable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Unobservable</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Inputs </b></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:11pt;font-weight:bold;">(Level 3)</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Cash equivalents</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">Money market mutual funds</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 83,810</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 83,810</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Short-term investments (available-for-sale debt securities)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">  </span></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:11pt;">U.S. Government securities (1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 36,544</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 36,544</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">Total</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 120,354</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> 120,354</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"><span style="font-size:11pt;"> —</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">As of September 30, 2024, and December 31, 2023, the amortized cost of the Company’s investments in U.S. Government securities approximated their fair value due to their short-term maturities, and there have been no events or changes in circumstances that would have had a significant effect on the fair value of these securities in the periods presented. For the three and nine months ended September 30, 2024, there were no material realized or unrealized gains or losses, either individually or in the aggregate.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">In August 2024, the Company purchased a </span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">$2.0</span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> million non-marketable convertible promissory note from an unrelated third party (the “convertible note”). The convertible note bears a </span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">5%</span><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> interest rate annually and will mature in August 2026 and is included in other non-current assets in the accompanying condensed consolidated balance sheet as of September 30, 2024. As of September 30, 2024, the cost of the convertible note approximated its fair value as there have been no events or changes in circumstances that would have had a significant effect on its fair value from its issuance date to reporting period end.</span></td></tr></table><div style="margin-top:12pt;"></div> 80830000 80830000 23724000 23724000 2013000 2013000 106567000 104554000 2013000 83810000 83810000 36544000 36544000 120354000 120354000 2000000.0 0.05 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">11. COMMITMENTS AND CONTINGENCIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;font-style:italic;font-weight:bold;">Strategic Partnership with Advantest</span><span style="font-size:11pt;"> — See Note 12, </span><i style="font-size:11pt;font-style:italic;">Strategic Partnership Agreement with Advantest and Related Party Transactions</i><span style="font-size:11pt;">, for the discussion about the Company’s commitments under the strategic partnership with Advantest.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;font-style:italic;font-weight:bold;">Operating Leases</span><span style="font-size:11pt;"> — Refer to Note 4, </span><i style="font-size:11pt;font-style:italic;">Leases</i><span style="font-size:11pt;">, for the discussion about the Company’s lease commitments.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Indemnifications</span> — The Company generally provides a warranty to its customers that its software will perform substantially in accordance with documented specifications typically for a period of 90 days following initial delivery of its products. The Company also indemnifies certain customers from third-party claims of intellectual property infringement relating to the use of its products. Historically, costs related to these guarantees have not been significant. The Company is unable to estimate the maximum potential impact of these guarantees on its future results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Purchase Obligations</span> — The Company has purchase obligations with certain suppliers for the purchase of goods and services entered into in the ordinary course of business. As of September 30, 2024, total outstanding purchase obligations were $34.1 million, the majority of which is due within the next 9 months.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;font-style:italic;font-weight:bold;">Indemnification of Officers and Directors</span><span style="font-size:11pt;"> — As permitted by the Delaware general corporation law, the Company has included a provision in its certificate of incorporation to eliminate the personal liability of its officers and directors for monetary damages for breach or alleged breach of their fiduciary duties as officers or directors, other than in cases of fraud or other willful misconduct.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">In addition, the Bylaws of the Company provide that the Company is required to indemnify its officers and directors even when indemnification would otherwise be discretionary, and the Company is required to advance expenses to its officers and directors as incurred in connection with proceedings against them for which they may be indemnified. The Company has entered into indemnification agreements with its officers and directors containing provisions that are in some respects broader than the specific indemnification provisions contained in the Delaware general corporation law. The indemnification agreements require the Company to indemnify its officers and directors against liabilities that may arise by reason of their status or service as officers and directors other than for liabilities arising from willful misconduct of a culpable nature, to advance their expenses incurred as a result of any proceeding against them as to which they could be indemnified, and to obtain directors’ and officers’ insurance if available on reasonable terms. The Company has obtained directors’ and officers’ liability insurance in amounts comparable to other companies of the Company’s size and in the Company’s industry. Since a maximum obligation of the Company is not explicitly stated in the Company’s Bylaws or in its indemnification agreements and will depend on the facts and circumstances that arise out of any future claims, the overall maximum amount of the obligations cannot be reasonably estimated.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;font-style:italic;font-weight:bold;">Legal Proceedings</span><span style="font-size:11pt;"> — From time to time, the Company is subject to various claims and legal proceedings that arise in the ordinary course of business. The Company accrues for losses related to litigation when a potential loss is probable, and the loss can be reasonably estimated in accordance with FASB requirements. As of September 30, 2024, the Company was not party to any material legal proceedings for which a loss was probable or an amount was accrued. From time to time, the Company may enter into contingent fee arrangements with external legal firms that may represent the Company in legal proceedings related to disputes. Contingent legal fees are accrued by the Company when they are probable and reasonably estimable.  </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="font-size:11pt;">On May 6, 2020, the Company initiated an arbitration proceeding with the Hong Kong International Arbitration Center against SMIC New Technology Research &amp; Development (Shanghai) Corporation (“SMIC”) due to SMIC’s failure to pay fees due to the Company under a series of contracts. The Company seeks to recover the unpaid fees, a declaration requiring SMIC to pay fees under the contracts in the future (or a lump sum payment </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-size:11pt;">to end the contract), and costs associated with bringing the arbitration proceeding. SMIC denies liability and an arbitration hearing was held in February 2023. Final written submissions were submitted by the parties at the end of August 2023, and the parties submitted answers to the Tribunal’s final questions on August 2, 2024.</span></p> P90D 34100000 P9M <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">12</b><b style="font-size:11pt;font-weight:bold;">. STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In July 2020, the Company entered into a long-term strategic partnership with Advantest Corporation through its wholly-owned subsidiary, Advantest America, Inc. (collectively referred to herein as “Advantest”), which includes: (i) a Securities Purchase Agreement wherein the Company issued and sold to Advantest America, Inc., an aggregate of 3,306,924 shares of its common stock, for aggregate gross proceeds of $65.2 million; (ii) a significant agreement for its assistance in development of cloud-based applications for Advantest tools that leverages our Exensio analytics software; (iii) a commercial agreement providing for the license to third parties of solutions that result from the development work that combine Advantest’s testing applications and our Exensio platform; and (iv) a 5-year cloud-based subscription for Exensio analytics software and related services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="font-size:11pt;">Analytics revenue recognized from Advantest was </span><span style="font-size:11pt;">$3.3</span><span style="font-size:11pt;"> million and </span><span style="font-size:11pt;">$2.6</span><span style="font-size:11pt;"> million during the three months ended September 30, 2024 and 2023, respectively,</span> <span style="font-size:11pt;">and </span><span style="font-size:11pt;">$9.2</span><span style="font-size:11pt;"> million and </span><span style="font-size:11pt;">$6.2</span><span style="font-size:11pt;"> million during the nine months ended September 30, 2024 and 2023, respectively. There were no accounts receivable from Advantest as of September 30, 2024. Accounts receivable from Advantest were not material as of December 31, 2023. Deferred revenue amounted to </span><span style="font-size:11pt;">$11.8</span><span style="font-size:11pt;"> million and </span><span style="font-size:11pt;">$9.4</span><span style="font-size:11pt;"> million as of September 30, 2024, and December 31, 2023, respectively.</span></p> 3306924 65200000 P5Y 3300000 2600000 9200000 6200000 11800000 9400000 false false false false

-8?20$3;8T.P6BP^0"X99K>]9!:G@NW:)NT^=1PC@B?&8F23=/?75S:A/>Z&,WTY MY0E\P7P^NGS2D3Z_2O7\*.4S^W-75O5DL&V:_>UP6.=;L5/K*1JI= MUNA#]32L]TIDZWHK1+,KA^9H-![NLJ(:?/E\>E:DAO! -B)O"EGID^V)AT*\ MUO]<;P_92U$7CT59--\F@^Y[*09L5U3%KO@NUI/!:,#JK7R]EZKX+JLF*Y-< MR;*<#(SCA0>AFB+_X7320J;98]V=:;+'.-,@D\%XI!^X*53=='=TS\\TXXO0 M-Q^/#HV<%64CU#1KQ%S)P[ZHGMK'Z+<8@M?HXG#Z/ ;Q5OV7,,K-ILC%5.:' MG:B:8QR5*%O JMX6^WK JFPG)H/3+>QKDGO.4TVYC,) !Q32?4+H/M'2+;B;<,ABC+#>>D1+DZ2A]\M] MN)CR./F)\5]7?OH5LJ$F(58)7T:+\"OG[(X'?.:G+-+EVHL[\T,6,8Q,H(='U_X[I:A$GR@44\UNW C3E$Q'QA4 MCI:O<4E.U/=N< MA_/8C>Y]3V//PKC7S1F8,0QB9%V)@KC"(9:&+ M>.FG'5(7R+8K]H,Y#SR_7QLQ5QC$LDBT'5(^UX4;N7$:Z![FWH^8.X]Y%TR( MB=G"(-9%E'UC+S6+A.I^7N6"38LZ+V5]4 )"8M(PB*WA5W6Q%HJE*EOK^0=S MEEZXZNHDB_2 ZU_5TL2T8A)K!1W# M](:L)CI%(?;+N5$,N])3TQ)63!-3CDFLG.-PY@VJ_@"Q,,V8Q)IY?^SP+B:F M&9-8,XBP6U:(B>G&I-8-)NU^D\&$8Q(+YXRT3Z4.,3'AF,3"P3L@.!TU,>68 MQ,K!,6V8),&L8Q%;!\=T("9F'>NBUAE#3,PZ%K%U<,QKB(FFQHBM@V/>0$S, M0A:QA(3N+Z5<-E*6%6<@BMA"" MZ5;5 6)B%K(NE"73F&&SA>-+"[.016PA!#/0?PFSX)B%;&(+(9C+K(&%;F,6 MLHDM=!JM=]U/V1L'VYAV;&+MO'%]9)[<[675SFJ9W+!P+Y2^&2YMV9AV[/]G MLG,L4]6NOP'(IUYE1-=DB+4#D[IO.=WWBQR3CDTLG3,S--VL,Z7C"3$QZ=C$ MTCF+^9"5ASXF)AV;6#IG,=VRE#ETHXU)QR:6SEG,I)'Y'F)B#'&('X9AP9<+! M'.10;PM ^!@#G(NN<[3RQXXZ,X ZJT!*";,'CB8A9R+)N!@]L#!+.1< M* &GFT]="RA+![.00VRA\YCMS$=!3,Q"#K&%T$4^=@6WK6 6&I-O(4"6^7K) MX3%FH?%Q1]UI&]U:;(I*K /]%[4^GV=E'BG6?AQ7_FVG78_;',K2T^?":B&S M]6E7WFE'X9>_ %!+ P04 " #3@F=9]4F2S $" !>) &@ 'AL+U]R M96QS+W=O3ENT]"MW[IM3KI3_F=AO-OMU_MVO_QSS:?K'X/3>CV]EE_/4+%ZZ<9NG59,^#M?=)5TV MW"R>7E?-^/0J3:H=I!"D]8,,@JQ^D$.0UP\*"(KZ02T$M?6#;B'HMG[0 M'03=U0^ZAZ#[^D&R1!F7!$DSK FT%N1:"+P6!%L(Q!8D6PC,%D1;"-069%L( MW!:$6PCD%J1;".P6Q%L(]%;46PGT5M1;"?36V<,V@=Z*>BN!WHIZ*X'>BGHK M@=Z*>BN!WHIZ*X'>BGHK@=Z*>BN!WH9Z&X'>AGH;@=Z&>AN!WC9[64*@MZ'> M1J"WH=Y&H+>AWD:@MZ'>1J"WH=Y&H+>AWD:@MZ/>3J"WH]Y.H+>CWDZ@MZ/> M3J"WSUYV$^CMJ+<3Z.VHMQ/H[:BW$^CMJ+<3Z.VHMQ/H':AW$.@=J'<0Z!VH M=Q#H':AW$.@=J'<0Z!VSCY4$>@?J'01Z!^H=!'H'ZAT$>@?J'01ZMZAW2Z!W MBWJW/ZEWF3X/N5Q[OM9X_9^D>CJ?FZ^7ORR_=LYNP@7G!+\3/?X%4$L#!!0 M ( -."9UG63,"2X $ .,C 3 6T-O;G1E;G1?5'EP97-=+GAM;,W: MRT[#,! %T%^)LD6-ZU=YB+(!MM %/V"2"8V:Q)9MH/P]3@J50*6B*A)WTZBU M/7?BD&^?:IC0Q MK;.7OOJ6,OE(*-+)<4]8-BZK1UW914V?*Y2T>*X#R9*BR)8M<6FZ(G^Y-CNF':?/*C\\3H\[G,DP^F)2X7(QV;_*VX34^FCWX^&:5=4_3([7>^K]:MQ M'H&-C^/O^.N,M_4/[$. ]"%!^E @?6B0/F8@?9R"]'$&TL&UL M4$L! A0#% @ TX)G63;PQU_N *P( !$ ( !KP M &1O8U!R;W!S+V-O&UL4$L! A0#% @ TX)G69E&PO=V]R M:W-H965T&UL4$L! A0#% @ TX)G6>?FSV@Q!P +1T M !@ ("!'PX 'AL+W=OB3 , &,+ 8 " @885 !X M;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ TX)G67!'1'ZW#P ,Z< !@ ("! MO2 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MTX)G65:N&"M?%P 8U0 !@ ("!$D0 'AL+W=OP >&PO=V]R:W-H965TW"%04 -$/ 9 M " @9: !X;"]W;W)K&UL4$L! A0#% @ MTX)G62>VOV[N!0 %1, !D ("!XH4 'AL+W=O&PO=V]R:W-H965T4 !X;"]W M;W)K&UL4$L! A0#% @ TX)G67?"'ANM! M' L !D ("!#IP 'AL+W=O4(IX8 " "\!P &0 @('R MH >&PO=V]R:W-H965T&UL4$L! A0#% @ TX)G66;=A9?Q(0 DGP !D M ("!(Z8 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ TX)G6&PO=V]R:W-H965T&UL4$L! A0#% @ TX)G M6:J9QW4B! &0T !D ("!Z>0 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TX)G68=KGLOY @ 7@L M !D ("!6/( 'AL+W=O&PO=V]R:W-H965T#Y: MC0, *L- 9 " @8_X !X;"]W;W)K&UL4$L! A0#% @ TX)G635),A,2! [Q( !D M ("!4_P 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ TX)G6?GL !H7! ZQ( !D ("!OP@! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ TX)G67FY M.D<0 P KP@ !D ("!%!D! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TX)G6>5/'A/P @ 8 @ !D M ("!X2(! 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ TX)G6?35E52_ P :Q( !D ("! MG2P! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ TX)G69A_B*N, P &@X !D ("!33P! 'AL+W=O&UL4$L! A0#% @ TX)G63'K /EP M! ZQ4 !D ("!-D@! 'AL+W=O&PO=V]R:W-H965TU0 0!X;"]W;W)K&UL4$L! A0#% @ TX)G63K/0J0_ @ -04 !D M ("!?50! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ TX)G64W)#R[\ @ OPH !D ("!O&$! M 'AL+W=O&PO=V]R:W-H965T9H 0!X;"]W;W)K&UL4$L! A0#% @ MTX)G675M0-B\ @ '0< !D ("!<&L! 'AL+W=O&UL4$L! A0#% @ TX)G69>*NQS $P( L M ( !+G8! %]R96QS+RYR96QS4$L! A0#% @ TX)G61-<=LTJ!0 MU2@ \ ( !%W7!E&UL4$L%!@ 0 !% $4 VA( +B 0 $! end XML 74 Show.js IDEA: XBRL DOCUMENT // Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission. Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105. var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0); e.removeAttribute('id');a.parentNode.appendChild(e)}} if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'} e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}} XML 75 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 77 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.3 html 256 343 1 false 65 0 false 4 false false R1.htm 995200090 - Document - Document And Entity Information Sheet http://www.pdf.com/role/DocumentDocumentAndEntityInformation Document And Entity Information Cover 1 false false R2.htm 995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parentheticals) Sheet http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsParentheticals CONDENSED CONSOLIDATED BALANCE SHEETS (Parentheticals) Statements 3 false false R4.htm 995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS Sheet http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS Statements 4 false false R5.htm 995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY Sheet http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY Statements 5 false false R6.htm 995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 995210101 - Disclosure - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Sheet http://www.pdf.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Notes 7 false false R8.htm 995210201 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS Sheet http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomers REVENUE FROM CONTRACTS WITH CUSTOMERS Notes 8 false false R9.htm 995210301 - Disclosure - BALANCE SHEET COMPONENTS Sheet http://www.pdf.com/role/DisclosureBalanceSheetComponents BALANCE SHEET COMPONENTS Notes 9 false false R10.htm 995210401 - Disclosure - LEASES Sheet http://www.pdf.com/role/DisclosureLeases LEASES Notes 10 false false R11.htm 995210501 - Disclosure - STOCKHOLDERS' EQUITY Sheet http://www.pdf.com/role/DisclosureStockholdersEquity STOCKHOLDERS' EQUITY Notes 11 false false R12.htm 995210601 - Disclosure - EMPLOYEE BENEFIT PLANS Sheet http://www.pdf.com/role/DisclosureEmployeeBenefitPlans EMPLOYEE BENEFIT PLANS Notes 12 false false R13.htm 995210701 - Disclosure - INCOME TAXES Sheet http://www.pdf.com/role/DisclosureIncomeTaxes INCOME TAXES Notes 13 false false R14.htm 995210801 - Disclosure - NET INCOME (LOSS) PER SHARE Sheet http://www.pdf.com/role/DisclosureNetIncomeLossPerShare NET INCOME (LOSS) PER SHARE Notes 14 false false R15.htm 995210901 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION Sheet http://www.pdf.com/role/DisclosureCustomerAndGeographicInformation CUSTOMER AND GEOGRAPHIC INFORMATION Notes 15 false false R16.htm 995211001 - Disclosure - FAIR VALUE MEASUREMENTS Sheet http://www.pdf.com/role/DisclosureFairValueMeasurements FAIR VALUE MEASUREMENTS Notes 16 false false R17.htm 995211101 - Disclosure - COMMITMENTS AND CONTINGENCIES Sheet http://www.pdf.com/role/DisclosureCommitmentsAndContingencies COMMITMENTS AND CONTINGENCIES Notes 17 false false R18.htm 995211201 - Disclosure - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS Sheet http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactions STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS Notes 18 false false R19.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 19 false false R20.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 20 false false R21.htm 99920102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies) Sheet http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies SIGNIFICANT ACCOUNTING POLICIES (Policies) Policies 21 false false R22.htm 99930203 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables) Sheet http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersTables REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables) Tables http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomers 22 false false R23.htm 99930303 - Disclosure - BALANCE SHEET COMPONENTS (Tables) Sheet http://www.pdf.com/role/DisclosureBalanceSheetComponentsTables BALANCE SHEET COMPONENTS (Tables) Tables http://www.pdf.com/role/DisclosureBalanceSheetComponents 23 false false R24.htm 99930403 - Disclosure - LEASES (Tables) Sheet http://www.pdf.com/role/DisclosureLeasesTables LEASES (Tables) Tables http://www.pdf.com/role/DisclosureLeases 24 false false R25.htm 99930603 - Disclosure - EMPLOYEE BENEFIT PLANS (Tables) Sheet http://www.pdf.com/role/DisclosureEmployeeBenefitPlansTables EMPLOYEE BENEFIT PLANS (Tables) Tables http://www.pdf.com/role/DisclosureEmployeeBenefitPlans 25 false false R26.htm 99930803 - Disclosure - NET INCOME (LOSS) PER SHARE (Tables) Sheet http://www.pdf.com/role/DisclosureNetIncomeLossPerShareTables NET INCOME (LOSS) PER SHARE (Tables) Tables http://www.pdf.com/role/DisclosureNetIncomeLossPerShare 26 false false R27.htm 99930903 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION (Tables) Sheet http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationTables CUSTOMER AND GEOGRAPHIC INFORMATION (Tables) Tables http://www.pdf.com/role/DisclosureCustomerAndGeographicInformation 27 false false R28.htm 99931003 - Disclosure - FAIR VALUE MEASUREMENTS (Tables) Sheet http://www.pdf.com/role/DisclosureFairValueMeasurementsTables FAIR VALUE MEASUREMENTS (Tables) Tables http://www.pdf.com/role/DisclosureFairValueMeasurements 28 false false R29.htm 99940201 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS (Details) Sheet http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails REVENUE FROM CONTRACTS WITH CUSTOMERS (Details) Details http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersTables 29 false false R30.htm 99940202 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenue (Details) Sheet http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenue (Details) Details 30 false false R31.htm 99940203 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Contract Balances (Details) Sheet http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersContractBalancesDetails REVENUE FROM CONTRACTS WITH CUSTOMERS - Contract Balances (Details) Details 31 false false R32.htm 99940204 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Deferred Revenues (Details) Sheet http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDeferredRevenuesDetails REVENUE FROM CONTRACTS WITH CUSTOMERS - Deferred Revenues (Details) Details 32 false false R33.htm 99940205 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Costs to Obtain or Fulfill a Contract (Details) Sheet http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersCostsToObtainOrFulfillContractDetails REVENUE FROM CONTRACTS WITH CUSTOMERS - Costs to Obtain or Fulfill a Contract (Details) Details 33 false false R34.htm 99940206 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Additional Information (Details) Sheet http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetails REVENUE FROM CONTRACTS WITH CUSTOMERS - Additional Information (Details) Details 34 false false R35.htm 99940301 - Disclosure - BALANCE SHEET COMPONENTS (Details) Sheet http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails BALANCE SHEET COMPONENTS (Details) Details http://www.pdf.com/role/DisclosureBalanceSheetComponentsTables 35 false false R36.htm 99940302 - Disclosure - BALANCE SHEET COMPONENTS - Property and Equipment (Details) Sheet http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails BALANCE SHEET COMPONENTS - Property and Equipment (Details) Details 36 false false R37.htm 99940303 - Disclosure - BALANCE SHEET COMPONENTS - Intangible Assets (Details) Sheet http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails BALANCE SHEET COMPONENTS - Intangible Assets (Details) Details 37 false false R38.htm 99940304 - Disclosure - BALANCE SHEET COMPONENTS - Annual Amortization of Identifiable Intangible Assets (Details) Sheet http://www.pdf.com/role/DisclosureBalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails BALANCE SHEET COMPONENTS - Annual Amortization of Identifiable Intangible Assets (Details) Details 38 false false R39.htm 99940305 - Disclosure - BALANCE SHEET COMPONENTS - Other Non-current Assets (Details) Sheet http://www.pdf.com/role/DisclosureBalanceSheetComponentsOtherNonCurrentAssetsDetails BALANCE SHEET COMPONENTS - Other Non-current Assets (Details) Details 39 false false R40.htm 99940306 - Disclosure - BALANCE SHEET COMPONENTS - Net Investment in Sales-type Leases (Details) Sheet http://www.pdf.com/role/DisclosureBalanceSheetComponentsNetInvestmentInSalesTypeLeasesDetails BALANCE SHEET COMPONENTS - Net Investment in Sales-type Leases (Details) Details 40 false false R41.htm 99940307 - Disclosure - BALANCE SHEET COMPONENTS - Maturities of Lease Payments Under Sales-type Leases (Details) Sheet http://www.pdf.com/role/DisclosureBalanceSheetComponentsMaturitiesOfLeasePaymentsUnderSalesTypeLeasesDetails BALANCE SHEET COMPONENTS - Maturities of Lease Payments Under Sales-type Leases (Details) Details 41 false false R42.htm 99940401 - Disclosure - LEASES (Details) Sheet http://www.pdf.com/role/DisclosureLeasesDetails LEASES (Details) Details http://www.pdf.com/role/DisclosureLeasesTables 42 false false R43.htm 99940402 - Disclosure - LEASES - Components of Operating Lease Expense (Details) Sheet http://www.pdf.com/role/DisclosureLeasesComponentsOfOperatingLeaseExpenseDetails LEASES - Components of Operating Lease Expense (Details) Details 43 false false R44.htm 99940403 - Disclosure - LEASES - Maturity of Operating Lease Liabilities (Details) Sheet http://www.pdf.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilitiesDetails LEASES - Maturity of Operating Lease Liabilities (Details) Details 44 false false R45.htm 99940501 - Disclosure - STOCKHOLDERS EQUITY (Details) Sheet http://www.pdf.com/role/DisclosureStockholdersEquityDetails STOCKHOLDERS EQUITY (Details) Details 45 false false R46.htm 99940601 - Disclosure - EMPLOYEE BENEFIT PLANS - Narrative (Details) Sheet http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails EMPLOYEE BENEFIT PLANS - Narrative (Details) Details 46 false false R47.htm 99940602 - Disclosure - EMPLOYEE BENEFIT PLANS - Valuation Assumptions for ESPP (Details) Sheet http://www.pdf.com/role/DisclosureEmployeeBenefitPlansValuationAssumptionsForEsppDetails EMPLOYEE BENEFIT PLANS - Valuation Assumptions for ESPP (Details) Details 47 false false R48.htm 99940603 - Disclosure - EMPLOYEE BENEFIT PLANS - Allocation of Recognized Period Costs (Details) Sheet http://www.pdf.com/role/DisclosureEmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails EMPLOYEE BENEFIT PLANS - Allocation of Recognized Period Costs (Details) Details 48 false false R49.htm 99940604 - Disclosure - EMPLOYEE BENEFIT PLANS - Stock Options Activity (Details) Sheet http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails EMPLOYEE BENEFIT PLANS - Stock Options Activity (Details) Details 49 false false R50.htm 99940605 - Disclosure - EMPLOYEE BENEFIT PLANS - Nonvested Restricted Stock Units Activity (Details) Sheet http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails EMPLOYEE BENEFIT PLANS - Nonvested Restricted Stock Units Activity (Details) Details 50 false false R51.htm 99940701 - Disclosure - INCOME TAXES - Narrative (Details) Sheet http://www.pdf.com/role/DisclosureIncomeTaxesNarrativeDetails INCOME TAXES - Narrative (Details) Details 51 false false R52.htm 99940801 - Disclosure - NET INCOME (LOSS) PER SHARE - Calculation of Earnings Per Share (Details) Sheet http://www.pdf.com/role/DisclosureNetIncomeLossPerShareCalculationOfEarningsPerShareDetails NET INCOME (LOSS) PER SHARE - Calculation of Earnings Per Share (Details) Details http://www.pdf.com/role/DisclosureNetIncomeLossPerShareTables 52 false false R53.htm 99940802 - Disclosure - NET INCOME (LOSS) PER SHARE - Anti-dilutive Securities (Details) Sheet http://www.pdf.com/role/DisclosureNetIncomeLossPerShareAntiDilutiveSecuritiesDetails NET INCOME (LOSS) PER SHARE - Anti-dilutive Securities (Details) Details http://www.pdf.com/role/DisclosureNetIncomeLossPerShareTables 53 false false R54.htm 99940901 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION - Other (Details) Sheet http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationOtherDetails CUSTOMER AND GEOGRAPHIC INFORMATION - Other (Details) Details http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationTables 54 false false R55.htm 99940902 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenue Percentage by Major Customers (Details) Sheet http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails CUSTOMER AND GEOGRAPHIC INFORMATION - Revenue Percentage by Major Customers (Details) Details 55 false false R56.htm 99940903 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenues by Geographic Area (Details) Sheet http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails CUSTOMER AND GEOGRAPHIC INFORMATION - Revenues by Geographic Area (Details) Details 56 false false R57.htm 99940904 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION - Long-lived Assets by Geographic Area (Details) Sheet http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails CUSTOMER AND GEOGRAPHIC INFORMATION - Long-lived Assets by Geographic Area (Details) Details 57 false false R58.htm 99941001 - Disclosure - FAIR VALUE MEASUREMENTS - Assets Measured on a Recurring Basis (Details) Sheet http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails FAIR VALUE MEASUREMENTS - Assets Measured on a Recurring Basis (Details) Details 58 false false R59.htm 99941002 - Disclosure - FAIR VALUE MEASUREMENTS - Other (Details) Sheet http://www.pdf.com/role/DisclosureFairValueMeasurementsOtherDetails FAIR VALUE MEASUREMENTS - Other (Details) Details 59 false false R60.htm 99941101 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details) Sheet http://www.pdf.com/role/DisclosureCommitmentsAndContingenciesDetails COMMITMENTS AND CONTINGENCIES (Details) Details http://www.pdf.com/role/DisclosureCommitmentsAndContingencies 60 false false R61.htm 99941201 - Disclosure - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS (Details) Sheet http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS (Details) Details http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactions 61 false false All Reports Book All Reports pdfs-20240930.xsd pdfs-20240930_cal.xml pdfs-20240930_def.xml pdfs-20240930_lab.xml pdfs-20240930_pre.xml pdfs-20240930x10q.htm http://fasb.org/srt/2024 http://fasb.org/us-gaap/2024 http://xbrl.sec.gov/dei/2024 http://xbrl.sec.gov/ecd/2024 true true JSON 80 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "pdfs-20240930x10q.htm": { "nsprefix": "pdfs", "nsuri": "http://www.pdf.com/20240930", "dts": { "schema": { "local": [ "pdfs-20240930.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/2023/calculation-1.1.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd", "https://xbrl.sec.gov/country/2024/country-2024.xsd", "https://xbrl.sec.gov/dei/2024/dei-2024.xsd", "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd", "https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd", "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd" ] }, "calculationLink": { "local": [ "pdfs-20240930_cal.xml" ] }, "definitionLink": { "local": [ "pdfs-20240930_def.xml" ] }, "labelLink": { "local": [ "pdfs-20240930_lab.xml" ] }, "presentationLink": { "local": [ "pdfs-20240930_pre.xml" ] }, "inline": { "local": [ "pdfs-20240930x10q.htm" ] } }, "keyStandard": 300, "keyCustom": 43, "axisStandard": 23, "axisCustom": 0, "memberStandard": 40, "memberCustom": 22, "hidden": { "total": 25, "http://fasb.org/us-gaap/2024": 16, "http://xbrl.sec.gov/dei/2024": 5, "http://www.pdf.com/20240930": 4 }, "contextCount": 256, "entityCount": 1, "segmentCount": 65, "elementCount": 588, "unitCount": 4, "baseTaxonomies": { "http://fasb.org/us-gaap/2024": 808, "http://xbrl.sec.gov/dei/2024": 29, "http://xbrl.sec.gov/ecd/2024": 4, "http://fasb.org/srt/2024": 2 }, "report": { "R1": { "role": "http://www.pdf.com/role/DocumentDocumentAndEntityInformation", "longName": "995200090 - Document - Document And Entity Information", "shortName": "Document And Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets", "longName": "995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsParentheticals", "longName": "995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parentheticals)", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parentheticals)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss", "longName": "995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "us-gaap:CostOfRevenue", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "unique": true } }, "R5": { "role": "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity", "longName": "995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_NuUGeM-U2EeHaqTWf7TIAA", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_nr1-J-b5IkW1jXfz7WBLVw", "name": "us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "unique": true } }, "R6": { "role": "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "longName": "995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.pdf.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies", "longName": "995210101 - Disclosure - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "shortName": "BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "7", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomers", "longName": "995210201 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS", "shortName": "REVENUE FROM CONTRACTS WITH CUSTOMERS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.pdf.com/role/DisclosureBalanceSheetComponents", "longName": "995210301 - Disclosure - BALANCE SHEET COMPONENTS", "shortName": "BALANCE SHEET COMPONENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.pdf.com/role/DisclosureLeases", "longName": "995210401 - Disclosure - LEASES", "shortName": "LEASES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.pdf.com/role/DisclosureStockholdersEquity", "longName": "995210501 - Disclosure - STOCKHOLDERS' EQUITY", "shortName": "STOCKHOLDERS' EQUITY", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.pdf.com/role/DisclosureEmployeeBenefitPlans", "longName": "995210601 - Disclosure - EMPLOYEE BENEFIT PLANS", "shortName": "EMPLOYEE BENEFIT PLANS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.pdf.com/role/DisclosureIncomeTaxes", "longName": "995210701 - Disclosure - INCOME TAXES", "shortName": "INCOME TAXES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.pdf.com/role/DisclosureNetIncomeLossPerShare", "longName": "995210801 - Disclosure - NET INCOME (LOSS) PER SHARE", "shortName": "NET INCOME (LOSS) PER SHARE", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformation", "longName": "995210901 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION", "shortName": "CUSTOMER AND GEOGRAPHIC INFORMATION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.pdf.com/role/DisclosureFairValueMeasurements", "longName": "995211001 - Disclosure - FAIR VALUE MEASUREMENTS", "shortName": "FAIR VALUE MEASUREMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.pdf.com/role/DisclosureCommitmentsAndContingencies", "longName": "995211101 - Disclosure - COMMITMENTS AND CONTINGENCIES", "shortName": "COMMITMENTS AND CONTINGENCIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactions", "longName": "995211201 - Disclosure - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS", "shortName": "STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R19": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true }, "uniqueAnchor": null }, "R20": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies", "longName": "99920102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "21", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersTables", "longName": "99930203 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables)", "shortName": "REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "22", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "pdfs:DisaggregationOfRevenueFromContractsWithCustomersPolicyTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "pdfs:DisaggregationOfRevenueFromContractsWithCustomersPolicyTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.pdf.com/role/DisclosureBalanceSheetComponentsTables", "longName": "99930303 - Disclosure - BALANCE SHEET COMPONENTS (Tables)", "shortName": "BALANCE SHEET COMPONENTS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "23", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.pdf.com/role/DisclosureLeasesTables", "longName": "99930403 - Disclosure - LEASES (Tables)", "shortName": "LEASES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "24", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansTables", "longName": "99930603 - Disclosure - EMPLOYEE BENEFIT PLANS (Tables)", "shortName": "EMPLOYEE BENEFIT PLANS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EmployeeStockOwnershipPlanESOPPolicy", "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EmployeeStockOwnershipPlanESOPPolicy", "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareTables", "longName": "99930803 - Disclosure - NET INCOME (LOSS) PER SHARE (Tables)", "shortName": "NET INCOME (LOSS) PER SHARE (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationTables", "longName": "99930903 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION (Tables)", "shortName": "CUSTOMER AND GEOGRAPHIC INFORMATION (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.pdf.com/role/DisclosureFairValueMeasurementsTables", "longName": "99931003 - Disclosure - FAIR VALUE MEASUREMENTS (Tables)", "shortName": "FAIR VALUE MEASUREMENTS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails", "longName": "99940201 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS (Details)", "shortName": "REVENUE FROM CONTRACTS WITH CUSTOMERS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "29", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "pdfs:NumberOfRevenueSources", "unitRef": "Unit_Standard_pure_zYKk-v88TUKJEZgdRzIfMA", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "pdfs:NumberOfRevenueSources", "unitRef": "Unit_Standard_pure_zYKk-v88TUKJEZgdRzIfMA", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails", "longName": "99940202 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenue (Details)", "shortName": "REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "30", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "pdfs:PercentOfRevenue", "unitRef": "Unit_Standard_pure_zYKk-v88TUKJEZgdRzIfMA", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "pdfs:DisaggregationOfRevenueFromContractsWithCustomersPolicyTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "pdfs:PercentOfRevenue", "unitRef": "Unit_Standard_pure_zYKk-v88TUKJEZgdRzIfMA", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "pdfs:DisaggregationOfRevenueFromContractsWithCustomersPolicyTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersContractBalancesDetails", "longName": "99940203 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Contract Balances (Details)", "shortName": "REVENUE FROM CONTRACTS WITH CUSTOMERS - Contract Balances (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "31", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:ContractWithCustomerAssetNetNoncurrent", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:ContractWithCustomerAssetNet", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "unique": true } }, "R32": { "role": "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDeferredRevenuesDetails", "longName": "99940204 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Deferred Revenues (Details)", "shortName": "REVENUE FROM CONTRACTS WITH CUSTOMERS - Deferred Revenues (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "32", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:DeferredRevenueCurrent", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_cyLYCevXwkiHXxeN-dQj1A", "name": "us-gaap:DeferredRevenueNoncurrent", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock", "ix:continuation", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "unique": true } }, "R33": { "role": "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersCostsToObtainOrFulfillContractDetails", "longName": "99940205 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Costs to Obtain or Fulfill a Contract (Details)", "shortName": "REVENUE FROM CONTRACTS WITH CUSTOMERS - Costs to Obtain or Fulfill a Contract (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "33", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:CapitalizedContractCostNetNoncurrent", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_cyLYCevXwkiHXxeN-dQj1A", "name": "us-gaap:CapitalizedContractCostNet", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:CapitalizedContractCostTableTextBlock", "pdfs:CostsToObtainOrFulfillContractPolicyTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "unique": true } }, "R34": { "role": "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetails", "longName": "99940206 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Additional Information (Details)", "shortName": "REVENUE FROM CONTRACTS WITH CUSTOMERS - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "34", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_srt_MajorCustomersAxis_pdfs_AdvantestAmericaIncMember_srt_ProductOrServiceAxis_pdfs_SoftwareLicenseAndRelatedServicesAgreementMember_9FzKn6u3O0abSpSi7GNdfQ", "name": "us-gaap:ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "ix:continuation", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_srt_MajorCustomersAxis_pdfs_AdvantestAmericaIncMember_srt_ProductOrServiceAxis_pdfs_SoftwareLicenseAndRelatedServicesAgreementMember_9FzKn6u3O0abSpSi7GNdfQ", "name": "us-gaap:ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "ix:continuation", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails", "longName": "99940301 - Disclosure - BALANCE SHEET COMPONENTS (Details)", "shortName": "BALANCE SHEET COMPONENTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:UnbilledReceivablesNotBillableAtBalanceSheetDateAmountExpectedToBeCollectedAfterOneYear", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "us-gaap:DepreciationAndAmortization", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "unique": true } }, "R36": { "role": "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails", "longName": "99940302 - Disclosure - BALANCE SHEET COMPONENTS - Property and Equipment (Details)", "shortName": "BALANCE SHEET COMPONENTS - Property and Equipment (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails", "longName": "99940303 - Disclosure - BALANCE SHEET COMPONENTS - Intangible Assets (Details)", "shortName": "BALANCE SHEET COMPONENTS - Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_cyLYCevXwkiHXxeN-dQj1A", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "unique": true } }, "R38": { "role": "http://www.pdf.com/role/DisclosureBalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails", "longName": "99940304 - Disclosure - BALANCE SHEET COMPONENTS - Annual Amortization of Identifiable Intangible Assets (Details)", "shortName": "BALANCE SHEET COMPONENTS - Annual Amortization of Identifiable Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.pdf.com/role/DisclosureBalanceSheetComponentsOtherNonCurrentAssetsDetails", "longName": "99940305 - Disclosure - BALANCE SHEET COMPONENTS - Other Non-current Assets (Details)", "shortName": "BALANCE SHEET COMPONENTS - Other Non-current Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:CapitalizedContractCostNetNoncurrent", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:PrepaidExpenseOtherNoncurrent", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "unique": true } }, "R40": { "role": "http://www.pdf.com/role/DisclosureBalanceSheetComponentsNetInvestmentInSalesTypeLeasesDetails", "longName": "99940306 - Disclosure - BALANCE SHEET COMPONENTS - Net Investment in Sales-type Leases (Details)", "shortName": "BALANCE SHEET COMPONENTS - Net Investment in Sales-type Leases (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:SalesTypeLeaseLeaseReceivable", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:SalesTypeLeaseUnguaranteedResidualAsset", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "unique": true } }, "R41": { "role": "http://www.pdf.com/role/DisclosureBalanceSheetComponentsMaturitiesOfLeasePaymentsUnderSalesTypeLeasesDetails", "longName": "99940307 - Disclosure - BALANCE SHEET COMPONENTS - Maturities of Lease Payments Under Sales-type Leases (Details)", "shortName": "BALANCE SHEET COMPONENTS - Maturities of Lease Payments Under Sales-type Leases (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.pdf.com/role/DisclosureLeasesDetails", "longName": "99940401 - Disclosure - LEASES (Details)", "shortName": "LEASES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "pdfs:NumberOfFinanceLeases", "unitRef": "Unit_Standard_pure_zYKk-v88TUKJEZgdRzIfMA", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "pdfs:NumberOfFinanceLeases", "unitRef": "Unit_Standard_pure_zYKk-v88TUKJEZgdRzIfMA", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.pdf.com/role/DisclosureLeasesComponentsOfOperatingLeaseExpenseDetails", "longName": "99940402 - Disclosure - LEASES - Components of Operating Lease Expense (Details)", "shortName": "LEASES - Components of Operating Lease Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "us-gaap:OperatingLeaseCost", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "us-gaap:OperatingLeaseCost", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.pdf.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilitiesDetails", "longName": "99940403 - Disclosure - LEASES - Maturity of Operating Lease Liabilities (Details)", "shortName": "LEASES - Maturity of Operating Lease Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.pdf.com/role/DisclosureStockholdersEquityDetails", "longName": "99940501 - Disclosure - STOCKHOLDERS EQUITY (Details)", "shortName": "STOCKHOLDERS EQUITY (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "As_Of_4_11_2022_srt_ShareRepurchaseProgramAxis_pdfs_StockRepurchaseProgram2022Member_FmFNYm9ZRE2RQ-4G3zs88g", "name": "srt:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_4_11_2022_srt_ShareRepurchaseProgramAxis_pdfs_StockRepurchaseProgram2022Member_FmFNYm9ZRE2RQ-4G3zs88g", "name": "srt:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails", "longName": "99940601 - Disclosure - EMPLOYEE BENEFIT PLANS - Narrative (Details)", "shortName": "EMPLOYEE BENEFIT PLANS - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansValuationAssumptionsForEsppDetails", "longName": "99940602 - Disclosure - EMPLOYEE BENEFIT PLANS - Valuation Assumptions for ESPP (Details)", "shortName": "EMPLOYEE BENEFIT PLANS - Valuation Assumptions for ESPP (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_us-gaap_PlanNameAxis_pdfs_PurchasePlanYear2021Member_gpogO6YMO0mxATYoXRXS7A", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock", "us-gaap:EmployeeStockOwnershipPlanESOPPolicy", "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_us-gaap_PlanNameAxis_pdfs_PurchasePlanYear2021Member_gpogO6YMO0mxATYoXRXS7A", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock", "us-gaap:EmployeeStockOwnershipPlanESOPPolicy", "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails", "longName": "99940603 - Disclosure - EMPLOYEE BENEFIT PLANS - Allocation of Recognized Period Costs (Details)", "shortName": "EMPLOYEE BENEFIT PLANS - Allocation of Recognized Period Costs (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails", "longName": "99940604 - Disclosure - EMPLOYEE BENEFIT PLANS - Stock Options Activity (Details)", "shortName": "EMPLOYEE BENEFIT PLANS - Stock Options Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_pdfs_EmployeeStockPurchasePlanMember_flsxvYR7xU-E9NaeXs9sZg", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Unit_Standard_shares_Uw6fiXTF3EmbGAxIukgEfw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_pdfs_EmployeeStockPurchasePlanMember_flsxvYR7xU-E9NaeXs9sZg", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Unit_Standard_shares_Uw6fiXTF3EmbGAxIukgEfw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails", "longName": "99940605 - Disclosure - EMPLOYEE BENEFIT PLANS - Nonvested Restricted Stock Units Activity (Details)", "shortName": "EMPLOYEE BENEFIT PLANS - Nonvested Restricted Stock Units Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FSmZt5l1N0arXNMt1Y6L3A", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Unit_Standard_shares_Uw6fiXTF3EmbGAxIukgEfw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FSmZt5l1N0arXNMt1Y6L3A", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Unit_Standard_shares_Uw6fiXTF3EmbGAxIukgEfw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.pdf.com/role/DisclosureIncomeTaxesNarrativeDetails", "longName": "99940701 - Disclosure - INCOME TAXES - Narrative (Details)", "shortName": "INCOME TAXES - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:IncreaseDecreaseInIncomeTaxes", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:IncreaseDecreaseInIncomeTaxes", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareCalculationOfEarningsPerShareDetails", "longName": "99940801 - Disclosure - NET INCOME (LOSS) PER SHARE - Calculation of Earnings Per Share (Details)", "shortName": "NET INCOME (LOSS) PER SHARE - Calculation of Earnings Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment", "unitRef": "Unit_Standard_shares_Uw6fiXTF3EmbGAxIukgEfw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "unique": true } }, "R53": { "role": "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareAntiDilutiveSecuritiesDetails", "longName": "99940802 - Disclosure - NET INCOME (LOSS) PER SHARE - Anti-dilutive Securities (Details)", "shortName": "NET INCOME (LOSS) PER SHARE - Anti-dilutive Securities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "Unit_Standard_shares_Uw6fiXTF3EmbGAxIukgEfw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "Unit_Standard_shares_Uw6fiXTF3EmbGAxIukgEfw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationOtherDetails", "longName": "99940901 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION - Other (Details)", "shortName": "CUSTOMER AND GEOGRAPHIC INFORMATION - Other (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "Unit_Standard_pure_zYKk-v88TUKJEZgdRzIfMA", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "Unit_Standard_pure_zYKk-v88TUKJEZgdRzIfMA", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "longName": "99940902 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenue Percentage by Major Customers (Details)", "shortName": "CUSTOMER AND GEOGRAPHIC INFORMATION - Revenue Percentage by Major Customers (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_srt_MajorCustomersAxis_pdfs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_OX9Cd6AVRkCKkcM5XYepiQ", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Unit_Standard_pure_zYKk-v88TUKJEZgdRzIfMA", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "p", "td", "tr", "table", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_srt_MajorCustomersAxis_pdfs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_OX9Cd6AVRkCKkcM5XYepiQ", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Unit_Standard_pure_zYKk-v88TUKJEZgdRzIfMA", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "p", "td", "tr", "table", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "longName": "99940903 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenues by Geographic Area (Details)", "shortName": "CUSTOMER AND GEOGRAPHIC INFORMATION - Revenues by Geographic Area (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_Zg3u-yjqIUOI1xXbl7aqjQ", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_GeographicConcentrationRiskMember_x6haWCVaCkS5BXCwNswvjA", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "unique": true } }, "R57": { "role": "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails", "longName": "99940904 - Disclosure - CUSTOMER AND GEOGRAPHIC INFORMATION - Long-lived Assets by Geographic Area (Details)", "shortName": "CUSTOMER AND GEOGRAPHIC INFORMATION - Long-lived Assets by Geographic Area (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:NoncurrentAssets", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:NoncurrentAssets", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails", "longName": "99941001 - Disclosure - FAIR VALUE MEASUREMENTS - Assets Measured on a Recurring Basis (Details)", "shortName": "FAIR VALUE MEASUREMENTS - Assets Measured on a Recurring Basis (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.pdf.com/role/DisclosureFairValueMeasurementsOtherDetails", "longName": "99941002 - Disclosure - FAIR VALUE MEASUREMENTS - Other (Details)", "shortName": "FAIR VALUE MEASUREMENTS - Other (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:ReceivableWithImputedInterestEffectiveYieldInterestRate", "unitRef": "Unit_Standard_pure_zYKk-v88TUKJEZgdRzIfMA", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_Y3PwUXFuhU6ZdeA2kyItCA", "name": "us-gaap:ReceivableWithImputedInterestEffectiveYieldInterestRate", "unitRef": "Unit_Standard_pure_zYKk-v88TUKJEZgdRzIfMA", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.pdf.com/role/DisclosureCommitmentsAndContingenciesDetails", "longName": "99941101 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details)", "shortName": "COMMITMENTS AND CONTINGENCIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "As_Of_9_30_2024_WAR1Uim-IEeKtz0Il3GPdw", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_srt_StatementScenarioAxis_pdfs_IndemnificationsMember_8Q2x7ch_iEao6Nlf6Cgu2w", "name": "pdfs:TermOfProductWarranty", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "unique": true } }, "R61": { "role": "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails", "longName": "99941201 - Disclosure - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS (Details)", "shortName": "STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_srt_ProductOrServiceAxis_pdfs_AnalyticsMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_AffiliatedEntityMember_iO4Ta2jy80CO5MacXKFGPQ", "name": "pdfs:AdvantestAnalyticsRevenue", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_srt_ProductOrServiceAxis_pdfs_AnalyticsMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_AffiliatedEntityMember_iO4Ta2jy80CO5MacXKFGPQ", "name": "pdfs:AdvantestAnalyticsRevenue", "unitRef": "Unit_Standard_USD_EU_6Dmxi20aMKSkFJmUc5Q", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pdfs-20240930x10q.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_AcceleratedShareRepurchasesFinalPricePaidPerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AcceleratedShareRepurchasesFinalPricePaidPerShare", "presentation": [ "http://www.pdf.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Accelerated Share Repurchases, Final Price Paid Per Share", "terseLabel": "Repurchase of common stock, weighted-average price per share", "documentation": "Final price paid per share for the purchase of the targeted number of shares, determined by an average market price over a fixed period of time." } } }, "auth_ref": [ "r85" ] }, "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES:" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsPayableCurrent", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Payable, Current", "terseLabel": "Accounts payable", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r47", "r694" ] }, "us-gaap_AccountsReceivableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsReceivableMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable [Member]", "verboseLabel": "Accounts Receivable", "documentation": "Due from customers or clients for goods or services that have been delivered or sold." } } }, "auth_ref": [ "r634" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, net of allowance for credit losses of $890 as of September 30, 2024 and December 31, 2023", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r843" ] }, "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Accretion (Amortization) of Discounts and Premiums, Investments", "negatedLabel": "Net accretion of discounts on short-term investments", "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r75" ] }, "us-gaap_AccruedIncomeTaxesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedIncomeTaxesNoncurrent", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Income Taxes, Noncurrent", "terseLabel": "Long-term income taxes", "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all domestic and foreign income tax obligations due beyond one year or the operating cycle, whichever is longer. Alternate captions include income taxes payable, noncurrent." } } }, "auth_ref": [ "r52", "r97" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current", "terseLabel": "Accrued and other current liabilities", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r49" ] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedLabel": "Less: accumulated depreciation and amortization", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r31", "r153", "r520" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r13", "r14", "r62", "r159", "r516", "r545", "r546" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "AOCI Attributable to Parent [Member]", "verboseLabel": "Accumulated Other Comprehensive Loss", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r1", "r7", "r14", "r409", "r412", "r459", "r541", "r542", "r822", "r823", "r824", "r831", "r832", "r833", "r835" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails", "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life", "terseLabel": "Intangible assets, amortization period", "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r257", "r648" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r758" ] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalPaidInCapital", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Additional Paid in Capital", "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock." } } }, "auth_ref": [ "r57", "r694", "r966" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Additional Paid-in Capital [Member]", "verboseLabel": "Additional Paid-in Capital", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r558", "r831", "r832", "r833", "r835", "r908", "r967" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r771" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r771" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r771" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r771" ] }, "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation", "negatedLabel": "Purchases of treasury stock in connection with tax withholdings on vesting of restricted stock awards", "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition", "verboseLabel": "Stock-based compensation expense", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for option under share-based payment arrangement." } } }, "auth_ref": [] }, "pdfs_AdvancesForPurchaseOfFixedAssetsTransferredFromPrepaidAssetsToPropertyAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "AdvancesForPurchaseOfFixedAssetsTransferredFromPrepaidAssetsToPropertyAndEquipment", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Represents advances for purchase of fixed assets transferred from prepaid assets to property and equipment.", "label": "Advances For Purchase Of Fixed Assets Transferred From Prepaid Assets To Property And Equipment", "verboseLabel": "Advances for purchase of fixed assets transferred from prepaid assets to property and equipment" } } }, "auth_ref": [] }, "pdfs_AdvantestAmericaIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "AdvantestAmericaIncMember", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to Advantest America, Inc.", "label": "Advantest America, Inc. [Member]", "verboseLabel": "Advantest America, Inc." } } }, "auth_ref": [] }, "pdfs_AdvantestAnalyticsRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "AdvantestAnalyticsRevenue", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized from the strategic partnership with Advantest.", "label": "Advantest Analytics Revenue", "terseLabel": "Related party revenue" } } }, "auth_ref": [] }, "srt_AffiliatedEntityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "AffiliatedEntityMember", "presentation": [ "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Affiliated Entity [Member]", "terseLabel": "Advantest America, Inc.", "documentation": "An affiliate is a party that, directly or indirectly through one or more intermediaries, controls, is controlled by, or is under common control with the entity." } } }, "auth_ref": [ "r136", "r592", "r640", "r714", "r879", "r919", "r920", "r921" ] }, "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]", "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table" } } }, "auth_ref": [ "r804" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r730", "r740", "r750", "r782" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r733", "r743", "r753", "r785" ] }, "ecd_AggtPnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtPnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Pension Adjustments Service Cost [Member]", "terseLabel": "Aggregate Pension Adjustments Service Cost" } } }, "auth_ref": [ "r805" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r771" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r778" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r734", "r744", "r754", "r778", "r786", "r790", "r798" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r796" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r362", "r368" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsParentheticals" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, allowance for credit losses", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r160", "r235", "r240" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "AmendmentFlag", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "pdfs_AmortizationOfAcquiredIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "AmortizationOfAcquiredIntangibleAssetsNet", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "The total 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 acquired intangible assets, net", "totalLabel": "Total amortization of acquired intangible assets" } } }, "auth_ref": [] }, "pdfs_AmortizationOfAcquiredIntangibleAssetsPresentedInIncomeStatement": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "AmortizationOfAcquiredIntangibleAssetsPresentedInIncomeStatement", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "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.", "label": "Amortization of acquired intangible assets presented in the income statement", "terseLabel": "Amortization of acquired intangible assets presented separately under costs and expenses" } } }, "auth_ref": [] }, "pdfs_AmortizationOfAcquiredIntangibleAssetsTechnology": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "AmortizationOfAcquiredIntangibleAssetsTechnology", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of technology-based 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 acquired intangible assets, technology", "terseLabel": "Amortization of acquired technology included under Costs of revenues" } } }, "auth_ref": [] }, "us-gaap_AmortizationOfAcquisitionCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AmortizationOfAcquisitionCosts", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Amortization of Acquisition Costs", "verboseLabel": "Amortization of acquired intangible assets", "documentation": "The amount of expense recognized in the current period that reflects the allocation of capitalized costs associated with acquisition of business. 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." } } }, "auth_ref": [ "r5" ] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Amortization of Intangible Assets", "terseLabel": "Amortization of acquired intangible assets", "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." } } }, "auth_ref": [ "r5", "r254", "r260", "r666" ] }, "pdfs_AmortizationPeriodOfIntangibleAssets": { "xbrltype": "durationItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "AmortizationPeriodOfIntangibleAssets", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Amortization Period of Intangible Assets", "terseLabel": "Amortization Period (Year)" } } }, "auth_ref": [] }, "pdfs_AnalyticsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "AnalyticsMember", "presentation": [ "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to analytics.", "label": "Analytics [Member]", "verboseLabel": "Analytics" } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareAntiDilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Antidilutive securities excluded from EPS", "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented." } } }, "auth_ref": [ "r202" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "presentation": [ "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareAntiDilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities [Axis]", "documentation": "Information by type of antidilutive security." } } }, "auth_ref": [ "r24" ] }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AntidilutiveSecuritiesNameDomain", "presentation": [ "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareAntiDilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities, Name [Domain]", "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented." } } }, "auth_ref": [ "r24" ] }, "us-gaap_ArrangementsAndNonarrangementTransactionsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ArrangementsAndNonarrangementTransactionsMember", "presentation": [ "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Domain]", "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations." } } }, "auth_ref": [ "r400" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Assets", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "Total assets", "documentation": "Amount of asset recognized for present right to economic benefit." } } }, "auth_ref": [ "r96", "r106", "r157", "r177", "r207", "r213", "r223", "r226", "r237", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r402", "r406", "r434", "r512", "r585", "r659", "r660", "r694", "r721", "r872", "r873", "r922" ] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsCurrent", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "documentation": "Amount of asset recognized for present right to economic benefit, classified as current." } } }, "auth_ref": [ "r149", "r161", "r177", "r237", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r402", "r406", "r434", "r694", "r872", "r873", "r922" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AvailableForSaleSecuritiesDebtSecurities", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale", "verboseLabel": "U.S. Government securities (1)", "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r236", "r245", "r419", "r507", "r684", "r688", "r847", "r911", "r912", "r913" ] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r793" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r794" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r789" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r789" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r789" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r789" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r789" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r789" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AwardTypeAxis", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r333", "r334", "r335", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r357", "r358", "r359", "r360", "r361" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r792" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r791" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r790" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r790" ] }, "us-gaap_BalanceSheetLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BalanceSheetLocationAxis", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails", "http://www.pdf.com/role/DisclosureFairValueMeasurementsOtherDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersContractBalancesDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersCostsToObtainOrFulfillContractDetails" ], "lang": { "en-us": { "role": { "label": "Statement of Financial Position Location, Balance [Axis]", "documentation": "Information by location in statement of financial position where disaggregated cumulative balance has been reported." } } }, "auth_ref": [ "r266", "r934", "r935" ] }, "us-gaap_BalanceSheetLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BalanceSheetLocationDomain", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails", "http://www.pdf.com/role/DisclosureFairValueMeasurementsOtherDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersContractBalancesDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersCostsToObtainOrFulfillContractDetails" ], "lang": { "en-us": { "role": { "label": "Statement of Financial Position Location, Balance [Domain]", "documentation": "Location in statement of financial position where disaggregated cumulative balance has been reported." } } }, "auth_ref": [ "r43", "r44", "r266", "r934", "r935" ] }, "us-gaap_BalanceSheetRelatedDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BalanceSheetRelatedDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "BALANCE SHEET COMPONENTS" } } }, "auth_ref": [] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation, Policy", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "terseLabel": "BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r76" ] }, "country_CN": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "CN", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "CHINA", "verboseLabel": "China" } } }, "auth_ref": [] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Capital Expenditures Incurred but Not yet Paid", "verboseLabel": "Property and equipment received and accrued in accounts payable and accrued and other liabilities", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r21", "r22", "r23" ] }, "us-gaap_CapitalizedContractCostAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CapitalizedContractCostAmortization", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersCostsToObtainOrFulfillContractDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Capitalized Contract Cost, Amortization", "terseLabel": "Amortization of capitalized direct sales commission costs", "verboseLabel": "Amortization of costs capitalized to obtain revenue contracts", "documentation": "Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer." } } }, "auth_ref": [ "r247" ] }, "us-gaap_CapitalizedContractCostImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CapitalizedContractCostImpairmentLoss", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersCostsToObtainOrFulfillContractDetails" ], "lang": { "en-us": { "role": { "label": "Capitalized Contract Cost, Impairment Loss", "terseLabel": "Impairment losses related to capitalized contract costs", "documentation": "Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer." } } }, "auth_ref": [ "r247" ] }, "us-gaap_CapitalizedContractCostNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CapitalizedContractCostNet", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersCostsToObtainOrFulfillContractDetails" ], "lang": { "en-us": { "role": { "label": "Capitalized Contract Cost, Net", "totalLabel": "Total capitalized direct sales commission costs", "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer." } } }, "auth_ref": [ "r246" ] }, "us-gaap_CapitalizedContractCostNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CapitalizedContractCostNetCurrent", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersCostsToObtainOrFulfillContractDetails" ], "lang": { "en-us": { "role": { "label": "Capitalized Contract Cost, Net, Current", "verboseLabel": "Current portion included in prepaid expenses and other current assets", "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as current." } } }, "auth_ref": [ "r246" ] }, "us-gaap_CapitalizedContractCostNetNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CapitalizedContractCostNetNoncurrent", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsOtherNonCurrentAssetsDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersCostsToObtainOrFulfillContractDetails" ], "lang": { "en-us": { "role": { "label": "Capitalized Contract Cost, Net, Noncurrent", "terseLabel": "Costs capitalized to obtain revenue contracts - non-current (1)", "verboseLabel": "Non-current portion included in other non-current assets", "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as noncurrent." } } }, "auth_ref": [ "r246" ] }, "us-gaap_CapitalizedContractCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CapitalizedContractCostTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersTables" ], "lang": { "en-us": { "role": { "label": "Capitalized Contract Cost [Table Text Block]", "terseLabel": "Schedule of Capitalized Direct Sales Commission Costs (in Thousands):", "documentation": "Tabular disclosure of cost capitalized in obtaining or fulfilling contract with customer." } } }, "auth_ref": [ "r852" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r19", "r151", "r652" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Fair Value Disclosure", "verboseLabel": "Cash equivalents", "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." } } }, "auth_ref": [ "r909", "r910" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations", "periodEndLabel": "Cash and cash equivalents at end of period", "periodStartLabel": "Cash and cash equivalents at beginning of period", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r19", "r72", "r175" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net change in cash and cash equivalents", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r0", "r72" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r769" ] }, "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]", "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year" } } }, "auth_ref": [ "r766" ] }, "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]", "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested" } } }, "auth_ref": [ "r764" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CityAreaCode", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r770" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r770" ] }, "us-gaap_CollaborativeArrangementMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CollaborativeArrangementMember", "presentation": [ "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Collaborative Arrangement [Member]", "terseLabel": "Securities Purchase Agreement", "documentation": "Contractual arrangement that involves two or more parties that both: (i) actively participate in a joint operating activity and (ii) are exposed to significant risks and rewards that depend on the commercial success of the joint operating activity." } } }, "auth_ref": [ "r400" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "COMMITMENTS AND CONTINGENCIES:" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureCommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "COMMITMENTS AND CONTINGENCIES", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r82", "r268", "r269", "r635", "r867", "r869" ] }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Common Stock, Capital Shares Reserved for Future Issuance", "terseLabel": "Capital Shares Reserved for Future Issuance", "documentation": "Aggregate number of common shares reserved for future issuance." } } }, "auth_ref": [ "r56" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockMember", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock [Member]", "verboseLabel": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r711", "r712", "r713", "r715", "r716", "r717", "r718", "r831", "r832", "r835", "r908", "r965", "r967" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsParentheticals" ], "lang": { "en-us": { "role": { "label": "Common Stock, Par or Stated Value Per Share", "verboseLabel": "Common stock, par value", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r56" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsParentheticals" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r56", "r572" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsParentheticals" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r56" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsParentheticals" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r8", "r56", "r572", "r591", "r967", "r968" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockValue", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "terseLabel": "Common stock, $0.00015 par value, 70,000 shares authorized; shares issued 50,668 and 49,749, respectively; shares outstanding 38,763 and 38,289, respectively", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r56", "r515", "r694" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r775" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r774" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r776" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r773" ] }, "us-gaap_CompensationAndEmployeeBenefitPlansTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CompensationAndEmployeeBenefitPlansTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlans" ], "lang": { "en-us": { "role": { "label": "Compensation and Employee Benefit Plans [Text Block]", "terseLabel": "EMPLOYEE BENEFIT PLANS", "documentation": "The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans." } } }, "auth_ref": [ "r86", "r87", "r88", "r89" ] }, "us-gaap_CompensationAndRetirementDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CompensationAndRetirementDisclosureAbstract", "lang": { "en-us": { "role": { "label": "EMPLOYEE BENEFIT PLANS:" } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "terseLabel": "Comprehensive income (loss)", "totalLabel": "Comprehensive income", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r15", "r164", "r166", "r170", "r508", "r526", "r527" ] }, "us-gaap_ComputerEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComputerEquipmentMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Computer Equipment [Member]", "verboseLabel": "Computer Equipment", "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems." } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r26", "r28", "r45", "r46", "r233", "r634" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r26", "r28", "r45", "r46", "r233", "r548", "r634" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Axis]", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r26", "r28", "r45", "r46", "r233", "r634", "r813" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Percentage", "terseLabel": "Significant customer concentration (percentage)", "verboseLabel": "Percentage of Revenues", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r26", "r28", "r45", "r46", "r233" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Domain]", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "auth_ref": [ "r26", "r28", "r45", "r46", "r233", "r634" ] }, "us-gaap_ConstructionInProgressMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConstructionInProgressMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Construction in Progress [Member]", "verboseLabel": "Property and Equipment in Progress", "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service." } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersTables" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]", "terseLabel": "Schedule of Contract Assets (Liabilities) Recorded on a Net Basis with Deferred Revenue (in Thousands):", "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability." } } }, "auth_ref": [ "r876" ] }, "us-gaap_ContractWithCustomerAssetNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerAssetNet", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersContractBalancesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset, after Allowance for Credit Loss", "totalLabel": "Total contract assets", "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." } } }, "auth_ref": [ "r298", "r300", "r320" ] }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerAssetNetCurrent", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersContractBalancesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Current", "verboseLabel": "Current portion included in prepaid expenses and other current assets", "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current." } } }, "auth_ref": [ "r298", "r300", "r320" ] }, "us-gaap_ContractWithCustomerAssetNetNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerAssetNetNoncurrent", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsOtherNonCurrentAssetsDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersContractBalancesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Noncurrent", "terseLabel": "Non-current portion included in other non-current assets", "verboseLabel": "Contract assets - non-current (1)", "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as noncurrent." } } }, "auth_ref": [ "r298", "r300", "r320" ] }, "us-gaap_ContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerLiability", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability", "verboseLabel": "Related party deferred revenue", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r298", "r299", "r320" ] }, "pdfs_ContractWithCustomerLiabilityBillingsInExcessOfRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "ContractWithCustomerLiabilityBillingsInExcessOfRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "documentation": "Liability attributable to (i) billings in excess of costs under the percentage of completion contract accounting method representing the difference between contractually invoiced amounts (billings) and revenue recognized based, for example, on costs incurred to estimated total costs at period end or (ii) contractually invoiced amounts (billings) in excess of costs incurred and accumulated under the completed contract accounting method that are expected to be realized within one year or one operating cycle, whichever is longer, from the reporting date.", "label": "Billings in excess of recognized revenues" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Performance Obligation Satisfied in Previous Period", "terseLabel": "Revenue performance obligations satisfied in previous period", "documentation": "Amount of revenue recognized from performance obligation satisfied or partially satisfied in previous reporting periods. Includes, but is not limited to, change in transaction price." } } }, "auth_ref": [ "r307" ] }, "us-gaap_CostOfRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CostOfRevenue", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Cost of Revenue", "terseLabel": "Costs of revenues", "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period." } } }, "auth_ref": [ "r65", "r177", "r237", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r434", "r659", "r872" ] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CostOfSalesMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails" ], "lang": { "en-us": { "role": { "label": "Cost of Sales [Member]", "verboseLabel": "Costs of Revenues", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "us-gaap_CostsAndExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CostsAndExpensesAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Costs and Expenses [Abstract]" } } }, "auth_ref": [] }, "pdfs_CostsAndExpensesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "CostsAndExpensesMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to costs and expenses\n.", "label": "Costs and Expenses" } } }, "auth_ref": [] }, "pdfs_CostsToObtainOrFulfillContractPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "CostsToObtainOrFulfillContractPolicyTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for costs to obtain or fulfill a contract.", "label": "Costs to Obtain or Fulfill a Contract [Policy Text Block]", "terseLabel": "Costs to Obtain or Fulfill a Contract, Policy" } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Document and Entity Information", "documentation": "Cover page." } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "pdfs_CurrentPortionOfSalesTypeLeaseReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "CurrentPortionOfSalesTypeLeaseReceivables", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsNetInvestmentInSalesTypeLeasesDetails" ], "lang": { "en-us": { "role": { "documentation": "Current portion of net investment in sales-type lease receivables.", "label": "Current portion of sales-type lease receivables", "terseLabel": "Less: Current portion of lease receivables under prepaid expenses and other current assets" } } }, "auth_ref": [] }, "pdfs_CustomerAMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "CustomerAMember", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to customer A.", "label": "Customer A [Member]", "terseLabel": "Customer A" } } }, "auth_ref": [] }, "pdfs_CustomerBMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "CustomerBMember", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to customer B.", "label": "Customer B [Member]", "terseLabel": "Customer B" } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Customer Concentration Risk [Member]", "verboseLabel": "Customer Concentration Risk", "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer." } } }, "auth_ref": [ "r77", "r233" ] }, "pdfs_CustomerDMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "CustomerDMember", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to customer D.", "label": "Customer D [Member]", "terseLabel": "Customer D" } } }, "auth_ref": [] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Customer Relationships [Member]", "verboseLabel": "Customer Relationships", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r42", "r855", "r856", "r857", "r858", "r860", "r862", "r865", "r866" ] }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtSecuritiesAvailableForSaleUnrealizedGainLoss", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale, Unrealized Gain (Loss)", "terseLabel": "Change in unrealized gain (loss) related to available-for-sale debt securities, net of tax", "documentation": "Amount of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r848", "r849" ] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred tax assets, net", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting." } } }, "auth_ref": [ "r373", "r374" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense (Benefit)", "verboseLabel": "Deferred taxes", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r5", "r114", "r830" ] }, "us-gaap_DeferredRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredRevenue", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDeferredRevenuesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Revenue", "totalLabel": "Total deferred revenues", "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r819" ] }, "us-gaap_DeferredRevenueByArrangementDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredRevenueByArrangementDisclosureTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersTables" ], "lang": { "en-us": { "role": { "label": "Deferred Revenue, by Arrangement, Disclosure [Table Text Block]", "terseLabel": "Schedule of Deferred Revenues (in Thousands):", "documentation": "Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date." } } }, "auth_ref": [] }, "us-gaap_DeferredRevenueCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredRevenueCurrent", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDeferredRevenuesDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Revenue, Current", "terseLabel": "Deferred revenues - current portion", "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." } } }, "auth_ref": [ "r818" ] }, "us-gaap_DeferredRevenueNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredRevenueNoncurrent", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDeferredRevenuesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Revenue, Noncurrent", "terseLabel": "Non-current portion (1)", "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 noncurrent." } } }, "auth_ref": [ "r819" ] }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredTaxAssetsValuationAllowance", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureIncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Valuation Allowance", "terseLabel": "Deferred Tax Assets, Valuation Allowance", "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized." } } }, "auth_ref": [ "r384" ] }, "us-gaap_DepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DepreciationAndAmortization", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization, Nonproduction", "terseLabel": "Depreciation and amortization", "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production." } } }, "auth_ref": [ "r5", "r30" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization", "verboseLabel": "Depreciation and amortization", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r5", "r207", "r217", "r226", "r659", "r660" ] }, "us-gaap_DevelopedTechnologyRightsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DevelopedTechnologyRightsMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Developed Technology Rights [Member]", "verboseLabel": "Developed Technology", "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property." } } }, "auth_ref": [ "r94", "r855", "r856", "r857", "r858", "r860", "r862", "r865", "r866" ] }, "pdfs_DisaggregationOfRevenueFromContractsWithCustomersPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "DisaggregationOfRevenueFromContractsWithCustomersPolicyTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the disaggregation of revenues from contracts with customers.", "label": "Disaggregation of Revenue from Contracts with Customers, [Policy Text Block]", "terseLabel": "Disaggregation of Revenue, Policy" } } }, "auth_ref": [] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of Disaggregation of Revenue Percentage by Timing of Revenue:", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r877" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r725" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentTransitionReport", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r757" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentType", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]", "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year" } } }, "auth_ref": [ "r768" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareAbstract", "lang": { "en-us": { "role": { "label": "NET INCOME (LOSS) PER SHARE:" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareCalculationOfEarningsPerShareDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic", "terseLabel": "Basic", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r171", "r184", "r185", "r186", "r187", "r188", "r189", "r195", "r197", "r199", "r200", "r201", "r206", "r396", "r399", "r416", "r417", "r509", "r528", "r653" ] }, "us-gaap_EarningsPerShareBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareBasicAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic [Abstract]", "terseLabel": "Net income per share:" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareCalculationOfEarningsPerShareDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r171", "r184", "r185", "r186", "r187", "r188", "r189", "r197", "r199", "r200", "r201", "r206", "r396", "r399", "r416", "r417", "r509", "r528", "r653" ] }, "us-gaap_EarningsPerSharePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerSharePolicyTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Policy [Policy Text Block]", "terseLabel": "Earnings Per Share, Policy", "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements." } } }, "auth_ref": [ "r24", "r25", "r203" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureNetIncomeLossPerShare" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Text Block]", "terseLabel": "NET INCOME (LOSS) PER SHARE", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r194", "r202", "r204", "r205" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations", "verboseLabel": "Effect of exchange rate changes on cash and cash equivalents", "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r916" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.pdf.com/role/DisclosureIncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Percent", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r376", "r681" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Employee-related Liabilities, Current", "terseLabel": "Accrued compensation and related benefits", "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)." } } }, "auth_ref": [ "r49" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "terseLabel": "Unrecognized Compensation", "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r363" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "terseLabel": "Unrecognized Compensation Recognition Period", "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." } } }, "auth_ref": [ "r363" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails", "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareAntiDilutiveSecuritiesDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "verboseLabel": "Outstanding Options", "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Employee Stock Ownership Plan (ESOP) Name [Axis]", "documentation": "Information by name of employee stock ownership plan." } } }, "auth_ref": [ "r37" ] }, "us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeStockOwnershipPlanESOPPlanDomain", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Employee Stock Ownership Plan (ESOP), Plan [Domain]", "documentation": "Entities identify multiple employee stock ownership plans by unique name." } } }, "auth_ref": [ "r38" ] }, "us-gaap_EmployeeStockOwnershipPlanESOPPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeStockOwnershipPlanESOPPolicy", "presentation": [ "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Employee Stock Ownership Plan (ESOP), Policy [Policy Text Block]", "terseLabel": "Employee Stock Purchase Plan, Policy", "documentation": "Disclosure of accounting policy for ESOP transactions, including the method of measuring compensation, the classification of dividends on ESOP shares, and the treatment of ESOP shares for EPS computations. If the employer has both old ESOP shares for which it does not adopt new guidance and new ESOP shares for which new guidance is required, these disclosures are required for both blocks of shares." } } }, "auth_ref": [ "r39" ] }, "us-gaap_EmployeeStockOwnershipPlanESOPWeightedAveragePurchasePriceOfSharesPurchased": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeStockOwnershipPlanESOPWeightedAveragePurchasePriceOfSharesPurchased", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Employee Stock Ownership Plan (ESOP), Weighted Average Purchase Price of Shares Purchased", "terseLabel": "Weighted Average Purchase Price", "documentation": "Weighted average purchase price of capital shares purchased through an employee stock ownership plan." } } }, "auth_ref": [] }, "pdfs_EmployeeStockPlansMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "EmployeeStockPlansMember", "presentation": [ "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareAntiDilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Company's various stock purchase and stock incentive plans.", "label": "Employee Stock Plans [Member]", "verboseLabel": "Employee Stock Purchase Plan" } } }, "auth_ref": [] }, "pdfs_EmployeeStockPurchasePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "EmployeeStockPurchasePlanMember", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Enables employees to purchase their company's common stock, often at a discount from the market price.", "label": "Employee Stock Purchase Plans [Member]", "terseLabel": "Employee Benefit Plans" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r723" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r723" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityFileNumber", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Securities Act File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityFilerCategory", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r723" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r807" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityRegistrantName", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r723" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityShellCompany", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r723" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntitySmallBusiness", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r723" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r723" ] }, "ecd_EqtyAwrdsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments, Footnote [Text Block]", "terseLabel": "Equity Awards Adjustments, Footnote" } } }, "auth_ref": [ "r762" ] }, "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]", "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table" } } }, "auth_ref": [ "r803" ] }, "ecd_EqtyAwrdsAdjsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments [Member]", "terseLabel": "Equity Awards Adjustments" } } }, "auth_ref": [ "r803" ] }, "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]", "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table" } } }, "auth_ref": [ "r803" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EquityComponentDomain", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r8", "r147", "r167", "r168", "r169", "r179", "r180", "r181", "r183", "r188", "r190", "r192", "r208", "r238", "r239", "r264", "r297", "r386", "r387", "r393", "r394", "r395", "r397", "r398", "r399", "r408", "r409", "r410", "r411", "r412", "r413", "r415", "r435", "r436", "r437", "r438", "r439", "r440", "r443", "r445", "r459", "r525", "r541", "r542", "r543", "r558", "r613" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r772" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r730", "r740", "r750", "r782" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r727", "r737", "r747", "r779" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r778" ] }, "pdfs_ExpiredStockIncentivePlansCommonSharesRetainedForFutureIssuance": { "xbrltype": "sharesItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "ExpiredStockIncentivePlansCommonSharesRetainedForFutureIssuance", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Aggregate number of common shares retained for future issuance under expired stock incentive plans.", "label": "Expired Stock Incentive Plans, Common Shares Retained for Future Issuance", "terseLabel": "Stock Incentive Plans, Common Shares Reserved for Future Issuance from Expired Incentive Plans" } } }, "auth_ref": [] }, "pdfs_ExpiredStockPlansMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "ExpiredStockPlansMember", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Company's various stock purchase and stock incentive plans that are no longer active.", "label": "Expired Stock Plans [Member]", "terseLabel": "Expired Stock Incentive Plans" } } }, "auth_ref": [] }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]", "terseLabel": "Schedule of Assets Measured at Fair Value on a Recurring Basis (in Thousands):", "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)." } } }, "auth_ref": [ "r909", "r910" ] }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Asset Class [Domain]", "documentation": "Class of asset." } } }, "auth_ref": [ "r424", "r425", "r426", "r427", "r428", "r429", "r432", "r686" ] }, "us-gaap_FairValueByAssetClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByAssetClassAxis", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Asset Class [Axis]", "documentation": "Information by class of asset." } } }, "auth_ref": [ "r424", "r425", "r426", "r427", "r428", "r429", "r432", "r686" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r283", "r323", "r324", "r325", "r326", "r327", "r328", "r418", "r420", "r421", "r422", "r423", "r430", "r431", "r433", "r466", "r467", "r468", "r667", "r668", "r674", "r675", "r676", "r684", "r688" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "FAIR VALUE MEASUREMENTS:" } } }, "auth_ref": [] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Inputs, Level 1 [Member]", "verboseLabel": "Quoted Prices in Active Markets for Identical Assets (level 1)", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r283", "r323", "r328", "r420", "r431", "r466", "r674", "r675", "r676", "r684" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Inputs, Level 3 [Member]", "verboseLabel": "Significant Unobservable Inputs (level 3)", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r283", "r323", "r324", "r325", "r326", "r327", "r328", "r420", "r421", "r422", "r423", "r431", "r468", "r667", "r668", "r674", "r675", "r676", "r684", "r688" ] }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementPolicyPolicyTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Fair Value Measurement, Policy [Policy Text Block]", "terseLabel": "Fair Value Measurements, Policy", "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." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r283", "r323", "r324", "r325", "r326", "r327", "r328", "r418", "r420", "r421", "r422", "r423", "r430", "r431", "r433", "r466", "r467", "r468", "r667", "r668", "r674", "r675", "r676", "r684", "r688" ] }, "us-gaap_FinancialInstrumentsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinancialInstrumentsDisclosureTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurements" ], "lang": { "en-us": { "role": { "label": "Financial Instruments Disclosure [Text Block]", "terseLabel": "FAIR VALUE MEASUREMENTS", "documentation": "The entire disclosure for financial instruments. This disclosure includes, but is not limited to, fair value measurements of short and long term marketable securities, international currencies forward contracts, and auction rate securities. Financial instruments may include hedging and non-hedging currency exchange instruments, derivatives, securitizations and securities available for sale at fair value. Also included are investment results, realized and unrealized gains and losses as well as impairments and risk management disclosures." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "negatedLabel": "Intangible assets, accumulated amortization, total", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r155", "r248", "r259", "r666" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "terseLabel": "2025", "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)." } } }, "auth_ref": [ "r261", "r648", "r666" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "terseLabel": "2024 (remaining three months)", "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." } } }, "auth_ref": [ "r973" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsTables" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Intangible Asset Amortization Expense (in Thousands):", "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "terseLabel": "2028", "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)." } } }, "auth_ref": [ "r261", "r648", "r666" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "terseLabel": "2027", "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)." } } }, "auth_ref": [ "r261", "r648", "r666" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "terseLabel": "2026", "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)." } } }, "auth_ref": [ "r261", "r648", "r666" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r253", "r255", "r256", "r257", "r258", "r259", "r262", "r263", "r474", "r475", "r648" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Intangible assets, gross carrying amount, total", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r248", "r259", "r475", "r666" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r253", "r255", "r256", "r257", "r258", "r259", "r262", "r263", "r648" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Intangible assets, net carrying amount, total", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r474", "r862" ] }, "pdfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after 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": "pdfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour", "terseLabel": "2029 and thereafter" } } }, "auth_ref": [] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r734", "r744", "r754", "r786" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r734", "r744", "r754", "r786" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r734", "r744", "r754", "r786" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r734", "r744", "r754", "r786" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r734", "r744", "r754", "r786" ] }, "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]", "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year" } } }, "auth_ref": [ "r767" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Furniture and Fixtures [Member]", "verboseLabel": "Furniture, Fixtures, and Equipment", "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [] }, "us-gaap_GeographicConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GeographicConcentrationRiskMember", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Geographic Concentration Risk [Member]", "verboseLabel": "Geographic Concentration Risk", "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa)." } } }, "auth_ref": [ "r27", "r634" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Goodwill", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Goodwill", "terseLabel": "Goodwill", "verboseLabel": "Goodwill, carrying amount", "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r154", "r249", "r506", "r660", "r665", "r685", "r694", "r853", "r854" ] }, "us-gaap_GoodwillImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillImpairmentLoss", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Impairment Loss", "verboseLabel": "Impairment of goodwill", "documentation": "Amount of impairment loss from asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r5", "r250", "r251", "r252", "r665", "r685" ] }, "pdfs_InProgressCvSystemAndOtherAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "InProgressCvSystemAndOtherAssetsMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "documentation": "CV system and other assets under construction. Includes recently completed structures or modifications to structures that have not been placed into service.", "label": "In-Progress CV System and Other Assets", "terseLabel": "CV System and Other Assets" } } }, "auth_ref": [] }, "pdfs_InProgressDfiSystemAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "InProgressDfiSystemAssetsMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "documentation": "DFI system assets under construction. Includes recently completed structures or modifications to structures that have not been placed into service.", "label": "In-Progress DFI System Assets", "terseLabel": "DFI System Assets" } } }, "auth_ref": [] }, "pdfs_IncentivePlanYear2011Member": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "IncentivePlanYear2011Member", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Company's various stock purchase and stock incentive plans.", "label": "Incentive Plan Year 2011 [Member]", "terseLabel": "2011 Stock Incentive Plan" } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income (loss) before income tax benefit (expense)", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r64", "r101", "r105", "r510", "r522", "r655", "r659", "r837", "r839", "r840", "r841", "r842" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails" ], "lang": { "en-us": { "role": { "label": "Statement of Income Location, Balance [Axis]", "documentation": "Information by location in statement of income where disaggregated amount has been reported." } } }, "auth_ref": [ "r265", "r266", "r267", "r425", "r429", "r432", "r538", "r540", "r598", "r648", "r687", "r936" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails" ], "lang": { "en-us": { "role": { "label": "Statement of Income Location, Balance [Domain]", "documentation": "Location in statement of income where disaggregated amount has been reported." } } }, "auth_ref": [ "r266", "r267", "r425", "r429", "r432", "r538", "r540", "r598", "r648", "r687", "r936" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "INCOME TAXES:" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "terseLabel": "INCOME TAXES", "documentation": "The entire disclosure for income tax." } } }, "auth_ref": [ "r178", "r371", "r376", "r377", "r378", "r379", "r383", "r385", "r388", "r390", "r391", "r392", "r553", "r681" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureIncomeTaxesNarrativeDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit)", "negatedLabel": "Income tax benefit (expense)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r111", "r115", "r191", "r192", "r207", "r218", "r226", "r375", "r376", "r389", "r529", "r681" ] }, "us-gaap_IncomeTaxesPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxesPaid", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Income Taxes Paid", "verboseLabel": "Cash paid during the year for income taxes", "documentation": "Amount, before refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax." } } }, "auth_ref": [ "r20", "r74", "r828", "r906", "r907" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Payable", "verboseLabel": "Accounts payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable", "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccruedLiabilities", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accrued Liabilities", "verboseLabel": "Accrued and other liabilities", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid." } } }, "auth_ref": [ "r4" ] }, "pdfs_IncreaseDecreaseInBillingsInExcessOfRecognizedRevenues": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "IncreaseDecreaseInBillingsInExcessOfRecognizedRevenues", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the liability reflecting cash payments received before the related costs have been incurred.", "label": "Increase Decrease In Billings In Excess Of Recognized Revenues", "verboseLabel": "Billings in excess of recognized revenues" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Contract with Customer, Liability", "verboseLabel": "Deferred revenues", "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r472", "r826" ] }, "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Employee Related Liabilities", "verboseLabel": "Accrued compensation and related benefits", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncreaseDecreaseInIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInIncomeTaxes", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureIncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Income Taxes", "documentation": "The increase (decrease) during the reporting period in the amounts payable to taxing authorities for taxes that are based on the reporting entity's earnings, net of amounts receivable from taxing authorities for refunds of overpayments or recoveries of income taxes, and in deferred and other tax liabilities and assets." } } }, "auth_ref": [ "r826" ] }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Lease Liability", "verboseLabel": "Operating lease liabilities", "documentation": "Amount of increase (decrease) in obligation for operating lease." } } }, "auth_ref": [ "r814", "r826" ] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Noncurrent Assets", "negatedLabel": "Other non-current assets", "documentation": "Amount of increase (decrease) in noncurrent assets classified as other." } } }, "auth_ref": [ "r826" ] }, "us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Operating Assets and Liabilities, Net [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r4" ] }, "pdfs_IndemnificationsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "IndemnificationsMember", "presentation": [ "http://www.pdf.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Commitments and contingencies pertaining to indemnifications.", "label": "Indemnifications" } } }, "auth_ref": [] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r734", "r744", "r754", "r778", "r786", "r790", "r798" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r796" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r726", "r802" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r726", "r802" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r726", "r802" ] }, "pdfs_IntangibleAssetsNetAmountToBeAmortized": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "IntangibleAssetsNetAmountToBeAmortized", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Net carrying amount of intangible assets, which will be amortized over a set period of time.", "label": "Intangible assets, net amount to be amortized", "totalLabel": "Total future amortization expense" } } }, "auth_ref": [] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Intangible assets, net", "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." } } }, "auth_ref": [ "r253", "r862", "r864" ] }, "pdfs_IntegratedYieldRampMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "IntegratedYieldRampMember", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to Integrated yield ramp.", "label": "Integrated Yield Ramp [Member]", "verboseLabel": "Integrated Yield Ramp" } } }, "auth_ref": [] }, "us-gaap_InvestmentIncomeInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InvestmentIncomeInterest", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Investment Income, Interest", "negatedLabel": "Interest and other expense (income), net", "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities." } } }, "auth_ref": [ "r207", "r216", "r226", "r659", "r825" ] }, "country_JP": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "JP", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "JAPAN", "verboseLabel": "JAPAN" } } }, "auth_ref": [] }, "pdfs_LaboratoryAndTestEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "LaboratoryAndTestEquipmentMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to laboratory and test equipment.", "label": "Laboratory and Other Equipment [Member]", "verboseLabel": "Laboratory and Other Equipment" } } }, "auth_ref": [] }, "us-gaap_LeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseCost", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesComponentsOfOperatingLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Lease, Cost", "totalLabel": "Total lease expense", "documentation": "Amount of lease cost recognized by lessee for lease contract." } } }, "auth_ref": [ "r449", "r693" ] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lease, Cost [Table Text Block]", "terseLabel": "Schedule of Lease Expense (in Thousands):", "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income." } } }, "auth_ref": [ "r917" ] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Leasehold Improvements [Member]", "verboseLabel": "Leasehold Improvements", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r81", "r456" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "LEASES:" } } }, "auth_ref": [] }, "pdfs_LesseeOperatingLeaseInitialTermOfContractThreshold": { "xbrltype": "durationItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "LesseeOperatingLeaseInitialTermOfContractThreshold", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "documentation": "Initial term of operating leases, threshold for determining whether the lease is recorded on the accompanying condensed consolidated balance sheets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Initial Term of Contract Threshold", "terseLabel": "Initial lease term, threshold to be recorded in accompanying condensed consolidated balance sheets" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]", "terseLabel": "Schedule of Maturities of Operating Lease Liabilities (in Thousands):", "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r918" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureCommitmentsAndContingenciesDetails", "http://www.pdf.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid", "terseLabel": "Future Lease payments", "totalLabel": "Total future minimum lease payments", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r455" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "terseLabel": "2024 (remaining three months)", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r455" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five", "terseLabel": "2028", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r455" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "terseLabel": "2027", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r455" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "terseLabel": "2026", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r455" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "2025", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r455" ] }, "us-gaap_LesseeOperatingLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeasesTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureLeases" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "LEASES", "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." } } }, "auth_ref": [ "r444" ] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Liabilities", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total liabilities", "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others." } } }, "auth_ref": [ "r12", "r48", "r49", "r50", "r51", "r52", "r53", "r54", "r177", "r237", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r403", "r406", "r407", "r434", "r571", "r654", "r721", "r872", "r922", "r923" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r61", "r98", "r518", "r694", "r829", "r850", "r915" ] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current", "totalLabel": "Total current liabilities", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r50", "r150", "r177", "r237", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r403", "r406", "r407", "r434", "r694", "r872", "r922", "r923" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "LocalPhoneNumber", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongtermPurchaseCommitmentPeriod": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongtermPurchaseCommitmentPeriod", "presentation": [ "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Purchase Commitment, Period", "terseLabel": "Term of cloud-based subscription for Extension analytics software", "documentation": "Period covered by the long-term purchase commitment, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MajorCustomersAxis", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "documentation": "Information by name or description of a single external customer or a group of external customers." } } }, "auth_ref": [ "r233", "r672", "r704", "r708", "r877", "r933", "r937", "r938", "r940", "r941", "r942", "r943", "r944", "r945", "r946", "r947", "r948", "r949", "r950", "r951", "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MaximumMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "verboseLabel": "Maximum", "documentation": "Upper limit of the provided range." } } }, "auth_ref": [ "r117", "r119", "r121", "r122", "r124", "r145", "r146", "r270", "r271", "r272", "r273", "r330", "r369", "r423", "r471", "r537", "r539", "r547", "r563", "r564", "r621", "r623", "r625", "r626", "r628", "r646", "r647", "r664", "r669", "r677", "r688", "r689", "r690", "r691", "r705", "r874", "r924", "r925", "r926", "r928", "r929", "r930" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r770" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r770" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MinimumMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails", "http://www.pdf.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "verboseLabel": "Minimum", "documentation": "Lower limit of the provided range." } } }, "auth_ref": [ "r117", "r119", "r121", "r122", "r124", "r145", "r146", "r270", "r271", "r272", "r273", "r330", "r369", "r423", "r471", "r537", "r539", "r547", "r563", "r564", "r621", "r623", "r625", "r626", "r628", "r646", "r647", "r664", "r669", "r677", "r688", "r689", "r690", "r705", "r874", "r924", "r925", "r926", "r928", "r929", "r930" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r789" ] }, "us-gaap_MoneyMarketFundsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "MoneyMarketFundsMember", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Money Market Funds [Member]", "verboseLabel": "Money Market Mutual Funds", "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." } } }, "auth_ref": [ "r878" ] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r797" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "documentation": "Single external customer or group of external customers." } } }, "auth_ref": [ "r233", "r672", "r704", "r708", "r877", "r933", "r937", "r938", "r940", "r941", "r942", "r943", "r944", "r945", "r946", "r947", "r948", "r949", "r950", "r951", "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r771" ] }, "pdfs_NetAccretionOfUnguaranteedResidualAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "NetAccretionOfUnguaranteedResidualAssets", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "The sum of the periodic adjustments of the differences between stated values and amounts charged against earnings for unguaranteed residual assets.", "label": "Net accretion of unguaranteed residual assets", "negatedLabel": "Accretion of unguaranteed residual assets" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash used in financing activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r174" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash provided by (used in) investing activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r174" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInOperatingActivities", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by (used in) operating activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r72", "r73", "r75" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetIncomeLoss", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareCalculationOfEarningsPerShareDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income (loss)", "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r66", "r75", "r102", "r148", "r162", "r165", "r169", "r177", "r182", "r184", "r185", "r186", "r187", "r188", "r191", "r192", "r198", "r237", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r396", "r399", "r417", "r434", "r524", "r593", "r611", "r612", "r719", "r872" ] }, "pdfs_NetInvestmentInLeasePresentValueAdjustment": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "NetInvestmentInLeasePresentValueAdjustment", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsMaturitiesOfLeasePaymentsUnderSalesTypeLeasesDetails" ], "lang": { "en-us": { "role": { "documentation": "Present value adjustment amount on net investment in sales-type and direct financing leases.", "label": "Net Investment in Lease, Present Value Adjustment", "negatedLabel": "Less: Present value adjustment (1)" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recent Accounting Standards, Policy", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r770" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r734", "r744", "r754", "r778", "r786" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r761" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r760" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r778" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r797" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r797" ] }, "us-gaap_NonUsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NonUsMember", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Non-US [Member]", "verboseLabel": "Non-US", "documentation": "Countries excluding the United States of America (US)." } } }, "auth_ref": [ "r969", "r970", "r971", "r972" ] }, "pdfs_NoncashFixedAssetsTransferredToSalesTypeLease": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "NoncashFixedAssetsTransferredToSalesTypeLease", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Represents the noncash fixed assets transferred to sales-type lease.", "label": "Noncash Fixed Assets Transferred To Sales Type Lease", "verboseLabel": "Property and equipment transferred to sales-type lease" } } }, "auth_ref": [] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NoncompeteAgreementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NoncompeteAgreementsMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Noncompete Agreements [Member]", "verboseLabel": "Noncompetition Agreements", "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party." } } }, "auth_ref": [ "r41", "r855", "r856", "r857", "r858", "r860", "r862", "r865", "r866" ] }, "us-gaap_NoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NoncurrentAssets", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "Long-Lived Assets", "terseLabel": "Long-lived assets, net", "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets." } } }, "auth_ref": [ "r232" ] }, "us-gaap_NotesAndLoansReceivableNetNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NotesAndLoansReceivableNetNoncurrent", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Financing Receivable, after Allowance for Credit Loss, Noncurrent", "verboseLabel": "Convertible note receivable (available-for-sale debt security) (2)", "documentation": "Amount, after allowance for credit loss, of financing receivable, classified as noncurrent." } } }, "auth_ref": [] }, "us-gaap_NotesReceivableNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NotesReceivableNet", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurementsOtherDetails" ], "lang": { "en-us": { "role": { "label": "Financing Receivable, after Allowance for Credit Loss", "terseLabel": "Convertible note receivable", "documentation": "Amortized cost, after allowance for credit loss, of financing receivable. Excludes financing receivable covered under loss sharing agreement and net investment in lease." } } }, "auth_ref": [ "r244", "r580", "r843", "r932" ] }, "pdfs_NumberOfFinanceLeases": { "xbrltype": "integerItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "NumberOfFinanceLeases", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "documentation": "Number of finance leases as of balance sheet date.", "label": "Number Of Finance Leases", "terseLabel": "Number of finance leases" } } }, "auth_ref": [] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationOtherDetails" ], "lang": { "en-us": { "role": { "label": "Number of Operating Segments", "terseLabel": "Number of operating segments", "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues." } } }, "auth_ref": [ "r660", "r838" ] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationOtherDetails" ], "lang": { "en-us": { "role": { "label": "Number of Reportable Segments", "terseLabel": "Number of Reportable Segments", "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements." } } }, "auth_ref": [ "r656", "r663", "r838" ] }, "pdfs_NumberOfRevenueSources": { "xbrltype": "integerItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "NumberOfRevenueSources", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to number of sources where the company is deriving revenue.", "label": "Number of Revenue Sources", "terseLabel": "Number of revenue sources" } } }, "auth_ref": [] }, "pdfs_NumberOfSixMonthPurchasePeriodsInEachOfferingPeriod": { "xbrltype": "integerItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "NumberOfSixMonthPurchasePeriodsInEachOfferingPeriod", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Number of six month purchase periods in each offering period under the employee stock plan.", "label": "Number of six month purchase periods in each offering period", "terseLabel": "ESPP, Share Purchase Periods Within Each Offering Period" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseCost", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesComponentsOfOperatingLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Cost", "terseLabel": "Operating lease expense", "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability." } } }, "auth_ref": [ "r450", "r693" ] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiability", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability", "totalLabel": "Present value of future minimum lease payments under operating lease liabilities (2)", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r447" ] }, "pdfs_OperatingLeaseLiabilityAccruedInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "OperatingLeaseLiabilityAccruedInterest", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lessee's accrued interest on principal balance of operating leases, which is netted against total future lease payments in determining the present value of the company's future minimum operating lease payments.", "label": "Operating Lease Liability, Accrued Interest", "negatedLabel": "Less: Interest (1)" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilitiesDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current", "terseLabel": "Operating lease liabilities - current portion", "verboseLabel": "Operating lease liability - current portion", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r447" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Non-current portion of operating lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r447" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Payments", "verboseLabel": "Cash paid for amounts included in the measurement of operating lease liabilities", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r448", "r451" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease right-of-use assets, net", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r446" ] }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset, Periodic Reduction", "verboseLabel": "Operating lease right-of-use assets", "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease." } } }, "auth_ref": [ "r827" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Weighted average discount rate for operating lease liabilities", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r454", "r693" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Weighted average remaining lease term under operating leases (in years)", "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r453", "r693" ] }, "us-gaap_OtherAssetsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherAssetsFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Other Assets, Fair Value Disclosure", "totalLabel": "Assets measured at fair value, total", "documentation": "Fair value portion of other assets." } } }, "auth_ref": [ "r909", "r910", "r914" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsOtherNonCurrentAssetsDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "totalLabel": "Total other non-current assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r156" ] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "terseLabel": "Foreign currency translation adjustments, net of tax", "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity." } } }, "auth_ref": [ "r3", "r7", "r95" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent, Alternative [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "totalLabel": "Total other comprehensive loss", "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity." } } }, "auth_ref": [ "r3", "r7", "r95", "r163", "r166", "r188" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Noncurrent", "terseLabel": "Other non-current liabilities", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r52" ] }, "us-gaap_OtherNoncashIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherNoncashIncomeExpense", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Other Noncash Income (Expense)", "negatedLabel": "Other", "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other." } } }, "auth_ref": [ "r75" ] }, "us-gaap_OtherNoncurrentAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherNoncurrentAssetsMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails", "http://www.pdf.com/role/DisclosureFairValueMeasurementsOtherDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersContractBalancesDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersCostsToObtainOrFulfillContractDetails" ], "lang": { "en-us": { "role": { "label": "Other Noncurrent Assets [Member]", "verboseLabel": "Other Non-current Assets", "documentation": "Primary financial statement caption encompassing other noncurrent assets." } } }, "auth_ref": [] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r770" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r732", "r742", "r752", "r784" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r735", "r745", "r755", "r787" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r735", "r745", "r755", "r787" ] }, "us-gaap_PatentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PatentsMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Patents [Member]", "verboseLabel": "Patent", "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law." } } }, "auth_ref": [ "r94", "r855", "r856", "r857", "r858", "r860", "r862", "r865", "r866" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r759" ] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Repurchases of common stock", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r71" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "negatedLabel": "Payments for taxes related to net share settlement of equity awards", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r172" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedLabel": "Payment for business acquisition, net of cash acquired", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r18" ] }, "us-gaap_PaymentsToAcquireIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireIntangibleAssets", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Intangible Assets", "negatedLabel": "Purchases of intangible assets", "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill." } } }, "auth_ref": [ "r70" ] }, "us-gaap_PaymentsToAcquireNotesReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireNotesReceivable", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Notes Receivable", "negatedLabel": "Purchase of convertible promissory note", "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." } } }, "auth_ref": [ "r17" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchases of property and equipment", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r70" ] }, "us-gaap_PaymentsToAcquireShortTermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireShortTermInvestments", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Short-Term Investments", "negatedLabel": "Purchases of short-term investments", "documentation": "The cash outflow for securities or other assets acquired, which qualify for treatment as an investing activity and are to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term." } } }, "auth_ref": [ "r69" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r769" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r769" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r761" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r778" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r771" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r760" ] }, "pdfs_PercentOfRevenue": { "xbrltype": "percentItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "PercentOfRevenue", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "The percent of revenue.", "label": "Percent of revenues", "terseLabel": "Performance obligations, percentage of revenues" } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PlanNameAxis", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansValuationAssumptionsForEsppDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r880", "r881", "r882", "r883", "r884", "r885", "r886", "r887", "r888", "r889", "r890", "r891", "r892", "r893", "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903", "r904", "r905" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PlanNameDomain", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansValuationAssumptionsForEsppDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r880", "r881", "r882", "r883", "r884", "r885", "r886", "r887", "r888", "r889", "r890", "r891", "r892", "r893", "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903", "r904", "r905" ] }, "ecd_PnsnAdjsPrrSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnAdjsPrrSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Adjustments Prior Service Cost [Member]", "terseLabel": "Pension Adjustments Prior Service Cost" } } }, "auth_ref": [ "r762" ] }, "ecd_PnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Adjustments Service Cost [Member]", "terseLabel": "Pension Adjustments Service Cost" } } }, "auth_ref": [ "r806" ] }, "ecd_PnsnBnftsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnBnftsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Benefits Adjustments, Footnote [Text Block]", "terseLabel": "Pension Benefits Adjustments, Footnote" } } }, "auth_ref": [ "r761" ] }, "pdfs_PracticalExpedientPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "PracticalExpedientPolicyTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for practical expedient usage when revenue generating arrangements contain significant financing components.", "label": "Practical Expedient [Policy Text Block]", "terseLabel": "Practical Expedient, Policy" } } }, "auth_ref": [] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsParentheticals" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r55", "r285" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsParentheticals" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock, shares authorized", "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r55", "r572" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsParentheticals" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock, shares issued", "documentation": "Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as debt." } } }, "auth_ref": [ "r55", "r285" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsParentheticals" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding", "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased." } } }, "auth_ref": [ "r55", "r572", "r591", "r967", "r968" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockValue", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Value, Issued", "terseLabel": "Preferred stock, $0.00015 par value, 5,000 shares authorized, no shares issued and outstanding", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r55", "r514", "r694" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r821" ] }, "us-gaap_PrepaidExpenseOtherNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PrepaidExpenseOtherNoncurrent", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsOtherNonCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense Other, Noncurrent", "terseLabel": "Other", "documentation": "Carrying amount as of the balance sheet date of amounts paid in advance which will be charged against earnings in periods after one year or beyond the operating cycle, if longer." } } }, "auth_ref": [ "r817" ] }, "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PrepaidExpensesAndOtherCurrentAssetsMember", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersContractBalancesDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersCostsToObtainOrFulfillContractDetails" ], "lang": { "en-us": { "role": { "label": "Prepaid Expenses and Other Current Assets [Member]", "verboseLabel": "Prepaid Expenses and Other Current Assets", "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets." } } }, "auth_ref": [] }, "pdfs_PrepaymentsForPurchasesOfPropertyAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "PrepaymentsForPurchasesOfPropertyAndEquipment", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with pre-payments for 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": "Prepayments for purchases of property and equipment", "negatedLabel": "Prepayment for the purchase of property and equipment" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromIssuanceOfCommonStock", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureStockholdersEquityDetails", "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Proceeds from Issuance of Common Stock", "terseLabel": "Proceeds from Issuance of Common Stock", "documentation": "The cash inflow from the additional capital contribution to the entity." } } }, "auth_ref": [ "r2" ] }, "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Maturities, Prepayments and Calls of Short-Term Investments", "verboseLabel": "Proceeds from maturities and sales of short-term investments", "documentation": "The cash inflow from maturities, prepayments, calls and collections of all investments, including securities and other assets, having ready marketability and intended by management to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term." } } }, "auth_ref": [ "r16", "r69" ] }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from sale of property and equipment", "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r68" ] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Stock Options Exercised", "verboseLabel": "Proceeds from exercise of stock options", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r2", "r11" ] }, "us-gaap_ProceedsFromStockPlans": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromStockPlans", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Stock Plans", "verboseLabel": "Proceeds from employee stock purchase plan", "documentation": "The cash inflow associated with the amount received from the stock plan during the period." } } }, "auth_ref": [ "r2" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetails", "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]", "documentation": "Information by product and service, or group of similar products and similar services." } } }, "auth_ref": [ "r126", "r127", "r128", "r129", "r130", "r131", "r143", "r229", "r473", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r650", "r670", "r703", "r705", "r706", "r709", "r710", "r815", "r870", "r871", "r877", "r933", "r937", "r938", "r939", "r940", "r941", "r942", "r943", "r944", "r945", "r946", "r947", "r948", "r949", "r950", "r951", "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetails", "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]", "documentation": "Product or service, or a group of similar products or similar services." } } }, "auth_ref": [ "r126", "r127", "r128", "r129", "r130", "r131", "r143", "r229", "r473", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r650", "r670", "r703", "r705", "r706", "r709", "r710", "r815", "r870", "r871", "r877", "r933", "r937", "r938", "r939", "r940", "r941", "r942", "r943", "r944", "r945", "r946", "r947", "r948", "r949", "r950", "r951", "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProfitLoss", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "verboseLabel": "Net income", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r148", "r162", "r165", "r173", "r177", "r182", "r188", "r191", "r192", "r237", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r396", "r399", "r401", "r404", "r405", "r417", "r434", "r510", "r523", "r557", "r593", "r611", "r612", "r682", "r683", "r720", "r824", "r872" ] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r6", "r456" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Gross", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r81", "r152", "r521" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net", "totalLabel": "Total property and equipment", "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." } } }, "auth_ref": [ "r6", "r456", "r511", "r521", "r694" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsTables" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of Property and Equipment, Net (in Thousands):", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r6" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Long-Lived Tangible Asset [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r81", "r456" ] }, "us-gaap_PurchaseObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PurchaseObligation", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Purchase Obligation", "terseLabel": "Purchase Obligation, Total", "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier." } } }, "auth_ref": [] }, "pdfs_PurchaseObligationsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "PurchaseObligationsMember", "presentation": [ "http://www.pdf.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Commitments and contingencies pertaining to purchase obligations.", "label": "Purchase Obligations" } } }, "auth_ref": [] }, "pdfs_PurchasePlanYear2021Member": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "PurchasePlanYear2021Member", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansValuationAssumptionsForEsppDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Company's various stock purchase and stock incentive plans.", "label": "Purchase Plan Year 2021 [Member]", "terseLabel": "2021 Employee Stock Purchase Plan" } } }, "auth_ref": [] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r759" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r759" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RangeAxis", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails", "http://www.pdf.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]", "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median." } } }, "auth_ref": [ "r117", "r119", "r121", "r122", "r124", "r145", "r146", "r270", "r271", "r272", "r273", "r322", "r330", "r358", "r359", "r360", "r369", "r423", "r469", "r470", "r471", "r537", "r539", "r547", "r563", "r564", "r621", "r623", "r625", "r626", "r628", "r646", "r647", "r664", "r669", "r677", "r688", "r689", "r690", "r691", "r705", "r713", "r868", "r874", "r912", "r925", "r926", "r928", "r929", "r930" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RangeMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails", "http://www.pdf.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median." } } }, "auth_ref": [ "r117", "r119", "r121", "r122", "r124", "r145", "r146", "r270", "r271", "r272", "r273", "r322", "r330", "r358", "r359", "r360", "r369", "r423", "r469", "r470", "r471", "r537", "r539", "r547", "r563", "r564", "r621", "r623", "r625", "r626", "r628", "r646", "r647", "r664", "r669", "r677", "r688", "r689", "r690", "r691", "r705", "r713", "r868", "r874", "r912", "r925", "r926", "r928", "r929", "r930" ] }, "us-gaap_ReceivableWithImputedInterestEffectiveYieldInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ReceivableWithImputedInterestEffectiveYieldInterestRate", "presentation": [ "http://www.pdf.com/role/DisclosureFairValueMeasurementsOtherDetails" ], "lang": { "en-us": { "role": { "label": "Receivable with Imputed Interest, Effective Yield (Interest Rate)", "terseLabel": "Convertible note interest rate", "documentation": "Yield on the receivable, on which interest has been imputed, as calculated from its issuance value or purchase price. The calculated effective interest rate considers factors such as the issued face value or price paid for the receivable, the time period between payments, and the time until maturity [full receipt] of the receivable." } } }, "auth_ref": [ "r441", "r442", "r692" ] }, "pdfs_RecognizedRevenueIncludedInDeferredRevenuesAndBillingsInExcessOfDeferredRevenuesAtBeginningOfPeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "RecognizedRevenueIncludedInDeferredRevenuesAndBillingsInExcessOfDeferredRevenuesAtBeginningOfPeriod", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDeferredRevenuesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized during the period that was included in the deferred revenues and billings in excess of deferred revenues balances at the beginning of the period.", "label": "Recognized Revenue Included in Deferred Revenues and Billings in Excess of Deferred Revenues at Beginning of Period", "terseLabel": "Revenue recognized that was included in the deferred revenues and billings in excess of deferred revenues balances at beginning of period" } } }, "auth_ref": [] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r727", "r737", "r747", "r779" ] }, "us-gaap_RelatedPartyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RelatedPartyDomain", "presentation": [ "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Related and Nonrelated Parties [Domain]", "documentation": "Related and nonrelated parties. Related party includes, but is not limited to, affiliate, other entity for which investment is accounted for under equity method, trust for benefit of employee, principal owner, management, and member of immediate family, and other party that may be prevented from pursuing separate interests because of control, significant influence, or ownership interest." } } }, "auth_ref": [ "r234", "r329", "r463", "r464", "r513", "r519", "r566", "r567", "r568", "r569", "r570", "r590", "r592", "r620" ] }, "us-gaap_RelatedPartyTransactionsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RelatedPartyTransactionsAbstract", "lang": { "en-us": { "role": { "label": "STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS:" } } }, "auth_ref": [] }, "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RelatedPartyTransactionsByRelatedPartyAxis", "presentation": [ "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Related and Nonrelated Parties [Axis]", "documentation": "Information by related and nonrelated parties. Related party includes, but is not limited to, affiliate, other entity for which investment is accounted for under equity method, trust for benefit of employee, principal owner, management, and member of immediate family, and other party that may be prevented from pursuing separate interests because of control, significant influence, or ownership interest." } } }, "auth_ref": [ "r234", "r329", "r463", "r464", "r513", "r519", "r566", "r567", "r568", "r569", "r570", "r590", "r592", "r620", "r921" ] }, "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RelatedPartyTransactionsDisclosureTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactions" ], "lang": { "en-us": { "role": { "label": "Related Party Transactions Disclosure [Text Block]", "terseLabel": "STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS", "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates." } } }, "auth_ref": [ "r460", "r461", "r462", "r464", "r465", "r554", "r555", "r556", "r596", "r597", "r598", "r617", "r619" ] }, "pdfs_RepurchasesOfCommonStockCost": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "RepurchasesOfCommonStockCost", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "The cash value of reacquired common shares during the period.", "label": "Repurchases of common stock, cost" } } }, "auth_ref": [] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Research and Development Expense", "terseLabel": "Research and development", "documentation": "Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity." } } }, "auth_ref": [ "r370", "r648", "r659", "r931" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails" ], "lang": { "en-us": { "role": { "label": "Research and Development Expense [Member]", "terseLabel": "Research and Development", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "pdfs_RestOfTheWorldMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "RestOfTheWorldMember", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the rest of the world.", "label": "Rest Of The World [Member]", "verboseLabel": "Rest of the World" } } }, "auth_ref": [] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r728", "r738", "r748", "r780" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r729", "r739", "r749", "r781" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r736", "r746", "r756", "r788" ] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails", "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareAntiDilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Restricted Stock Units (RSUs) [Member]", "terseLabel": "Restricted Stock Units (RSUs)", "verboseLabel": "Non-vested Restricted Stock Units", "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." } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Accumulated deficit", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r58", "r84", "r517", "r544", "r546", "r552", "r573", "r694" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetainedEarningsMember", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Retained Earnings [Member]", "verboseLabel": "Accumulated Deficit", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r147", "r179", "r180", "r181", "r183", "r188", "r190", "r192", "r238", "r239", "r264", "r386", "r387", "r393", "r394", "r395", "r397", "r398", "r399", "r408", "r410", "r411", "r413", "r415", "r443", "r445", "r541", "r543", "r558", "r967" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "REVENUE FROM CONTRACTS WITH CUSTOMERS:" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Including Assessed Tax", "terseLabel": "Revenues", "totalLabel": "Total revenues", "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise." } } }, "auth_ref": [ "r103", "r104", "r207", "r214", "r215", "r222", "r226", "r229", "r231", "r233", "r318", "r319", "r473" ] }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Policy Text Block]", "terseLabel": "Revenue Recognition, Policy", "documentation": "Disclosure of accounting policy for revenue from contract with customer." } } }, "auth_ref": [ "r116", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r649" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomers" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "REVENUE FROM CONTRACTS WITH CUSTOMERS", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r116", "r301", "r302", "r303", "r304", "r305", "r306", "r308", "r309", "r321" ] }, "pdfs_RevenueFromContractsWithCustomersContractBalancesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "RevenueFromContractsWithCustomersContractBalancesPolicyTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for contract balances to maintain stemming from revenue earned from contracts with customers.", "label": "Revenue from Contracts with Customers Contract Balances [Policy Text Block]", "terseLabel": "Contract Balances, Policy" } } }, "auth_ref": [] }, "pdfs_RevenueRecognitionSignificantJudgementsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "RevenueRecognitionSignificantJudgementsPolicyTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy where significant judgements are used to recognize revenues in accordance with ASC 606. Includes revenue from contract with customer and from other sources.", "label": "Revenue Recognition, Significant Judgements [Policy Text Block]", "terseLabel": "Revenue-related Significant Judgements, Policy" } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Revenue, remaining performance obligation", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r112" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "More than half of the remaining performance obligations", "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." } } }, "auth_ref": [ "r113" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r113" ] }, "us-gaap_RevenuesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenuesAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Revenues [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "Revenues from External Customers and Long-Lived Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "verboseLabel": "Operating lease liabilities arising from obtaining right-of-use assets", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r452", "r693" ] }, "us-gaap_RisksAndUncertaintiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RisksAndUncertaintiesAbstract", "lang": { "en-us": { "role": { "label": "CUSTOMER AND GEOGRAPHIC INFORMATION:" } } }, "auth_ref": [] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r797" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r797" ] }, "us-gaap_SalesRevenueNetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesRevenueNetMember", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Revenue Benchmark [Member]", "verboseLabel": "Revenue Benchmark", "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation." } } }, "auth_ref": [ "r233", "r812" ] }, "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsTables" ], "lang": { "en-us": { "role": { "label": "Sales-Type and Direct Financing Leases, Payment to be Received, Maturity [Table Text Block]", "terseLabel": "Schedule of Maturities of Lease Payments Under Sales-type Leases (in Thousands):", "documentation": "Tabular disclosure of maturity of undiscounted cash flows to be received on annual basis for sales-type and direct financing leases receivable. Includes, but is not limited to, reconciliation to lease receivable recognized in statement of financial position." } } }, "auth_ref": [ "r457" ] }, "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsMaturitiesOfLeasePaymentsUnderSalesTypeLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Sales-Type and Direct Financing Leases, Payment to be Received", "totalLabel": "Total future sales-type lease payments", "documentation": "Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases." } } }, "auth_ref": [ "r457" ] }, "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsMaturitiesOfLeasePaymentsUnderSalesTypeLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Sales-Type and Direct Financing Leases, Payment to be Received, Year Five", "terseLabel": "2028", "documentation": "Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r457" ] }, "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsMaturitiesOfLeasePaymentsUnderSalesTypeLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Sales-Type and Direct Financing Leases, Payment to be Received, Year Four", "terseLabel": "2027", "documentation": "Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r457" ] }, "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsMaturitiesOfLeasePaymentsUnderSalesTypeLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Sales-Type and Direct Financing Leases, Payment to be Received, Year One", "terseLabel": "2024 (remaining three months)", "documentation": "Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r457" ] }, "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsMaturitiesOfLeasePaymentsUnderSalesTypeLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Sales-Type and Direct Financing Leases, Payment to be Received, Year Three", "terseLabel": "2026", "documentation": "Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r457" ] }, "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsMaturitiesOfLeasePaymentsUnderSalesTypeLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Sales-Type and Direct Financing Leases, Payment to be Received, Year Two", "terseLabel": "2025", "documentation": "Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r457" ] }, "us-gaap_SalesTypeLeaseLeaseReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesTypeLeaseLeaseReceivable", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsMaturitiesOfLeasePaymentsUnderSalesTypeLeasesDetails", "http://www.pdf.com/role/DisclosureBalanceSheetComponentsNetInvestmentInSalesTypeLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Sales-type Lease, Lease Receivable", "terseLabel": "Lease receivables", "totalLabel": "Present value of lease receivables", "documentation": "Present value of lease payments not yet received by lessor and amount expected to be derived from underlying asset, following end of lease term guaranteed by lessee or other third party unrelated to lessor, from sales-type lease." } } }, "auth_ref": [ "r458" ] }, "us-gaap_SalesTypeLeaseNetInvestmentInLease": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesTypeLeaseNetInvestmentInLease", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsNetInvestmentInSalesTypeLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Sales-Type Lease, Net Investment in Lease, before Allowance for Credit Loss", "totalLabel": "Net investment in sales-type leases", "documentation": "Amount, before allowance for credit loss, of net investment in sales-type lease." } } }, "auth_ref": [ "r110", "r243", "r458", "r851" ] }, "us-gaap_SalesTypeLeaseNetInvestmentInLeaseAfterAllowanceForCreditLossNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesTypeLeaseNetInvestmentInLeaseAfterAllowanceForCreditLossNoncurrent", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsNetInvestmentInSalesTypeLeasesDetails", "http://www.pdf.com/role/DisclosureBalanceSheetComponentsOtherNonCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Sales-Type Lease, Net Investment in Lease, after Allowance for Credit Loss, Noncurrent", "terseLabel": "Net investment in sales-type leases - non-current (3)", "totalLabel": "Net investment in sales-type leases, non-current", "documentation": "Amount, after allowance for credit loss, of net investment in sales-type lease, classified as noncurrent." } } }, "auth_ref": [ "r810", "r811" ] }, "us-gaap_SalesTypeLeaseNetInvestmentInLeaseAllowanceForCreditLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesTypeLeaseNetInvestmentInLeaseAllowanceForCreditLoss", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails" ], "lang": { "en-us": { "role": { "label": "Sales-type Lease, Net Investment in Lease, Allowance for Credit Loss", "terseLabel": "Allowance for credit loss on sales-type lease receivables", "documentation": "Amount of allowance for credit loss on net investment in sales-type lease." } } }, "auth_ref": [ "r240", "r241", "r242" ] }, "us-gaap_SalesTypeLeaseUnguaranteedResidualAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesTypeLeaseUnguaranteedResidualAsset", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsNetInvestmentInSalesTypeLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Sales-type Lease, Unguaranteed Residual Asset", "terseLabel": "Unguaranteed residual assets", "documentation": "Present value expected to be derived from underlying asset following end of lease term not guaranteed by lessee or other third party unrelated to lessor." } } }, "auth_ref": [ "r458" ] }, "srt_ScenarioUnspecifiedDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ScenarioUnspecifiedDomain", "presentation": [ "http://www.pdf.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Scenario [Domain]", "documentation": "Scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts." } } }, "auth_ref": [ "r144", "r193", "r331", "r808", "r834" ] }, "pdfs_ScheduleOfAmortizationOfCapitalizedDirectSalesCommissionCostsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "ScheduleOfAmortizationOfCapitalizedDirectSalesCommissionCostsTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amortization of costs capitalized in obtaining or fulfilling contract with customer.", "label": "Schedule of Amortization of Capitalized Direct Sales Commission Costs [Table Text Block]", "terseLabel": "Schedule of Amortization of Capitalized Direct Sales Commission Costs (in Thousands):" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]", "terseLabel": "Schedule of Anti-Dilutive Shares Excluded from Computation of Earnings Per Share (in Thousands):", "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities." } } }, "auth_ref": [ "r24" ] }, "us-gaap_ScheduleOfAssumptionsForFairValueAsOfBalanceSheetDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrServicingLiabilitiesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfAssumptionsForFairValueAsOfBalanceSheetDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrServicingLiabilitiesTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Assumptions for Fair Value as of Balance Sheet Date of Assets or Liabilities that relate to Transferor's Continuing Involvement [Table Text Block]", "terseLabel": "Schedule of Supplemental Condensed Consolidated Balance Sheets Information Related to Operating Leases:", "documentation": "Tabular disclosure of all information related to the key inputs and assumptions (including, at a minimum, but not limited to, and if applicable, quantitative information about discount rates, expected prepayments including the expected weighted-average life of prepayable financial assets, and anticipated credit losses) used in measuring the fair value of assets or liabilities that relate to the transferor's continuing involvement with transferred financial assets, as of the balance sheet date." } } }, "auth_ref": [ "r927" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of Basic and Diluted Earnings Per Share (in Thousands Except Per Share Amounts):", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r836" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansTables" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "terseLabel": "Schedule of Stock Plan and Employee Stock Purchase Plan Expense Allocation (in Thousands):", "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." } } }, "auth_ref": [ "r35" ] }, "us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block]", "terseLabel": "Schedule of Long-Lived Assets, Net by Geographic Area (in Thousands):", "documentation": "Tabular disclosure of the names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area." } } }, "auth_ref": [ "r79" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of Intangible Assets, Net (in Thousands):", "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment." } } }, "auth_ref": [ "r666", "r861" ] }, "us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfOtherAssetsNoncurrentTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Other Assets, Noncurrent [Table Text Block]", "terseLabel": "Schedule of Other Non-Current Assets (in Thousands):", "documentation": "Tabular disclosure of noncurrent assets." } } }, "auth_ref": [ "r817" ] }, "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]", "terseLabel": "Schedule of Revenues from Customers by Geographic Area Based on the Location of the Customers' Work Sites (in Thousands):", "documentation": "Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries." } } }, "auth_ref": [ "r63", "r78" ] }, "pdfs_ScheduleOfRevenueRecognizedAndIncludedInDeferredRevenuesAndBillingsInExcessOfRecognizedRevenuesAtBeginningOfEachReportingPeriodTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "ScheduleOfRevenueRecognizedAndIncludedInDeferredRevenuesAndBillingsInExcessOfRecognizedRevenuesAtBeginningOfEachReportingPeriodTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of revenue recognized that was included in the deferred revenues and billings in excess of recognized revenue balances at the beginning of each reporting period.", "label": "Schedule of Revenue Recognized and Included in Deferred Revenues and Billings in Excess of Recognized Revenues at The Beginning of Each Reporting Period [Table Text Block]", "terseLabel": "Schedule of Recognized Revenue Included in Deferred Revenues and Billings in Excess of Recognized Revenues at the Beginning of Each Reporting Period (in Thousands):" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "documentation": "Disclosure of information about revenue from external customer and long-lived asset by geographical area. Long-lived asset excludes financial instrument, customer relationship with financial institution, mortgage and other servicing right, deferred policy acquisition cost, and deferred tax asset." } } }, "auth_ref": [ "r29", "r63" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGrantDateIntrinsicValueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGrantDateIntrinsicValueTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Grant Date Intrinsic Value [Table Text Block]", "terseLabel": "Schedule of Total Intrinsic Value of Options Exercised (in Thousands):", "documentation": "Tabular disclosure of the total intrinsic value of options exercised (or share units converted), share-based liabilities paid, and the total fair value of shares vested during the year." } } }, "auth_ref": [ "r91" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansTables" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Restricted Stock Units, Vested and Expected to Vest [Table Text Block]", "terseLabel": "Schedule of Total Fair Value Restricted Stock Units Vested (in Thousands):", "documentation": "Tabular disclosure of number, weighted-average exercise price or conversion ratio, aggregate intrinsic value, and weighted-average remaining contractual term for outstanding restricted stock units that are fully vested and expected to vest. Includes, but is not limited to, unvested restricted stock units for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r92" ] }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansTables" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]", "terseLabel": "Schedule of Nonvested Restricted Stock Unit (\"RSU\") Activities:", "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." } } }, "auth_ref": [ "r90" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansTables" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]", "terseLabel": "Schedule of Additional Information With Respect to Options Under the 2011 Plan:", "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value." } } }, "auth_ref": [ "r9", "r10", "r90" ] }, "us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block]", "terseLabel": "Schedule Fair Value Estimates of Purchase Rights Granted Under the 2021 Purchase Plan Using the Black-Scholes-Merton Option-Pricing Model:", "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of employee stock purchase plans, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions." } } }, "auth_ref": [ "r93" ] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Annual Amortization Expense of Acquired Identifiable Intangible Assets (in Thousands):", "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets." } } }, "auth_ref": [ "r666", "r863" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "Security12bTitle", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r722" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "SecurityExchangeName", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r724" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "documentation": "Geographical area." } } }, "auth_ref": [ "r118", "r120", "r123", "r125", "r132", "r133", "r134", "r135", "r137", "r138", "r139", "r140", "r141", "r142", "r231", "r232", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r560", "r561", "r562", "r622", "r624", "r627", "r629", "r633", "r636", "r637", "r638", "r639", "r641", "r642", "r643", "r644", "r645", "r651", "r671", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r707", "r713", "r877", "r933", "r937", "r938", "r940", "r941", "r942", "r943", "r944", "r945", "r946", "r947", "r948", "r949", "r950", "r951", "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964" ] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformation" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "CUSTOMER AND GEOGRAPHIC INFORMATION", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r106", "r207", "r209", "r210", "r211", "r212", "r213", "r219", "r220", "r221", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r233", "r656", "r657", "r658", "r659", "r661", "r662", "r663" ] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general, and administrative", "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." } } }, "auth_ref": [ "r67" ] }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SellingGeneralAndAdministrativeExpensesMember", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative Expenses [Member]", "terseLabel": "Selling, General, and Administrative", "documentation": "Primary financial statement caption encompassing selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Noncash Expense", "verboseLabel": "Stock-based compensation expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r4" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "terseLabel": "Stock option vesting period", "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition." } } }, "auth_ref": [ "r678" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedTerseLabel": "RSUs Forfeited", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r350" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "verboseLabel": "RSUs Forfeited, Weighted Average Grant Date Fair Value", "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." } } }, "auth_ref": [ "r350" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "RSUs Granted", "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)." } } }, "auth_ref": [ "r348" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "verboseLabel": "RSUs Granted, Weighted Average Grant Date Fair Value", "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)." } } }, "auth_ref": [ "r348" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Non-vested RSUs, Ending Balance", "periodStartLabel": "Non-vested RSUs, Opening Balance", "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." } } }, "auth_ref": [ "r345", "r346" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "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", "periodEndLabel": "Non-vested RSUs Ending, Weighted Average Grant Date Fair Value", "periodStartLabel": "Non-vested RSUs Opening, Weighted Average Grant Date Fair Value", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r345", "r346" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedTerseLabel": "RSUs Vested", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r349" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "verboseLabel": "RSUs Vested, Weighted Average Grant Date Fair Value", "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." } } }, "auth_ref": [ "r349" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansValuationAssumptionsForEsppDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "terseLabel": "Expected dividend", "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term." } } }, "auth_ref": [ "r359" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansValuationAssumptionsForEsppDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate", "terseLabel": "Volatility", "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period." } } }, "auth_ref": [ "r358" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansValuationAssumptionsForEsppDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "terseLabel": "Risk-free interest rate", "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares." } } }, "auth_ref": [ "r360" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Maximum Employee Subscription Rate", "terseLabel": "Eligible Employee Contribution Rate, Percentage of Compensation", "documentation": "The highest percentage of annual salary that an employee is permitted to utilize with respect to the plan." } } }, "auth_ref": [ "r34" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant", "terseLabel": "Stock Incentive Plans, Shares Available for Future Grant", "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable." } } }, "auth_ref": [ "r34" ] }, "pdfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Period from grant date that an equity-based award is offered, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Offering Period", "terseLabel": "ESPP, Share Offering Period Duration" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number", "terseLabel": "Options Exercisable", "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan." } } }, "auth_ref": [ "r339" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Options Exercisable, Weighted Average Exercise Price", "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." } } }, "auth_ref": [ "r339" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value", "verboseLabel": "Intrinsic value of options exercised", "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares." } } }, "auth_ref": [ "r352" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Stock Incentive Plans, Stock Options and Awards Granted", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r341" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansValuationAssumptionsForEsppDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "verboseLabel": "Weighted average fair value of purchase rights granted during the period", "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology." } } }, "auth_ref": [ "r351" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Options Outstanding, Aggregate Intrinsic Value", "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding." } } }, "auth_ref": [ "r34" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Options Outstanding, Ending Balance", "periodStartLabel": "Options Outstanding, Beginning Balance", "terseLabel": "Stock Incentive Plans, Stock Option Awards Outstanding", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r337", "r338" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Options Outstanding, Weighted Average Exercise Price, Ending Balance", "periodStartLabel": "Options Outstanding, Weighted Average Exercise Price, Beginning Balance", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r337", "r338" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value", "terseLabel": "Options Vested and Expected to Vest, Aggregate Intrinsic Value", "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r353" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number", "terseLabel": "Options Vested and Expected to Vest", "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r353" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price", "terseLabel": "Options Vested and Expected to Vest, Weighted Average Exercise Price", "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r353" ] }, "pdfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePeriod", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Length of purchase periods within each offering period under employee stock purchase plans, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "ESPP, Share Purchase Period Duration" } } }, "auth_ref": [] }, "pdfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesReservedDecreaseRate": { "xbrltype": "sharesItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesReservedDecreaseRate", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "The reduction rate in the number of shares reserved under the option plan attributable to awards other than options or stock appreciation rights.", "label": "pdfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesReservedDecreaseRate", "terseLabel": "Stock Incentive Plans, Rate Decrease in Reserved Plan-Shares Pursuant to Awards Other Than Options or SARs" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "All Award Types", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r333", "r334", "r335", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r357", "r358", "r359", "r360", "r361" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Options Exercised, Weighted Average Exercise Price", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r342" ] }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "presentation": [ "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Policy Text Block]", "terseLabel": "Stock-Based Compensation, Policy", "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost." } } }, "auth_ref": [ "r332", "r336", "r355", "r356", "r357", "r358", "r361", "r364", "r365", "r366", "r367" ] }, "us-gaap_SharePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharePrice", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share Price", "terseLabel": "Common Stock, Closing Share Price", "documentation": "Price of a single share of a number of saleable stocks of a company." } } }, "auth_ref": [] }, "srt_ShareRepurchaseProgramAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ShareRepurchaseProgramAxis", "presentation": [ "http://www.pdf.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program [Axis]", "documentation": "Information by share repurchase program." } } }, "auth_ref": [ "r875" ] }, "srt_ShareRepurchaseProgramDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ShareRepurchaseProgramDomain", "presentation": [ "http://www.pdf.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program [Domain]", "documentation": "Name of share repurchase program." } } }, "auth_ref": [ "r875" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period", "terseLabel": "Stock Option Expiration Period", "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r679" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansValuationAssumptionsForEsppDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term", "terseLabel": "Expected life (in years)", "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r357" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Options Exercisable, Aggregate Intrinsic Value", "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable." } } }, "auth_ref": [ "r34" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Options Exercisable, Weighted Average Remaining Contractual Term", "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r34" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Options Outstanding, Weighted Average Remaining Contractual Term", "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r92" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Options Vested and Expected to Vest, Weighted Average Remaining Contractual Term", "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r353" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value", "terseLabel": "Fair value of restricted stock units vested", "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock." } } }, "auth_ref": [ "r352" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent", "terseLabel": "Eligible Employee Share Purchase Price, Percentage of Fair Market Value", "documentation": "Purchase price of common stock expressed as a percentage of its fair value." } } }, "auth_ref": [] }, "us-gaap_SharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharesOutstanding", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Shares, Outstanding", "periodEndLabel": "Ending Balances (shares)", "periodStartLabel": "Beginning Balances (shares)", "documentation": "Number of shares issued which are neither cancelled nor held in the treasury." } } }, "auth_ref": [] }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation", "verboseLabel": "Purchases of treasury stock in connection with tax withholdings on vesting of restricted stock awards (shares)", "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_ShortTermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShortTermInvestments", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Short-Term Investments", "terseLabel": "Short-term investments", "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current." } } }, "auth_ref": [ "r99", "r100", "r820" ] }, "pdfs_ShorttermAndVariableLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "ShorttermAndVariableLeaseCost", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureLeasesComponentsOfOperatingLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less and amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "Short-term and variable lease expense", "terseLabel": "Short-term lease and variable lease expense (1)" } } }, "auth_ref": [] }, "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SoftwareAndSoftwareDevelopmentCostsMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Software and Software Development Costs [Member]", "verboseLabel": "Software", "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use." } } }, "auth_ref": [] }, "pdfs_SoftwareLicenseAndRelatedServicesAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "SoftwareLicenseAndRelatedServicesAgreementMember", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to software license and related services.", "label": "Software License and Related Services Agreement [Member]", "verboseLabel": "Software License and Related Services Agreement" } } }, "auth_ref": [] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r8", "r56", "r59", "r60", "r147", "r167", "r168", "r169", "r179", "r180", "r181", "r183", "r188", "r190", "r192", "r208", "r238", "r239", "r264", "r297", "r386", "r387", "r393", "r394", "r395", "r397", "r398", "r399", "r408", "r409", "r410", "r411", "r412", "r413", "r415", "r435", "r436", "r437", "r438", "r439", "r440", "r443", "r445", "r459", "r525", "r541", "r542", "r543", "r558", "r613" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "documentation": "Information by geographical components." } } }, "auth_ref": [ "r118", "r120", "r123", "r125", "r132", "r133", "r134", "r135", "r137", "r138", "r139", "r140", "r141", "r142", "r231", "r232", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r560", "r561", "r562", "r622", "r624", "r627", "r629", "r633", "r636", "r637", "r638", "r639", "r641", "r642", "r643", "r644", "r645", "r651", "r671", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r707", "r713", "r877", "r933", "r937", "r938", "r940", "r941", "r942", "r943", "r944", "r945", "r946", "r947", "r948", "r949", "r950", "r951", "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementLineItems", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails", "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails", "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails", "http://www.pdf.com/role/DisclosureCommitmentsAndContingenciesDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansValuationAssumptionsForEsppDetails", "http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails", "http://www.pdf.com/role/DisclosureFairValueMeasurementsOtherDetails", "http://www.pdf.com/role/DisclosureLeasesDetails", "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareAntiDilutiveSecuritiesDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersContractBalancesDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersCostsToObtainOrFulfillContractDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails", "http://www.pdf.com/role/DisclosureStockholdersEquityDetails", "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r179", "r180", "r181", "r208", "r445", "r473", "r549", "r559", "r565", "r566", "r567", "r568", "r569", "r570", "r572", "r575", "r576", "r577", "r578", "r579", "r581", "r582", "r583", "r584", "r586", "r587", "r588", "r589", "r590", "r592", "r594", "r595", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r613", "r714" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY" } } }, "auth_ref": [] }, "srt_StatementScenarioAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "StatementScenarioAxis", "presentation": [ "http://www.pdf.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]", "documentation": "Information by scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts." } } }, "auth_ref": [ "r144", "r193", "r331", "r808", "r809", "r834" ] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementTable", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails", "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails", "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails", "http://www.pdf.com/role/DisclosureCommitmentsAndContingenciesDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails", "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansValuationAssumptionsForEsppDetails", "http://www.pdf.com/role/DisclosureFairValueMeasurementsAssetsMeasuredOnRecurringBasisDetails", "http://www.pdf.com/role/DisclosureFairValueMeasurementsOtherDetails", "http://www.pdf.com/role/DisclosureLeasesDetails", "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareAntiDilutiveSecuritiesDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersContractBalancesDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersCostsToObtainOrFulfillContractDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDetails", "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails", "http://www.pdf.com/role/DisclosureStockholdersEquityDetails", "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity." } } }, "auth_ref": [ "r179", "r180", "r181", "r208", "r234", "r445", "r473", "r549", "r559", "r565", "r566", "r567", "r568", "r569", "r570", "r572", "r575", "r576", "r577", "r578", "r579", "r581", "r582", "r583", "r584", "r586", "r587", "r588", "r589", "r590", "r592", "r594", "r595", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r613", "r714" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r731", "r741", "r751", "r783" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "pdfs_StockCompensationCapitalizedInPurchaseOfPropertyAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "StockCompensationCapitalizedInPurchaseOfPropertyAndEquipment", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Represents the noncash stock-based compensation capitalized as a part of the cost of property & equipment.", "label": "Stock Compensation Capitalized in Purchase of Property and Equipment", "terseLabel": "Stock-based compensation capitalized as a part of the cost of property and equipment" } } }, "auth_ref": [] }, "pdfs_StockIncentivePlanPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "StockIncentivePlanPolicy", "presentation": [ "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for stock incentive plans offered under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.", "label": "Stock Incentive Plan, Policy" } } }, "auth_ref": [] }, "pdfs_StockIncentivePlansAggregateSharesReservedToCoverStockBasedAwardsUnderExpiredPlans": { "xbrltype": "sharesItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "StockIncentivePlansAggregateSharesReservedToCoverStockBasedAwardsUnderExpiredPlans", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Aggregate common shares reserved to cover stock-based awards under the 2011 Plan.", "label": "Stock Incentive Plans, Aggregate Shares Reserved to Cover Stock-based Awards Under Expired Plans", "terseLabel": "Aggregate Common Shares Reserved to Cover Stock-based Awards Under the 2011 Plan" } } }, "auth_ref": [] }, "pdfs_StockIncentivePlansCommonSharesReservedForFutureIssuance": { "xbrltype": "sharesItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "StockIncentivePlansCommonSharesReservedForFutureIssuance", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Aggregate number of common shares reserved for future issuance.", "label": "Stock Incentive Plans, Common Shares Reserved for Future Issuance" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Employee Stock Ownership Plan", "terseLabel": "Shares Issued During Period", "documentation": "Number of shares of capital stock issued (purchased by employees) in connection with an employee stock ownership plan." } } }, "auth_ref": [ "r8", "r36", "r55", "r56", "r84" ] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "verboseLabel": "Issuance of common stock in connection with employee stock purchase plan (shares)", "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan." } } }, "auth_ref": [ "r8", "r55", "r56", "r84" ] }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesNewIssues", "presentation": [ "http://www.pdf.com/role/DisclosureStockholdersEquityDetails", "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, New Issues", "terseLabel": "Common stock shares issued", "documentation": "Number of new stock issued during the period." } } }, "auth_ref": [ "r8", "r55", "r56", "r84", "r550", "r613", "r630" ] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross", "verboseLabel": "Vesting of restricted stock units (shares)", "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards." } } }, "auth_ref": [ "r8", "r84" ] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.pdf.com/role/DisclosureEmployeeBenefitPlansStockOptionsActivityDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "negatedLabel": "Options Exercised", "verboseLabel": "Issuance of common stock in connection with exercise of options (shares)", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r8", "r55", "r56", "r84", "r342" ] }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "verboseLabel": "Issuance of common stock in connection with employee stock purchase plan", "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan." } } }, "auth_ref": [ "r8", "r55", "r56", "r84" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross", "verboseLabel": "Vesting of restricted stock units", "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period." } } }, "auth_ref": [ "r8", "r55", "r56", "r84" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Stock Options Exercised", "verboseLabel": "Issuance of common stock in connection with exercise of options", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r8", "r56", "r59", "r60", "r84" ] }, "pdfs_StockRepurchaseProgram2022Member": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "StockRepurchaseProgram2022Member", "presentation": [ "http://www.pdf.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represent information pertaining to the 2022 Stock repurchase program.", "label": "Stock Repurchase Program 2022 [Member]", "terseLabel": "2022 Stock Repurchase Program" } } }, "auth_ref": [] }, "pdfs_StockRepurchaseProgram2024Member": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "StockRepurchaseProgram2024Member", "presentation": [ "http://www.pdf.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represent information pertaining to the 2024 Stock repurchase program.", "label": "Stock Repurchase Program 2024 [Member]", "terseLabel": "2024 Stock Repurchase Program" } } }, "auth_ref": [] }, "srt_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program, Authorized, Amount", "terseLabel": "Stock Repurchase Program, Authorized Amount", "documentation": "Amount authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership." } } }, "auth_ref": [ "r875" ] }, "us-gaap_StockRepurchaseProgramPeriodInForce1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockRepurchaseProgramPeriodInForce1", "presentation": [ "http://www.pdf.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program, Period in Force", "terseLabel": "Stock Repurchase Program, Period in Force (Year)", "documentation": "Period share may be purchased under authorized share repurchase plan, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, repurchase of stock and unit of ownership." } } }, "auth_ref": [] }, "us-gaap_StockRepurchasedDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockRepurchasedDuringPeriodShares", "presentation": [ "http://www.pdf.com/role/DisclosureStockholdersEquityDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased During Period, Shares", "verboseLabel": "Repurchase of common stock (shares)", "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r8", "r55", "r56", "r84", "r551", "r613", "r631" ] }, "us-gaap_StockRepurchasedDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockRepurchasedDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased During Period, Value", "negatedLabel": "Repurchase of common stock", "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r8", "r55", "r56", "r84", "r558", "r613", "r631", "r720" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquity", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent", "periodEndLabel": "Ending Balances", "periodStartLabel": "Beginning Balances", "totalLabel": "Total stockholders' equity", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r56", "r59", "r60", "r80", "r574", "r591", "r614", "r615", "r694", "r721", "r829", "r850", "r915", "r967" ] }, "us-gaap_StockholdersEquityNoteAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityNoteAbstract", "lang": { "en-us": { "role": { "label": "STOCKHOLDERS EQUITY:" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity [Text Block]", "terseLabel": "STOCKHOLDERS' EQUITY", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r83", "r176", "r284", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r414", "r616", "r618", "r632" ] }, "us-gaap_StockholdersEquityNumberOfSharesParValueAndOtherDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityNumberOfSharesParValueAndOtherDisclosuresAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity, Number of Shares, Par Value and Other Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SupplementalBalanceSheetDisclosuresTextBlock", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponents" ], "lang": { "en-us": { "role": { "label": "Supplemental Balance Sheet Disclosures [Text Block]", "terseLabel": "BALANCE SHEET COMPONENTS", "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity." } } }, "auth_ref": [ "r816" ] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]" } } }, "auth_ref": [] }, "country_TW": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "TW", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "TAIWAN", "terseLabel": "Taiwan" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r777" ] }, "pdfs_TermOfProductWarranty": { "xbrltype": "durationItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "TermOfProductWarranty", "presentation": [ "http://www.pdf.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to product warranty period following initial delivery.", "label": "Term of Product Warranty", "terseLabel": "Term of Product Warranty" } } }, "auth_ref": [] }, "pdfs_TestEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "TestEquipmentMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "documentation": "Test equipment member.", "label": "Test Equipment [Member]", "verboseLabel": "Test Equipment" } } }, "auth_ref": [] }, "pdfs_ThresholdPaymentPeriodOfMajorityOfPurchaseObligation": { "xbrltype": "durationItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "ThresholdPaymentPeriodOfMajorityOfPurchaseObligation", "presentation": [ "http://www.pdf.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Threshold payment period for majority of purchase obligation.", "label": "Threshold Payment Period Of Majority Of Purchase Obligation", "terseLabel": "Period over which the majority of purchase obligations become due" } } }, "auth_ref": [] }, "us-gaap_TimingOfTransferOfGoodOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TimingOfTransferOfGoodOrServiceAxis", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Timing of Transfer of Good or Service [Axis]", "documentation": "Information by timing of transfer of good or service to customer." } } }, "auth_ref": [ "r673", "r877" ] }, "us-gaap_TimingOfTransferOfGoodOrServiceDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TimingOfTransferOfGoodOrServiceDomain", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Timing of Transfer of Good or Service [Domain]", "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time." } } }, "auth_ref": [ "r673", "r877" ] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r769" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r776" ] }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TradeAndOtherAccountsReceivablePolicy", "presentation": [ "http://www.pdf.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable [Policy Text Block]", "terseLabel": "Accounts Receivable, Policy", "documentation": "Disclosure of accounting policy for accounts receivable." } } }, "auth_ref": [ "r107", "r108", "r109", "r844", "r845", "r846" ] }, "us-gaap_TrademarksAndTradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TrademarksAndTradeNamesMember", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Trademarks and Trade Names [Member]", "verboseLabel": "Tradename and Trademarks", "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r40", "r855", "r856", "r857", "r858", "r859", "r860", "r862", "r864", "r865", "r866" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r796" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r798" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "TradingSymbol", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_TransferredAtPointInTimeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TransferredAtPointInTimeMember", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Transferred at Point in Time [Member]", "verboseLabel": "Point-in-time", "documentation": "Contract with customer in which good or service is transferred at point in time." } } }, "auth_ref": [ "r673" ] }, "us-gaap_TransferredOverTimeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TransferredOverTimeMember", "presentation": [ "http://www.pdf.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Transferred over Time [Member]", "verboseLabel": "Over Time", "documentation": "Contract with customer in which good or service is transferred over time." } } }, "auth_ref": [ "r673" ] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r799" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r800" ] }, "ecd_TrdArrExpirationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrExpirationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Expiration Date", "terseLabel": "Expiration Date" } } }, "auth_ref": [ "r800" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r798" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r798" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r801" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r799" ] }, "us-gaap_TreasuryStockCommonMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TreasuryStockCommonMember", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Common [Member]", "verboseLabel": "Treasury Stock", "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r32" ] }, "us-gaap_TreasuryStockCommonShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TreasuryStockCommonShares", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsParentheticals" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Common, Shares", "terseLabel": "Treasury stock, common shares", "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r32" ] }, "us-gaap_TreasuryStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TreasuryStockValue", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Value", "negatedLabel": "Treasury stock at cost, 11,905 and 11,460 shares, respectively", "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury." } } }, "auth_ref": [ "r32", "r33", "r56", "r59" ] }, "us-gaap_TypeOfArrangementAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TypeOfArrangementAxis", "presentation": [ "http://www.pdf.com/role/DisclosureStrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]", "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations." } } }, "auth_ref": [ "r400" ] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "US", "presentation": [ "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureCustomerAndGeographicInformationRevenuesByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "UNITED STATES", "verboseLabel": "United States" } } }, "auth_ref": [] }, "us-gaap_UnbilledReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnbilledReceivablesCurrent", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails" ], "lang": { "en-us": { "role": { "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled receivables", "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [] }, "us-gaap_UnbilledReceivablesNotBillableAtBalanceSheetDateAmountExpectedToBeCollectedAfterOneYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnbilledReceivablesNotBillableAtBalanceSheetDateAmountExpectedToBeCollectedAfterOneYear", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureBalanceSheetComponentsDetails", "http://www.pdf.com/role/DisclosureBalanceSheetComponentsOtherNonCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Unbilled Receivables, Not Billable, Amount Expected to be Collected after Next 12 Months", "terseLabel": "Unbilled accounts receivable - non-current (2)", "verboseLabel": "Unbilled receivables - non-current", "documentation": "Amount of receivables under long-term contracts that have not been billed and were not billable that are expected to be collected after the next fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date." } } }, "auth_ref": [ "r158" ] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r795" ] }, "us-gaap_UnrecognizedTaxBenefits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnrecognizedTaxBenefits", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureIncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits", "terseLabel": "Unrecognized tax benefits, excluding interest and penalties", "documentation": "Amount of unrecognized tax benefits." } } }, "auth_ref": [ "r372", "r381", "r680" ] }, "pdfs_UnrecognizedTaxBenefitsInDeferredTaxAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "UnrecognizedTaxBenefitsInDeferredTaxAssets", "crdr": "debit", "presentation": [ "http://www.pdf.com/role/DisclosureIncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Unrecognized tax benefits in deferred tax assets.", "label": "pdfs_UnrecognizedTaxBenefitsInDeferredTaxAssets", "terseLabel": "Unrecognized Tax Benefits In Deferred Tax Assets" } } }, "auth_ref": [] }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureIncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued", "terseLabel": "Unrecognized tax benefits, interest accrued", "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return." } } }, "auth_ref": [ "r380", "r680" ] }, "pdfs_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccruedInLongTermLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pdf.com/20240930", "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccruedInLongTermLiabilities", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureIncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return which have been recorded as part of the long-term liabilities in the balance sheet.", "label": "pdfs_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccruedInLongTermLiabilities", "terseLabel": "Unrecognized tax benefits including income tax penalties and interest accrued in long term liabilities" } } }, "auth_ref": [] }, "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate", "crdr": "credit", "presentation": [ "http://www.pdf.com/role/DisclosureIncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate", "terseLabel": "Unrecognized tax benefits that would impact effective tax rate", "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate." } } }, "auth_ref": [ "r382", "r680" ] }, "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]", "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year" } } }, "auth_ref": [ "r765" ] }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "presentation": [ "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareCalculationOfEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment", "terseLabel": "Effect of dilutive stock options, unvested restricted stock units, and shares of common stock expected to be issued under Employee Purchase Plan", "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation." } } }, "auth_ref": [ "r836" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareCalculationOfEarningsPerShareDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted", "verboseLabel": "Diluted weighted average shares outstanding", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r196", "r201" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.pdf.com/role/DisclosureNetIncomeLossPerShareCalculationOfEarningsPerShareDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic", "verboseLabel": "Basic weighted average shares outstanding", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r195", "r201" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]", "terseLabel": "Weighted average common shares used to calculate net income per share:" } } }, "auth_ref": [] }, "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]", "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested" } } }, "auth_ref": [ "r763" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-20" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2A" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-5" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-4" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-3" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-4" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-5" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481549/505-30-45-1" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "40", "Section": "25", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480637/718-40-25-10" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "40", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480489/718-40-50-1" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "40", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480489/718-40-50-1" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "40", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480489/718-40-50-1" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-20" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/235/tableOfContent" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-2" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/440/tableOfContent" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/505/tableOfContent" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481138/505-30-25-5" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "710", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/710/tableOfContent" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "712", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/712/tableOfContent" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "715", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/715/tableOfContent" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/718/tableOfContent" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(d)(2)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(e)(1)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(f)(2)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11B" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-15" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-6" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-7A" }, "r111": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2" }, "r112": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r113": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r114": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9" }, "r115": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r116": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/606/tableOfContent" }, "r117": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r118": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12", "Paragraph": "Column C", "Footnote": "5", "Publisher": "SEC" }, "r119": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12A", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r120": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12A", "Paragraph": "Column C", "Footnote": "4", "Publisher": "SEC" }, "r121": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12B", "Paragraph": "Column A", "Subparagraph": "(a)", "Footnote": "4", "Publisher": "SEC" }, "r122": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12B", "Paragraph": "Column A", "Subparagraph": "(b)", "Footnote": "4", "Publisher": "SEC" }, "r123": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12B", "Paragraph": "Column C", "Footnote": "2", "Publisher": "SEC" }, "r124": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "14", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r125": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "14", "Paragraph": "Column F", "Footnote": "7", "Publisher": "SEC" }, "r126": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "17", "Paragraph": "Column A", "Publisher": "SEC" }, "r127": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "17", "Paragraph": "Column B", "Publisher": "SEC" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "17", "Paragraph": "Column C", "Publisher": "SEC" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "17", "Paragraph": "Column D", "Publisher": "SEC" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "17", "Paragraph": "Column E", "Publisher": "SEC" }, "r131": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "17", "Paragraph": "Column F", "Publisher": "SEC" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column B", "Publisher": "SEC" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column C", "Publisher": "SEC" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column D", "Publisher": "SEC" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column E", "Footnote": "4", "Publisher": "SEC" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column E", "Publisher": "SEC" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column F", "Publisher": "SEC" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column G", "Publisher": "SEC" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column H", "Publisher": "SEC" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column I", "Publisher": "SEC" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "29", "Paragraph": "Column A", "Footnote": "4", "Publisher": "SEC" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Staff Accounting Bulletin (SAB)", "Number": "Topic 11", "Section": "L", "Publisher": "SEC" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Staff Accounting Bulletin (SAB)", "Number": "Topic 11", "Section": "M", "Paragraph": "Question 2", "Publisher": "SEC" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Staff Accounting Bulletin (SAB)", "Number": "Topic 5", "Section": "Y", "Paragraph": "Question 2", "Publisher": "SEC" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Staff Accounting Bulletin (SAB)", "Number": "Topic 5", "Section": "Y", "Paragraph": "Question 4", "Publisher": "SEC" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-7" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-5" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(c)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-2" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(e)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-5" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/260/tableOfContent" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-16" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-2" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-7" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-3" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-1" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/280/tableOfContent" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-15" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aa)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-14" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-5" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479130/326-30-45-1" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "340", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479483/340-40-50-3" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "340", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479483/340-40-50-3" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-1" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-2" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-16" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-1" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-2" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-3" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12A" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-15" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-17" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-19" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-9" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/718/tableOfContent" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.C.Q3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.1.Q5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.2.Q6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.3.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.F)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482916/730-10-50-1" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/740/tableOfContent" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-10B" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-4" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-6" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-14" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15A" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15A" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-17" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-21" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-2" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477891/740-270-50-1" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482603/740-30-50-2" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "808", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479402/808-10-50-1" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-6" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "54B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-17" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/842-20/tableOfContent" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "12A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479773/842-30-50-10" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479773/842-30-50-6" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/850/tableOfContent" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-6" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478345/912-310-45-11" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479941/924-10-S99-1" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "280", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-9" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.W.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-13" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-2" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-5" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-6" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(5)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r614": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2" }, "r618": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2" }, "r619": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2" }, "r620": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1" }, "r621": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r622": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r623": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r624": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r625": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r626": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r627": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r628": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r629": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r630": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2" }, "r631": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2" }, "r632": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-6" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1" }, "r634": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1" }, "r636": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r638": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r639": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r640": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r641": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r643": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r644": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1" }, "r647": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" }, "r649": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4" }, "r650": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(a)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r651": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r652": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r653": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52" }, "r654": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r655": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31" }, "r656": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r657": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r658": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r659": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "48", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48" }, "r660": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "49", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49" }, "r661": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r662": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r663": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r664": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A" }, "r665": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482548/350-20-55-24" }, "r666": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40" }, "r667": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B" }, "r668": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C" }, "r669": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r670": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r671": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r672": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r673": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r674": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r675": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r676": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17" }, "r677": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8" }, "r678": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r679": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r680": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "217", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-217" }, "r681": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "231", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231" }, "r682": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J" }, "r683": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K" }, "r684": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r685": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r686": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "101", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-101" }, "r687": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "102", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-102" }, "r688": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "103", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103" }, "r689": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r690": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r691": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r692": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8" }, "r693": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479589/842-20-55-53" }, "r694": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481372/852-10-55-10" }, "r695": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17" }, "r696": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21" }, "r697": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29" }, "r698": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3" }, "r699": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2" }, "r700": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4" }, "r701": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5" }, "r702": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6" }, "r703": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2" }, "r704": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r705": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F" }, "r706": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r707": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r708": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r709": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E" }, "r710": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18" }, "r711": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r712": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r713": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1" }, "r714": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1" }, "r715": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r716": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r717": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r718": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r719": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10" }, "r720": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-11" }, "r721": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12" }, "r722": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r723": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r724": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r725": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r726": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r727": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r728": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r729": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r730": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r731": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r732": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r733": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r734": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r735": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r736": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r737": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r738": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r739": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r740": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r741": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r742": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r743": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r744": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r745": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r746": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r747": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r748": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r749": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r750": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r751": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r752": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r753": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r754": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r755": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r756": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r757": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r758": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r759": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r760": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r761": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r762": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "ii" }, "r763": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "i" }, "r764": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "ii" }, "r765": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iii" }, "r766": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iv" }, "r767": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "v" }, "r768": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "vi" }, "r769": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r770": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r771": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r772": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r773": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r774": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r775": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r776": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r777": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r778": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r779": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r780": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r781": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r782": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r783": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r784": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r785": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r786": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r787": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r788": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r789": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r790": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r791": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r792": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r793": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r794": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r795": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r796": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r797": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r798": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r799": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r800": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r801": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r802": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r803": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Number": "229", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1" }, "r804": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "A", "Number": "229" }, "r805": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Number": "229" }, "r806": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "i", "Number": "229" }, "r807": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r808": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-10" }, "r809": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-3" }, "r810": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "30", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479016/842-30-45-1" }, "r811": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "SubTopic": "30", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479016/842-30-45-2" }, "r812": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r813": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "SubTopic": "825", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B" }, "r814": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r815": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Staff Accounting Bulletin (SAB)", "Number": "Topic 5", "Section": "Y", "Paragraph": "Question 2", "Publisher": "SEC" }, "r816": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/210/tableOfContent" }, "r817": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r818": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r819": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(26)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r820": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r821": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r822": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4" }, "r823": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5" }, "r824": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6" }, "r825": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(7)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r826": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r827": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r828": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A" }, "r829": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r830": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r831": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23" }, "r832": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24" }, "r833": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5" }, "r834": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4" }, "r835": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r836": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r837": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r838": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-18" }, "r839": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r840": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r841": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r842": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r843": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2" }, "r844": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2" }, "r845": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2" }, "r846": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481569/310-20-50-1" }, "r847": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481830/320-10-45-1" }, "r848": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r849": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r850": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3" }, "r851": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1" }, "r852": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "340", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479483/340-40-50-3" }, "r853": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r854": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r855": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r856": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r857": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r858": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r859": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r860": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r861": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r862": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r863": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r864": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r865": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r866": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r867": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/405-30/tableOfContent" }, "r868": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10" }, "r869": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/450/tableOfContent" }, "r870": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9" }, "r871": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r872": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r873": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r874": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r875": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "505", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4" }, "r876": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10" }, "r877": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5" }, "r878": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r879": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r880": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r881": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r882": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r883": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r884": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r885": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r886": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r887": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r888": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r889": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r890": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r891": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r892": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r893": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r894": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r895": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r896": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r897": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r898": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r899": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r900": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r901": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r902": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r903": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r904": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r905": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r906": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22" }, "r907": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23" }, "r908": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r909": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r910": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r911": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r912": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r913": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r914": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E" }, "r915": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28" }, "r916": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1" }, "r917": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r918": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6" }, "r919": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1" }, "r920": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1" }, "r921": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3" }, "r922": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7" }, "r923": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7" }, "r924": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r925": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r926": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r927": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r928": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r929": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r930": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r931": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "912", "SubTopic": "730", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479532/912-730-25-1" }, "r932": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r933": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479432/944-30-50-2B" }, "r934": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3" }, "r935": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3" }, "r936": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3" }, "r937": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r938": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r939": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C" }, "r940": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D" }, "r941": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4G", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G" }, "r942": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r943": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r944": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r945": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r946": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r947": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r948": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r949": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r950": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r951": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r952": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r953": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r954": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r955": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r956": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r957": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r958": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r959": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r960": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r961": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r962": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r963": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r964": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r965": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r966": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r967": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r968": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r969": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r970": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r971": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r972": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r973": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" } } } ZIP 81 0001558370-24-014875-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-24-014875-xbrl.zip M4$L#!!0 ( -."9UD1]PG0S1, 'C& 1 <&1FNO 9(2*7Z I.P,L\67F5AH= /X-="-1A/X[6_/6QL]$N/%QY?M3Y<_.W3?_WEM_]NM7[OS4?(= UO2QR.#$HP)R;Z8?$- M6KJ['7;0F%!JV3;J4/'Y<[-DX-+M/5EAS^8P M#LX?'K:E7!@>FX@!B!%$BF$\'78'#8A)^G%]Z=(U".ITV[^/1PO9MI 8FL$4 M[?()3;*CQ!#C%"-_?J1VR/ZV35V;M(^485U*5IF5WK6A-"3T6$NP.+9HA=FC MI Q+9+M"ISF##J61AJPQWJ6V0Q3$N-K0@YP> MBN)'F#*'5EM&^CA#0;Q[?$]2D/OJM,FSYPXS'JT M24N0$8HY+"RL=75Y4&+#]1Q.L_3%+XS)(EWMZV9>FA 9R>C&>LT5#<%L6"_56K<]VZ[AX[NBXRMP.R QS/ MQB:]&Z(DUHL"JUNX?%GJY:ME.8QCQR#1>6WE:/,I/:A7JL[%VFSFSCOS.._D MPF&EKBKO_%7%.IFB+?*8/4U%85SM#3-CF WSE+#%O,=,8E'H5_CT%X2DK<*. MXW(Y5<1/X8^[G>6L7/\7^$THV9W0@"6H#Q+_>)@/4^V&5),%,)26JN\Z)DQ* M8L(_F&M;IM">'K8%%(L-(9Q=( OZ5J9"V*BP629968XE.W![>R/TI--!+71@ M"?_N3R?W^F2AWXM_+::CX;VVA#]ZVDB;]'6T^*+KR\5O[5-V)X(\:-;4^23_ M#2:. 6\Y;L(4!)4#DIR*!K8-SRY?[]BLS&K!CR%,KP/>H91-5WUW"^.P$:ON M$QFYK!"8^0R4X%X5!7>QA/^-]MQ7AU19?T& T_=; &L!Z;S'#=IE'R9P\@3]$!M3= D"<8H.S M;[!SZGN,N^ FL?#78)EE]X1CRPY0?@$^N:#?OH4I?0TX'P7!'W/]JSYYT-%@ M/AT+W)=SK0](?QLNOZ#^PV(Y'>OSA5".0"0*9:(W@=2_-HI06A' +8-=-#$# MPLJ*D,5'K0AOJRI"*!*%,AM%.&M%8)PMW>DCC* SI0//7EFV'=)67Q^*<%4K MR4WUU0(:@+B+_"8@EZ*@$0@?EY)&<3(5)^J("]_-=82!GU%W1RC?:XZI_^%9 M.V&X,W2D/ .5.EQWKD[5(>;62\]O.I&.0@N%DA!V3'20U4!>%O(A=-M9BUB+ MQAALRDK!G559#77"3\B!^B@%^6(:E,NBK#F.AVUMZU)N_5MV9+H:@JO/K96% M86#/TH*JS-5:DG B05UR>6@ MUHF$SY"C$U(4 EDM_PB!-[!7A'U"^-!Y(HP+*SMT%M@F3' >$WEJ$0 ?Q!3* "@: &:172P?S9GR(U D_,LN7$RL6Z M1'TUVHG=Q@'M4$P:UA%1#=[9>$]<3FX*[0^#,>Q#YZY.4:_()0?[MYV;Y 9" MB$$WY?:;1_#1&R$5735:D*H%[\M.W4Q-J,@I5QO>)Y%=W"4*E0DE(MFPA\4DAM+D:T0 VS1K]CVR!CF$_PMG6E_ M1Q[\ M+G1.S585![F%E9/L(9G!0JT>TD56*@#>?HJS9ZT-$8%HJ'>7!= MP4NA!5V8]0G3W-,60PGU;*XO '9M.9Q.D#8!37@8C[7Y=ZD&P\^3X6#8UR9+ MI/7[TX?)* =#X#_S(Q"U)I ME)"\2T*BCV>CZ7==1SU]H@^&2S0#1[.9(PE0_,#-$C\G5Z1HD1*"]TD(@BC- M4ON]69P*1M\*1=;48)0+FS78G&(3ND7@&W\F[IKBW<8RDL&/XO1*Q&Z3B(4> ME/26/^O3SW-M]F78!Q0'T_E8.M(-&UP2,\K=;BWNAX$= M$7H0.TOBI.U1\TB5&*5L06'-&P^7?LQ!3"6Q48'MI3YI]I;I3C/%G*PM8X8I M=\ OWE@[;4V)G"5BSZB93]CAA(E@[YS8(GPD2/=+"KX:;"RAM0E,7X:I$OV4 M/>H"-J5+_3.LFS-MOIR @_YE.$/:Y[DNIZJ_6=7NOVJ3I;Y82@69ZR,9JQ(5 MOB.H/UG OA:6VT9;DMJ2%S'*BD(5JY1_$ 10)Y.$%($D]"9DW@26R\>4EB)% MNWQD*:B6C^9U]4\3W_@"&D0+9H6FPYA+J\*NS.&)E*CBR\^F: MP2\3FTJ'(H=2!M\=FH52.S1"]\S$I,LDGD#V8UZG*$>FFG*)F$[ M8DVK*D+^3ED2^L'C&>.5KR&BH22&]4I6S4 MJ-3GP<6_^$W)%\R*&S6(Y0>.O?Q)P1 M:KFFO(ZPA"(4YJ56AZ(1?W!9#T+]S6XH%OER@SL5&ZTHI172Y$[]J:49L+1F M6^>RU=78)VXWR,1>RD&!(!1*:L N:<]=>864N Z7<6H9\L,V&-@':%P5]$OQ M4ZM#XF:T;#\@%(R.D@,=D;(;#2F7V:YR]/)(5;@J$M\;K^Z,G/YUT\(<2TSD(>. AODJY\0RTLB,S O55>%=K4< M_,,UE@W$E2$.0LDP:0TQ%FO2VX_Q/UVJ.JI\,;YJU4@L!,54(SRS.C8!/>Z1 M; 0ZM*)1G;-5A_7VQV*-$GR>QF2R4RM*I8R3UO$U!5"/HV@D9#?J45T]1JZS M'H$M-OV;@%Y(2PIR52M+8H=83%F$_)8M&A#><-1HS=EI3'E^AKJ" NMN)VE! MLJ^M:AR*ZI^394UI=0T5A&6_+6L ?.6OS#*/V5Z0MTHI7ON3LT:)RJ8J%,M1 M4'^272([X3\;&O$?\3[QG*R0? 3W3MRI_O&"6=N=+=YYE;]MY-O3XI7K5OBB M]3^@JY?/6SLD$>QS7HZ5Z)Z.3B X9(&ID>"2>*07F,C'AV!M;X>-OT#ME^H5 MX%"V5R?0U;!3H"1E.Q77JQKVR<:/9?L$58C]JMVI9BVQ8V)J"L]%;DVT9XO= MNUMLA?ET*490727?MLDK_>*&+> IK^7TN2+!%OE\P^PZ]I^Y'/[6/GFO.?@A M]JJS?-,9%-.E'#EX2]@.&X'6L)-WU*^CJT*K>]F]0$P^N3T*CH&/U4Z4-5GU M$L0&FI;3@NPWK;,$IY++YZW%/PI+S7LE/$UT:A7QU^$U\I;XJ=6]:ET7[[OZ MA?9"XY]24_[-RH$0].O&?[6<%QZ(L((8@9O*")R^,E]$N$UIK)9HP:W H/NN M<#M.'V OHG^I==H$%IK#,^ZEM#&FU/+Z ;HO,P^B5<(_RK7@T"-&>:D1".G] MWL-?9_3<)%:97H?DXA]G2!5K!_,>*Z\[4#=5.K']FV>%^(\7QQW>EE#+P$/' M&)/M(Z&^F11NPC]R:'P' R:Z?#V(W9G2O@TYV0IS ,WV'AFWN"<:_9FZWN[C MA6BQ=6<.H!N6/9MOA*+?S;I]W)M)ZE+\JCP<52F3URL+WG MEL&2_3@MJ6'KPP\$HM\'A,\U['L@0%S2/W3T9X,P=OC*Z)@#%>GN^:S\\?&[ ML87=(,=T7WATTD?CT=]C?KPP*#$MGC9(ON7B.6,4!IT3""=*ZHAPT,9>9NM[ M-6Y]F/TC<%)V_UB.>R1')1]%5.;<4) M_4XP';A>M.=G<7G-.6>2QXI3#OI!UB)8:'ZWB&W.\7:7 #R'IH90C_"C"S0N M%4\\+\&X'9Y>3G1,35K#_@7GZ(=U/=*?9-%I^W<^Q9EZ5Z[!(H%ONEINR#<7 MO/8$".G%-1QXF4W5@[7.%#%4XC!_EE,*"X&DZ^V/),%#C-H/3$WY*X-^$@HK MQST!"RE"*S"A(L/P*MRC:PZ3=#\5^<4&5D-8!+MX7S(7UM_E>7TP:$' MQWB)GX/D9W"?[\F*4"I_]#,,(ITK4ZF>=C^S!T$:\(S GDJ$<4$WA?VG8I=H M&- (^%,D7RQAND:>FRLR.)59UWR[MW%-S^#?1-:] M$S[Y$*S*J>5_>KME) JT:^#2<$4Y\DG+.P4Q6\HN^LQ.;T2?GK3FGE0KK<@ T07X4'<\N? M3M.53!*6CZL><'NTK74P!D>EKE3]3]?YB>L8F&W2%7'IQM^0CV)8KMY9FGHT M/"MLLTS+4\":%HF0,IF9%CQ@G@SS9A&<:5S+8'EJB#-ME(B-SSP:<N(R?X2<0C MG^P7ZFWT:$GPC%QL_W?/]&>N?Z']?DF>><^&3L;&H1J#TR61AT5_KI;/!)5X MMU68*-,2ODAFUPO0UK270T<:*<+8_X_!4UV M3/DY@K*3^15JV-?H<57H-9^<;$5W#\7(ZV> Y=(Z=,3)A_4DCRI9L.;&8N>P M/QQX7'P,SYCGIV;%O;1*+%XU!G_86A4>B_CIK>B'XH W2E)#%1XZ)MGZ%D-^ MM9 R/=,):MB7Y#8UV9T:\8=GT<3A.5L28^.XMKO>9RPVQ:K6 MQFT* CCG#O\*L, JZD\J@R/+(=.6NY2>)(0?ATIF6OXTHAKV*:9-?GN[R4[E4M6P5\7L\,S_HD<4 M^,?>"XXY.3V6.IO5KV+(4MP4Z+SG\*7;(\$PQ#*^U6=S" MMG\R'9K8PY%>-%NS0N7ZQ2+B[3^D[1\28/Q\F$BWBU:HBPXHYD+F<=?;XB=C M;VML(/H>I3*62_UU/7X<"]L18CU%7HL*TH4*U_F54(Z'R[1@_T'B$;.EVW>? M")45Y-F>/-1C#XY):.#"R>KYL;BSF=3:GFHV,S,Z1 MI[_1?!XFDYKRDH!*UJN-:Z4RJ3(I8NE.'P6 4T#/7H'TT!1F[W9+UJOI-G!A M;(CIV23E*S>976K8GBF,9)B7&P:!H+!(K$CC/;*V' ?HIBMQS@[62"S2X4&[ M?'DO;71KUJ[:HQ??"_7QSN+8%CV^A\7+X-(@RONK& ,*7W?58_\"7&LZ<@F5 M**E2":*H0B524'Z*M%]FQ0T2-8Y)2A'%&CK'#%.%03J/S2\S6F+K#EL5XL_! M!V?M89%T3.25\I;I83MQS%R\2AU'P;\3Q?^L_]/_ U!+ P04 " #3@F=9 M:TP2OB<5 !=,0$ %0 '!D9G,M,C R-# Y,S!?8V%L+GAM;.U=VW/B.M)_ MWZK]'_QE7\X^D !)()F:.5N$D)E4)8$",F?WZ91C1.)=8[.^Y+)__=>2;?!- MMF0,;LA4G3H3;%WZU]UNM5I2Z^L_WA>&\DIL1[?,;T>MX^:10DS-FNGF\[+"AJZ^9\O]']/T)\"$$WGR[NC?SMZ M<=WEEY.3M[>WX[?38\M^ANK-ULD_[^\FV@M9J W==%S5U,B1 N6_..SAG:6I M+N-/I/K[DVV$#9R>K/KBEJ"_&F&Q!GW4:+4;IZWC=V=V%)!(7PMT$A:G;_6< M\A$L?OE4^P$/6I>7ER?L[='O?U&4K[9ED#&9*^S1%_=C2;X=.?IB:="FV+,7 MF\R_'2UG2'$ M=8X4VLWC^#9&$31YK%F+$_KN1*HUAE&(>R=;!;EZZPSG?6NQM,D+E-%?R9WE M; ZZH'643%"=EQO#>JL8_+K5W8&^UAW-L!S/AOJOQ/3(C6TM@$+75C77^0-, M8=]S7&L!]C1\&FBI%!%)RA9,9)AP:\)0_JP_&:3G.##>5<< ;LMXP/=,TU.-WL*R7?U_S!4;SF]A M>'#!%52!\.TQIW3/>)@W=%^(_6"9?0_,HNE6S:'\YO&PX8&XM^8K<5SZ@=^: M$]4@SA3:OR/0?87\$.P'#V/N5=>S=5!TL M>+!<@9D]E5#:TLQHFP7=;&C*RNYS02]U,.5&U>V?JN&1>Y 7_&8FWG<2@B>SH3DF&G@/ M0/.5ZNBE[,@FW]V;PH^KWEWOH3]0)C\&@^E$ M0D 4,!60I<6H,FC\UK*S>438KA.^(3I-V-S\.!/ M7[O"1@WUB1C?CL*')S60$GC@"8HRR_S9.;WH=,XO.Q?MT_.SRVZGW5W3'-&8 MGATG'Q0Y;#[0Z7(J/[>MQ9I900^6#+&6#5[BMZ/6D>(Y0(2UI'VHQI'R1O3G M%Y>]V:T0:$"R9\[H/S20\ H>++5!;E^U[0\P.LP\<80C5!>'T,1%E!9K>9CX MQ#UYL6QW2NS%>K:7- 9Y1?=?F,*H MFU\F(YLL57T6S)C!RK# E,C(*%!S_R5<%F0@Z#-,@O8#]B/P M0MUHU!Y4EBMA?A4-<,C^['*I"(2%7LTBJ- M(9#D.1Y)AOL0_&#=5'U?(>+(CU\!N]0D*0]DU<$CJX@O]&"96JZWF%D6NX3$ MB0Z$T\4CG$B,']R?B6MI_WFQ#*#2H:Z0^Y&04W'QVLCG:%2D! X]$N5X5,.* M0. +X,"*H6]U.\Z+&*6*1.#)# '+8\$DT>VWPH]BD%]7; M=]F6 XAP(DF'L0A\L<$ZL\+>BU0.&;[Y983V_/!! M2R'@_P19@+PY;\@CBD7"8F*(@%H>,TF^D^$2-5G]V:?76INRIO MX8U3.H[UM-MIM6K\.@5ED>$T2:##-]69VFSW]P>#G[<#,UWP0.0G"*SP(VSL M?D.MM5A89J'DDL4.1&Y"L/#-4<;T5(5)9N$A%)AS>0N/S:/!J],UG>?0%E<\ M$,&6!(IOOA(AG$6C8^E(UF>4'H@[G$_5=W[00::5 U&"*E#CV_,RLH.)6Z'1 MSB@9QW@&G.OLHV1%D0G/4;Z>)(YP;>E85U%FH0C+4VF\,_]X&$Z M488W\.I^-![\@'*W/P?*W7""]N!7QK?*L7&Y)6M8.BVP,B.:Y0(^,->U]2?/ MI0L;4VND%JVOEF\5QR:D9PZO[0B:3!DF56X7K-[+9D0!OT[,8%M!D#IS1:Z MJ3LN9>(KR5<7L1[-K(G8> M;J4DCVSK50?]NOIX=.@QYM61@)X&3E7>^7OQ!G"9F7IT*Q$#WH1S^ (E@ 2, M;D[N#B+LT" M?(L\+.0KFB!JY(G^NS"<:3=;J=5\])*M<*6 (UO@W%\+MS38$ASV $% M=J^54+@A6>G Q5T"/+[-QL&Q$[H=(%R0+6'>!F@>N &4Y@&^#,3W![0]- M,9VF]T"P= PP8HULLM"]A5.N*Q4RI3#6)!V"Y)S-!2:LR![.'\UG M3[55TR7T +&CS^@%;EFQ:*FZ!RKVS7E0F#!P]X'F5#Y*H=!B0:T#58!-T >B MO\ S/H27$6K &Q])_OHEM_R!2UL.=R#G2T2?>#IPE;["@+^$4%@USH:+;J?= M/"3QEV9!&/9IHE:%X*Z#T*1EWGD@K!PBC7TZ=2G-E%"!^('#W2M0;K;^J!M< M,)9(-G/@2E,).T)U011>3'\,J\$T>@.RL'W)K'W@NK$)%T*5P+2'CC^>!ODA MI5V1H-ZGTP,1_*$&((I.IH'P0R4]43V2AEK$2B M:IP-EQ>7G73Z8<\-T)5J>[J$TZX.DUL M5I[#,,%A<.@D,WA=KJ4#U86J.1+J Z+P9H;?G)WX5GSVD5W_0%6D&CZ$BL&/ MA]9QY#R+0_X*W09[(#,:P*4::/= BG(.W_XI0*(1,F/G&>Y5-\C.P")^'VRQ ME]W@;1A@2=D5T*[0'=@;MAKC7:=YT3ZOXV*LBF2>5J)M< ??%LU1 &9JL4U( M-I&X0UVH[J%K26D>(#R=G +S8+FD>/6NJ-IG4P$1^ A/'4<-'DWV,YQS[[D6 M&% *6CATG=B0$Y5O]N3,>R/#V8UECSP;W"N'.&MRZL[0C$R6V<7X^A8_83ATN'ZG62D$A$._E:72HQ2 M9UB.9Y.,C,M.=,.6$SZ]4L&]T(AS3>].,T0SBUV>-=O-4Z6AK'N$'^/!S\'# MXT"Y&0_O:7*QZ;C7GTZ4/VZG/Y3^XV0ZO!^,)S0#6="W$G:N_!9T__$3 MO4IX:-]XQEPWC+!L"<-Z7MY+!DH4UU)\6H!O2D"-HJY=:/3&EI,B*\=OSJF M(C-:L<]<5 _7%UXL(8&49P7@\)EK/HYB7UF@ZF&*&+-I#X()DQ<"JF@MEI;) M(DP9^[:DK?AILYVTXE>]N]Y#?Z!,?@P&4W;%\O"!)4]O*&&7BFK.E%6G^"TU M=R]3VE;G%]WYDF(V+=_MW&S3.95P?+PB\DBL',IBPF>6>YKF+3RVKB62.5EV M)V-5S<>Y>0[7.L?SK[A2_/_Q&_T8W M0:_N]%>Z\!AG%M]%SZ_TY\Z-1@X]>8- 434<'[DXT],??"F$^ :%'!@1DR:0 ML5J^H8/6 1G,&,U[SS1I"MWX'6XS>*//=7IFJP+SGXJ+YYA_GQPE2H]BS94H M134,$=Q<&2G] <(]TYU:5R2 D-J.*543CXU(Y\0;DX6J@]3MX?P&I*L:_R*J M7<)H"+:,PXJ4D+NH(=F$#_LUWJ21/H %F;X1XY7<6Z;[4L+;$&CT$VJ0$ OP M[8&5 TF_BNF;58G.!&W%^=2I:=EOIZJ2AQS?(8@2V*!GWCIUR=8^JY9PL>.[ MF4<>W8WE5>/%A(U]4BWA0J_\XAZ.=^Z3;&203*G4$A.VWMPE-D?^FS:WUQJP M%?#"-SWO;B(<)GGN1Y,\EYCMIC8KY,QV69\*=-H(E@3W)N892:5?N-;+*7O M:]5U?>)"TMELF;J#=>_8H_FD&P;=016F&P+L+DVP2?_NN=&O_EIUB6_V0O-% MS5_?@OK,EE'[-31)3D!C2[W%>=WMPL]]4*-=<@/?;'7GF\;W1B\V (=ORDFS M5SE3Z(!E804$Z[QVMR9[QG2W9QC6&]7V&\ONVV3FWU-=J <5M;ZGBK)-]/@F MI<$%1<%D*7&["'>W34Z=/96Z/";AN>/NY@T)98UK%=U4 M6/\-VH_B4X!_+K$?AA7A>%,:,2Y[4:&$RHPL>88&T?PF#L2_MZPH'VUNG3CN M"S\=/6(ER)13DN%@GV1_.&88P)\TCW0RRN8?9E? PU[30?5BL M2R4D1V'T[+_+6<5@6M\8P5*JV$1S5SF/?"DD*%RGU;P*GG(S!5;1-&;CDR&[ MG'&D:B8@=C[-^>_S(K("=>&ZFJ M%$^*J\!9[^E'7R,CVSWG\5MU@T5HZ6C:63JOR=V@-QGXZ:?"WFCL;-5?$$4+ M>L0?+&/DTFV!'&L:>;_;H2(NP1P*TP5C&MIM=CMGK1J_Q!3]43,K2'SENZ@F_M@MC]1]+6A3>(ZR56#\[2V3Q6 M]B[L+\O:1?K7+2O)J.&M M C"^R*D4JIPSD]+M?#*%X$+&%[&4P95S/%*VF<^E$%S$^ *$4K!@ E^%/D S MGTP?>(AKO?2$WMA^+I0(+O#A^M!=6\A]/&N>IU,!T?Z4<[F4<&O_4?F-=J^T MT3J26T@-A^D$_2X3AW5;\'G@31R690XJ0ESH0]+ V=+6+3KW8@,)&@VI+'7@ M84F?CZ_6J $UQEW9T(', -!-!P_8 -#=*(J ?A0H&4Z0KUYG^'5%D5 ,=E4: MUU>^B?,G U X++"5SYRNX\!S0G=6CXA_TVE_W>1P/E!M$X"L7DI'"2^:K=2' M#F[=[0,X=@/EM[OA9/)W9308@[O7&P_H4LFZ>_K=AP0H([J_F)* /VCX!Q,= MC.>OH ?/Y,%;/-',?=>ZX<%3!L(9>JX#0P&]%C'QF4C7WNVWSB$O1=>5ZN@: MQP)(M1'_;-K=SGD=D\&2,HV:A+YA:X>M(27QU^H_WJBZ MS78"W,,("+_9:.E[O,&3V= <$WJ2)U!XZ?6G5C,]LMST;L?*S][=XT"Y!R?R M<3RX#[,)^]F4PLX5&%Q4946 PBC /[!$SM.O.+QF ,_=*JBTZ^Q+[++@Q!7! MXFB$Z^,P"G*2BR=DV@0HOI&"3N\< '1GJ::SWETDDAE'I.J^B[LT1GR+2+U7 M,**4^!N+'5&<4#,;! J>W/4OCK1%J\>Y<=KMM.N<+\I+?".5IW*&8L-H+\ =#<:C5_^ MZV7M&EM$? =[O[ZY>?ONC8$\"]N.M_SU31@LKGY^\U___#__]LO_O;KZW_[T MP;"Q%:Z1%Q@606: ;..;$ZR,.=YL3,]X1(0XKFOTB6,OD6'_^G%=WY]LPJ"S:?KZV_?OKW]]N$M M)DO:_-W-]?\^/LRL%5J;5X[G!Z9GH3<&A?_D\Q\?L&4&G#^)YB_/Q-UW\.'Z M,)84@OUUM0>[8C]=W;R_^G#S]L6WW\0HLL\:@^S!V5=' 9^@)8(_ZS_FP,[ZXW+1N6_ MK0A:_/IF8R_\*R:J=Q\_O&,T__LLH )GJG2+/1MY5"_H/WSL.C93A,-7?[RX MQ>L-02L*XVS1 _;]-P8;]FDZ/"&&#O'6PNMK]NWZHMXY#[0$<5T;$V8!MKZN ML&O3N3KX*W2"7:E<$'5?'QON'-]RL1\2VGZ+O!#=$[RFJ ;$M +_=[K$W(9^ M@-<4N3L4F(ZKHP)%.H5)LN.;RR5!2[X*C1=Q@VHXD3$62 ;M?^V;+EOOJM$1 MZ2! 6>('_AR/GRF2WICQ;A049/<(B;$+Q!)-CU/)O9 M!1MF+Y1'L+)W.$P8>M207CK/+NKY/BI3XM*>FR#^ =$."Q&7:MD$\N<6;!%" M%+TT0=2 @N,=0GWDH8433*@*^2.3$+HB;@L9@'H=0B'U-],-^>)/)T>XWK!_ M^?>8#/S-IBSB=8: PHZ>Z\:A"&:86WCI.7\C>X*(@VUN?97%%/V!H+"&S]MQ M)+Z>196YX/S/W3<4!HRPMT4^]>JG]+_$L;A_3_%^\IR@=([D&ZP)%HU0,/0H M-3RB0Q5WMC()ZGF!<^>X(5OK9L@*";4RB^UW1;IO@@U[DYK:5Y\17A)SLW*L MA%$=F^*4 HM:(^82]7>/YK\PN2C<4MZ@@%GF]W?'SSV"S HY)1\+(H,>L+=\ MH%/ CBS:.OBD.V03[+HW'<*,#/1(;63Z-P^X1GC&O]AC*FBZ7!#'6_9-WRDT MZ2X9!@Q;QL$*D=*H/^VMD:F"UVLGB$3AL=A[0'F//*O@KJ/373.N%_4?T-*Q M)B8)/+J KYQ-;TD0%P.+[/3LK>D%U%:@:$^1RPX?&.AN3J@Q85K[L^9<+:].S36(S&?*%K?=")R->F\X^R.6_N5 >&@,D:#")M2: M$N2OS;KFYNK]_RT]-_38VE3/]W8Y M4C87V-4:K9^+7HKBA:Q J?T=6A]Q(Q M%O9>*H^C&5P-D_=])Q"FOSD>#\<_T#]/1D4O ?)L9._'99B6M0 R!/8HN-@Z M&9<')S Y)]??L]!'UMLEWE[;R.$)(NP??+6,"$;.GP]H:;H#NH,&.S;ZOB_7 M?$;NKV\D7^G?C,*SK]=58QL-=G/A?:'" M9<*=$B.":TX5E4+ ^L0EE5/4)]-015^5JVOH7RU-;Q#W\>TH"B M\X[CV91 A[5@8Q9EP#9 :0H1\7*J@MFOJV*8YK1:3RQ8C[JD:BL[YJNPN$-( M^DW]9!9G)%%$S?&_]G=S.IQ NS4@8QXI(2'0R+ 1ZK<&I(S&)&1SNJXC))R' MSJ2^*SIGVJ[L%+C.]Y%GK=8F^:JG^$)PN?:GP$&0O$=);QY(P*4DI\%!S0BQ M]$330DUVQMPX&48X0XKD< L'*DXL#Z%0@LGW3%39T6'D%;[9&K9_K**0*6SP&+NR,& D";4[FQ M!7G-ZW>F;' .$I/Z+>N8J;>JPZ;7Z=., ($VRP%B+H@ :D)^9*[1>'&"@%!I M,^%B4A1PS:FL0@!8G[2DKI[WR+14T1.D15AVO-C?);\(%#E_PYAU>1HVS!"A M]LL!! 0VK^\%Y(0UB$Q. /TAV,00=0UI1O1#W_&0[_>LOT+'=V16B1IJOVO+ MH(#0Q?Y)D#CDH@VOH#4%WZ"ADB$NG)_>$W-%W#VW5K*[A:3]^ZLM+&$V2-YO MD88?<[0X'K%DMX!$NS0LF:-%%NTPPI1YA(F+T)\Z@(T7 M/4*WPB5WT@6S1@D3\TH"TP!%"1S8N> (LS2F_2_)+?_Q).TGIK5@ZY@+N5LW M-WO40L67XBF769^"6&*-B&Q5J:/Z&Q?$G,MF#)ZP/MPH *P M4<*$^X@NN)*XYGV'DT\- MHBVVAX0?4Z@WKZ="_N(,]$\LET0'W$1)-82D9[UO)K$EMKOPVW[?/?W61(H/ MF\N\]A;+U* "C<+ B0VNOSO"3,P=WP<9VD?3;\61L09DS"DE)!P: MA;JO!:NFLWGMUQ$5SD=K4OL5W3/ES^BV:==XRG8NT=E;^O?]R=/Q]SHQ% 9] M!%^26#8?K#EG(E9A?7+@M6_*S[.232"MEW-G[7C+\8('?1:(C!>?,;95=SUR MM-B'*'5:P*-=N)[F:J-'?_/K:QZ1XF(\. E+9@_'YHSF,)!FTSVC$?%R#>GJ M9_M"(*[IBU)^"K2,.9NK)2R>'+&3^MX%6V?S1MRZN3E81 'PI?Q)SLH<"+#9 MF7M@2/-TZ,64%YJK!5L?K.R'Q1V/>7M"#'I^@S=^B2H'+X-6I-Y,+D2I(CM]HJ'2?.V M]&$:] 0R]0K7QM\3!T&&%W<'*L,'Z-)P^.<7!Q$JV=7N 6V1Z+IEOD;GBX:R M49-,2!8D/$=2O2SD:9MFB5Y;$!-81^#X,K9(IJABY)/YJC7K0(OF+H!O+=3_!3'RXD@5WDO,NA .BY0HQ87TZI1I_WCT_ M,)%W"TG[C\]2N"[^QA\<.]+B2Y(0\S6*^:?;"!P3A+,C3Q,M!C0_9W)*%1=B M0G(6Z0W()I/>0)#F592G,C=?>F&PPD1<_5,-=)((= X$@BA%FI,<3$I8\W,@ M0R)8F[CSE*9TI\=L)E%GL'59<@LB&U J^D9O2(C1T=1MQ9F9"A22CHMN5N0@ M5*WKR5L7ZDXAZ?SYCM/?W:$%(@39#'\6&=.RC-3-I*:!K%DCR=VGB$C2NE5 MAX1N,1 DFR=#7EB35+6=(QXD2NX6=PYI;LS"9Q_]%;)JK=OX4K=@*F1 _WF3 MXI@&/ Q:A?J?"9^'WF.+_#,CTFM]YF--3%(*6-8T/)\NF:@;//9DANO!L.P@9.=.[!PL09.XH86+K RL%!$*K<3F3@.8@M;S/)Y#O6 MPZ/VK42&>'(G42'<7/'@F84\DSA85EQ#!"=<4:60=5$4#_OD^1MD.0L'V?*Z M&C)8,64JZ$OVABSF8HWQ:]T,) CO=P,EHDW?U*!>D6.ZQPNOBN5? BU=$A7P M31R_Q1=HCJ^U\'LU B1Y!-P7?U)N&F4.(>5JV8-4%.G79PZ5IPF81Q,:1K7P,*49E<'_)0EYK[OURG9/- _^0?3G^*B5 _V'BP M6VZQ9U,NL'(PGH]=QV9EAP]?Z?K$$M\)6C%.;=$#]E/OUZ;?B8QY]_'CC^_? MO:/_,ZZ.SS#0?]^.1W>#T6QPQ_XU&S\,[WIS^L=L3O_O<3":SXSQ/?WT.)D. MOE"XX6\#XV$\F[W1?\!WK\?UOJ\V9PF]LOAD"NCZ'; MJ4<-%P92A@)7M%W?[#0:X] M-=<;.2L5P'4R]?TE3%704/["4&2;H/LS&M)_2@_N!(#5<)\_9*ZY_IYA?7*" ME5JETS89?Y#ZDX6I:%Z"@.WZG=A.Q?WU /J)P=,E=\>(N\$/F] M9Y^7]I+&A=-@#:'K6 \O74X(:1I7\"">:C#8Z06;XV6[\'+ZSD9.94DX/7*:X/ METPY.0FPI,+RY;EJ*421@ $P7;)T*2V%!/9P6,_RJ-D%,TK'';N6AOE;#3%) MTO5-V0; ;I1'-!G4P!'5#+FTN^5GY"%BNA3=GKVF#/;Y2ZA;I):9;F, ZUH> MX>F2!4>*O34F@?-W7, A7>%%(KVL1G5*[8?+I99%#AQI#;TM\@.V($3IR\RQ M(_07B9SDX'5*Z,?+)20G!))L&&8L$KRW1ATO9*=<&Q2]#>WWT0(3=$@\9X54 M*,642XYGDATWF4;88RXAY29;1S+%6^&(=6K(3V5H2(6\@*9D%/V8)WVZTRP< MM8((H.L4[C_*$JZ #CB"&:'@J((2<:1@ZA3"SY<+(84]'-:/@Q4B)\=Q1SPI MTN,%N\ 0!,1Y#@,6BYOCB4E8EH+:V;Z\6P!FD)Y3?CFI\+7AGB[^SM*[#0G% MW$H^-4OUG__E1A=C['^%D:FQIWS"K$/Z0<" G*I3$0X @@]ES4$=K:R(BW!4 M^ X]!XEB>5O3<1FJE.Z9Z:(GCR#3=?Y&]F8+',414+&G0!K25K0 8,M4(7 ES7"$>598U?0=*\-^ MS6@#( *D9YQFT %<2'F$ \*2TU*U3/E ELL=JSA\S,S,D,P!&H!Q=+%L#L3 MD<[OU)9?49QZ6T3,)1J%C!'C!4?7'X>!'YB>'9>)S5KR"O8%(-2IMQ06I*^E MPBY#R""6U(M4O+#\6R#W>#DZPS^?Y.6] %BRJY:]G/A,Z?]R7?>="7Z[8X5= MRC!_\%=(D7MS(@WEI8D/Q2Y-S.;CV__^,GZX&TQGQN!_GH;S/]YTMR8N1C$2 M'W.?L,>$JZJZHV[3@GL5FI0T:^6>HJ2^02>&;?:R12X5.S%RQ=0T'7U98X^O M=\*K!0HX :+4I=2X9,T^LUF,]FV$XT\,1U[Z-V:&R27 LOFC?10_@((J@S9]T4LT)=3L NW^. M*:*FI1T"BS2M@,3V#0'XEMH*J2O!/6W 1#CT_5! W4FAFTE,#ZMOHY)J_KX M6'LYYF9^^L +.])**07*25RD-R@SNZC::^A$-A/ :P7G153CBB/F#UX0L1Q? MFHU0H)_6G&87H V\@",=+4'"RHZ 3W8E^=H3O:TJP%G ']MS+'[^2:%ZWTQB M?R;R7.V"?0&XQW7Y7%?0!U[8D:J6).W,SH#/^TPV:,_]5JC$\7X)Q9<'*^=X M;KZP^C,L'D-)8C<,XCP]EA2Q9I?L^-44Z5'4!3T"N$ZHMQ9<1"4<\4>:R@[: M*+J7R;U85P!6@Q*FP'DD+2\?X*A$@AUS+#F,%5.1-':FZ*_0\9T Q57]HH5Q MBBR\C,2QI)6F6H[ 4<$67_NY>7>)K"^[R5-6+N2QU+6@,IV? M+$WGW[$#:5>W;/3'']Z]?W=C7!G'$>@?T\%O@]'3P+B?CA]9$N1\VKN=SXS? MA_,OQNW3;#Y^9%F/_Q$/]9]=XN,%\\JSD!=$M42FCO^UO]L_WB.=5XH6+4IZ M5-+1\%J7PNSX5)*N3)(M8*0_:BB:4CI)BAJ5SF>$E\3FR4!:W ZDMJESU)+ 05SJ)WITX\F)J:G^%XC#IC^NO MZ68]8'@.6_\BEI60)'SZ0T%!_9R/$@&3F,@?693#-O_^1Z8*';@OIZ+9RG38 M>U*G=Y] -/Q22*;>G)2D2R+>90*_UDQ@R3,N^RNP\3XSPR&QSK+CE)#@DWR5 MV$,*.J9,A G=V.@/YA+=2.:!NDEK+ M1O)&"10,O#!B)+I(91D7[9PU?UMU_^3J>/$98UOUYEVNEBV*7&K1T^RE2#6& MZJ>5]=K"\.YS*&4."8*PK_>X$62/MXA0E-5W]A3P +S]7!HI>L=:0!84\?2" M"7;8$P)Y9"1L!,!P+$-00MHZ/^H[\Z-BDU7VXI4$!L 4T/"=SO&&:)/O?^V; MKNFQ9SSS&^,?BAKC^[&-_>"=$5X"BC$S9RN$@@XY@O4LX>3M.6F; ' K,@G*"4UG2W]6FWI,F+F9\\5<^49H2">Y?+0 M>79+ /-(.X*>30VHHPXINL=5H(#DDHW;=/RA15 [Y%= :BVJ@J(F Z9;[+.+ M&^-G5KEM3.Y#=^&X[AZV@)/\8W$GF6)B!-B(<*'R,&)L#//H07>.<^.<^9;M-F>W S"'-&WY;%H N5Q2 M9+,=9JVF[7&7MB"&IH[%1(;> I-U9.OFCTC]5#0B=43 2�A: * M7E>;$&R'5J#*DI:#M2#4)$>^]IN!,1K,,X\1\:4W Q6PS=\,5.E,BN3H ($%>D*I(!M?@62:\N>WPKT*UA_ M>O;6] +$K&]$',L<>I9\H5$ -[RB9.K'8451T-#PZU[RAZD!546JB*]"W=W MX>Y+IO(E,[1%86]->N!$>RY>)Z):H[)+].5UWYH0>GDDP]$246:6D*Z(#@?9 M0V]"T-;!H1^1DR-S+6_'[0G;ET!LBT*-"S-T<^7 51%NC-'HPHY=V+$+.W9A MQR[LV(4=N[!C%W;LPH[?9]BQBR1UD:0NDM1%DKI(4A=)ZB))=4>2DM"QV?MK=>.QN M/.:02\^R<,C?F+20LV5*I;PG)P=OW6U&.2G=W<7N[F+G@K?,!7_RGAW71?9Q M.OOJ2XNJ!@!FC9[<5$3 \9T$6(YPT*>_L7_W@N0*P3.WUFQE/CB(N(]N,6W/ M_N@M D3&'OH#F;+UL++16N-_5\8!."IUAS8$64YD='FVQMT\98O6.-!**N"( MAQ7,_N:PW4DHB^/GUER&/*(,A\L]ZZ_0(5#<.]0&SX[-$G:6SXRM@/:9B>;1P& M[8+&I=0 BU@[H:(.DB+-?)9>JV6+0LE:]#1;U6]7O;^NT!Q-D*BBX'D8T*\SXDE+$A1_3>>6'_4DM/U0! *R@N%14-2H? M;N&NL&M3GX;@+=^0U0)2M@ 0QRHH(259%62V/IC/F#!H9K;/J<>AWH4TVP ( M9^7DOR9A%4A D^F-\UD2:"K"Y])96T9:FQ^0D&?=L50KO*0KHWH!4C$P#&L(Y*'69$)D&5\OUV&P\9E[+69[^Z M)0"[MJ 4U'1U^1==_D7>4,QG(H]O9S4",(_TY)=%")P3BIYEA>N07Y),GB73 M?[M(<*@L)4R>(%A2]P"<3=VSQ+)(AJ,E4B3E!:K530 XIA?.Y*;>C*Y\$,^5A M4D8;&,=(&LJF(2$@!T=^P"X,NAFQ; $< /]82\-. Q-G9%3@%?,S"[;AQ<\[ MR;U@&20 :UV;MTI"FCVQD:>D]7=1"0/7]$651 KUT((R(X7H@BK#(YZL*(5R M6\G="XR-IH ":TI93'6S6U%\B9G7':(8^"MGD[$IJ5H V)X*ZN[)AJ4BL>%K M _R,'MES9*T\[.+E;LK2?-4BRVP%8.V8_,_J MP66T 1!B*D%L&40V&T>B>WI60D,*!D"DJ 2AI(AJ5 CL-BU>;U" #N7PU!)1 M-0"0X5"">%04UEZ];DI)D-4G37QK01'_%,;-<%*HVF=?FZ_U=R;V$PXV5["2 MLF,=KJ5<3'UON+*?0.*'RI2GB#90^?-%S =/B73"D-2'(IX2Q#ZF3W^+24_4)OJI"273" MD.[YHIBW<9WR^EBQO)K*/^07\_+G%_YP7NOX8=";#;K*QJ\N3%SH[:HN3-R% MB;^/,'$7W00=W1R%3/#C!?5/6)Y]M-V)[ X)8#OBEQ+DJS;T'A"U7="8[AW4 MNO&6?-@AXY+ISA%9CQ?[!R'FM!N?7?\7<;Y(+^#CC84I@Q/0.,4[%14]O/[" M/S)J9"_DY.^F-2'(_*2U1+K,L&=%@Z>4"Q-J&"_S0)L M?64K!R(^N\P6['+[^W*S^?CVO[^,'^[8(\:#_WD:SO_H'+N"IO1L9;+' MJC'HJX):X?BH2:O=CQ,A(7P]5@S?O+6;KDEH*5;YES!:B MLP$IW'O%V\69;1IV+'74Y_A<<28U=;+]AP)L_P%(ME(Y;/^A<_I?N]-?;$\0 M*DPO#%;4>/N;'S!3PR[MSN1J"3YJD(L:.$Z+&.4H8VOHW6-JA\O<4+VFX.,* M^<@!*SG[+B31T[$47[[^'HKD_0M_X)^52J-$8?%927H+@R(_NLQ9"MG]/J678\6>MDPHG$9U& M._#91SEH:2 0.EAO7+Q#J(\\VDW "GSY(Y.P".X6Y8Z)_G0>$QT\3A[&?PP& M1G\P&MP/Y\;DH3=BU;,.HW0ATC)F&!4HGE!*0%85$QXLTN9#$JZF=4 M4D P*I"(-$3$Y0J#G8.7#4OBXZL=7VGDP38I*(!B(&(E.!A54M0KJ=K,CM#H M(LH&8L^1OG]W"L$OT*N#O9APD.P[U7,%<%#2! DL%;%?;- MNM/?3&*S(O6*K2T%TZ+R72G,F_6RF /19P$65E*54AC50J1FFK>,JD'T=T>8 MB;ECOW$"CE1XMM866^&^5$-^HZNS="+[IC3D2RF(J"G@ &WR5 M$R&I" HN-"K-*?(#XK"7SCEF3U0,_G3VI)1H1AL QD5=4LW@1%=)IZND\SU? MD8!; ";G%8FN ,SWG"U1IETMVW=B%3N8">&S;Q&'D\X2:(O:UH6'@[")Z^E, M92R /!TV=GK"]ON,VZ0ZX.6LC']X?>P+16V>(MU WX9)3B MI(&=J:?8ESI3TUVW(\.E-'(!;?RJ](_3D-(W#Q%69YX%+8IDQZAZ>QWI,BH* MX8AR1.M@2/L;9'/ MR&/+G3_'@>DFO[,/LP:C$F4]Y4" :4 M(9K2O+C+6H5:O-C-Q70V,$5[RR5!2TK:J>+-\2VFIC)OP+>=:(=Y\BB/8C)Y M<\W)>_$HM6K !<'$"D@'&Z Z)>@.6815B1&<9E4W3*UJ43PP60GM<"RVP@UM3<=E62?4[/I,VRI/QBL9KE95NBB46AT/7H%:1;F]_C@, M_,#T;#II(JK+UB?Y.+4JTD6!U J(?ST:Q*>$/XQW:=63196,5&L"V$6AT$K( M!Z9'_"!*)?X8H%:I79;KF< :&+.+6-6Q+OW&P^U[7;HW'?*;Z8;RDDN5#5>K M(ER>P%D)#X#46&#H1#3Y?KB.D*8FS\#?; I477BO777A,*Z1&-A88&(,9I-) M5XJA*\70E6+(OP*VKQ1#.Z^V%RO( /9J>W=M!_RUG2(VR,'<2&RQ@Y<-8E=" M54\^5#E@NZ[N5,0$8"Y%$?=41>5OV*7=N)3 *FZ'Y1FY7==YJN;&*U6[J>-_ MO2<(#>D23JB_59?2B<<%?W&H1EZ\4H7;SZ\[9^O8U!NN>Y4['1?\]:8:>?$* M%$X8]TW= . ?[RC%!\[4$GS7P +\9:S&. ,DWM=SN;X[[#'C=%XUR[C._Y;P M3^\^:$?]CJ,;>&$YXOKGB5JR6 Z%-N$6D1UJRMBUS:W?(S-3.(Z5(\>_:: MLM3*Q)$HGI-@:P M5FJ^X:-)$! /+%%DU>]9=.87>?3WIW<_:#M=?$ C'M'8#]EY6977PSB*Q^_O MV(\*[ZM03RWRR@K1!Z/&@!!C]O]*QTV_.0P?[@)5UI=SDNPJKO\F!T]F6RC> M]\AJ L"KRZN)QSN]6<1U-F9G8U9T@/&=W#%IICQL=\7D55TQ:29UI"4W3%15 M\Y*^U."%6JV.O+)CQ;&4XL9?)6JFV"<[R;M0D#[ZU&@Q.Q()93L5^W,FY9UC-Z>@KMU<:1% M*BA]6RIE'\A2FTK1Q)*1:$V9W[H9TR*]O-B>:&#%O!2IUM04;II1KT>/$_9+ M PJK/7I[2@W7QA)@.GA!30+YM)LB)B#Z^RWV F):06BZ[,K:>Y4^UHU)>^H< M-\*>UZ.GN7<-&5>J+7!2#H+P2S]#Y-KK47;Y/E2W5A?"!'Z1ZT;9 TQ/RXF) M#"F5CN<[5I4WT!3CP2^K70,37H]F9>\+AVKDM6C>!?C K^P-@$G -+><+>&4 MR!JVZ+,!OX,BX1I< *9@3>82?1I&G_M>I@>_O5?G\C-DN]!"T_?.ZA="]/#M^?^1FTL M^1ZT\!Z3!7*:5$0!!J__[D<1KGP/ZGBP1VHOXUDJ:J__DDFI[/H>-+OA*K7E MX_?Z[[:4S[/O0=%/K2AXBIX;O]=S9Z8^GGT/BAZ;:*S0#SPMSX?4S+# M&CBY'J$@JJ/Y@'V?3D1.9\\+G#O'#5E5S!FR0HJ3@_(7)O_Y_#G"T6!N#$>W MX\>!\1\/X]GL/XW)8&K,OO2F U:=G(Y[9<<#&\>1N_/I,LZG*7/M,Z$.7BPW MI/*[I].&*7\8Q+7I!R9AJ;0'G>COQ!VH3KNK'+%-9^=5\J'1;5",6.:I>G8S M("?DU4^9;#T!6W%$XJZK(;23S&+2*C"# 6M MDI I,U1W:*ML@+$<74HDR@WG)_]VC^"Y-] MN_R^Z,=S7_3V:3:GCNC4Z(WNC,^#\>=I;_)E>$O]T_OQ]+$W'XY'%"I&Q3CB M8CSO#(Z-<4"G!0ZJM4)VZ"+VZ!@GR&?Z,: <(U30!T*H0!ZPMWR@&F7W?!\% MOM*AO;#3NE\6\I@$2:1ACO^UO^LCSUJM3?)5X<5F-X/CBI8BY-/GB;*(;_BQ MJ#1Z>^24_F=V,QC^IZ[&JB66IJU9ZXR]=!5KYP@%ZB>)Q+ G$==O3NQW<34 M-!N_L2QF U"T+.1LV2*@%(@<'(#-5$0F^7:E9 NP&Y+J I&2HF:E$^O:&8;J-R>S6D'E'#CQKB_<<]MWDG)FL1TCU+*R M1^HF 'SX,C5"32S<0P^_OSM^[A%D%CCK^'#168?/3CB..!@,B>Z$HYTG'.V* M&S5YKM'%C;JX4:9TCJMBOLB11KOVQ8XTB((UE=I[X-MD0+T[\.T.?+L#7\ ' MOAFQVT,RV7&]-EU)7%T!^TK#ZPJ*ZY=4%%Y(8B*-LBM@FX^R9ZK<@?MR*DKC MOH^LMTN\O>9'_607"2#^X\C_^(<_GV8I9B<_-!QYS]0/QM8DO@WQ\'8DX2'[ MT'#P/11\)!]:+ T56X>,GPK./IA MMV7&B_D*_8Z):\O/?\1P#=93TF:@ OWN\*<[_&GMX4],9W3'(WKLZ'KDZ^F5'145X@&JZ]8-.C3^8J=K_@: M?<41-7]#0EC-.DZ(1"_.P5Z9EW=.8 .F_Z':WR,RV=^\:F"$3_R+/?:FK)@# MH0YGW_2=W+4.;MZ]NTF;^_>]X=3XK??P-# >![W9TW3P.!C-V2-QL5V_']S MGF$:!P0,CD$+3'SX]?<.DN_O.,]O7=-75<]3P,,QR3-KWRFH:'13/>"EGGM/ M'G[V$=E&;YQNPH!^ILN(XSK<44\2I4Q J6XX&(DKF M3?(5!?>A9XOK@&4! \AUJ7IJ)%5!Q@88:T-_=_CG%P<1RLW5[H%:)*(H2M[& M<'((\ZSA2I)@""UI6)VCJ[=*Z_4!;NG5T%:A7/7(A2%>OM3XG*X;Y0JK; %I MF)N3@S:WIKWJ>S?Z//3:P-=T3 MS3LZ^;*#7OWV *:9GE1ST 3GD+ZW-1V7:>$])BPS//FNPG-P_$LB1_WF [O M-=X%@AXGQ7WE0>\^1!=1+L$%/NF:WH6FJT0"A[8"$S_Y9$1 M.7B+XMER(AI=W41H*4,=J@8PXAI9VI4E%1!A"[[8I \>E9ZPL@6 L$6VIIWM M.S)J.K>W#W,.O4TJU-.VH8&^M\6<+4]A$!CI>KYT@2C[Q;';IP?&6R+,*//-X M;G([?GPNRRFH()EX2->2M4='B>Q' MQ9-I,LBF,[*SE..04"PCH *N3D)BK>AB.7YVG6468Q7 32=K:_-604/G6W2^ MA40Z#^P.)QK3;7] /^/.J"VAKP(N>L3OE:.E8$Y,$'B+^ MRMGTE@1Q^E@0H&=OZ=2FCCYULJ?(I< V ]W-Z8SW38M;++G][??G_O9L/NW- M!Y^'M\:D-YV/!M/9E^'$Z'V>#OBQE_'[SWBV[]MWYY^4$S\32[N^27Q2G97DZ:(%G7X2LAJ.?1W24)VDB0!@G M:/EU4":IZL[2,H(PO<6"7RA ]L"C:^!.Z,^J &AXIXQ+*@GM #EP.TX.% 3 MF1:B$L.'TU:I!ZAL4Z=T?KID0F304> ,YY?KB%_Q0<0__S]02P,$% @ MTX)G6??'CG,Q@P ?Q@( !4 !P9&9S+3(P,C0P.3,P7VQA8BYX;6SLO6ES MY$:2-OA]S/8_Q&I?>U4R2TI54G=/2W.\EB23$G=83 XS2QJM;*P-!"*3&"&! M; #)0[]^PR-P!#)Q! )'.%C]H5LL,L(ON#]QN__K_WG9>>2)AI$;^/_VQ8>O MWW]!J&\'CNMO_^V+0[PY^^L7_^??_Z]_^M?_^^SLO\[O;X@3V(<=]6-BA]2* MJ4.>W?B1K(/]WO+)1QJ&KN>1\]!UMI20#^^__NO7[[_^_L_D[.S?.8US*V)] M I]P8M]^_2']PT5"+O!_(!\^?///WWS[_ML_D3__\.W['[[]"[G[F+;[R$3; MN$T-/=?__0?XOP?&CS 5_>B'E\C]MR\>XWC_PS??/#\_?_W\W==!N&7=WW_X MYK\^WJSL1[JSSEP_BBW?IE\0UOZ'B/_R)K"MF-M'ZO[R$'HI@>^^R7A5MH!_ MG:7-SN!79Q^^/?ONP]TPWAO7^(7_?TW[Z(W-W> Z[\=X\AW90+Z87A M-]#_&Y]NX6."EM^#EA_^ EK^/\FO;ZP'ZGU!H.6G^^M*?;\OT$HZ<6V43/3- M6.JL6?!0+9WDGFT5$QX.?6_83P7]Z$M,?8! M^P?AJ<&BU),B:G^]#9Z^<:C+PQ%^.(,?N)W8/_YV$3",F3]$<6C9<4J)B_]O M7Y3]O9TU0&B@-0^+DENAG?)B/S;8(6GQC1VP\-_'9U[R87CW31CLRB45[(*2 M/_[->VC_85-5"GJ$- H.H4U;?5%9_"I+9R*R%@#XU#_[M&HA\[]?IL.!Y3MD MX<=N_$JN_4T0[CAB_JL08T#'2@60F*ZMASR\)R/$F7R&Z?]WT:-8V9M)^.])\'*XQIZ+W>TWT0ELWK MJEOB]ZL*[8Y=[*@9;F^K$K:SXV6$B: \GA/>T= -G(7O7+(U58WJQ^WP.V"I M9L?N5VB$V_G*1>WL>H(L6WTX! B/.("&EA^Y,((WXE])4_S^5Z7?R2![U ZW M%U9*VWWPS2B/!H)BR7WE>O3VL'N@88G>)4WPNEZ5/JG+'?\=IZM52JGK8BMJ M'T+F630BWUJYLF*UHAMW5RO4JNENQ#6:7JY!4 MU^V2#;V<*@&R8[GQ6QHOP@.?AR^7@1.M0*#:-V=7OL;MR@ M:=&!*QIC=MTFD3LZ+2-/BO1''N_GCL.,%B7_@?W)#Y6V*&^+W4-K-"QZ9TE# MS)Y9)VY'KTQHSM(?"-^W7OJCX6?"]X+]N S7P;/?9(5"RXEXY*EVI?Z8-YN M-Y8(VY?OR34&=,/(C MK8, K>C/>+VO3(_L%ICT-YP>5BJAKD_Q 1BHC>1"%VI2I_4G8[_CM.E*J74=2M.D'"*HZU]DWWVUP_?/JS=N/0684D3O*Y5 MI4_J6L=_Q^E:E5+JNA:G0H(-^?#MNX>O2$I_>/]:AQ:\K%B][AZ",DV/_X[7 MLTHU2=VJ\$>/ MU4K:\2CXE:141SV3NSB$(?5C<;T!XH>M;0]E=YL;FN-U014]BPO+\K8X75)) MXHZ+RX0ZR<@307^\<^.8PN,6]XE>6K&5B%-S"%G1'+N/UNMY?$1EZ34QXUPNZ+93H=X:#4 K/GEK28H9:' M&/**P"91]:JLOA-V-U31^6CA7-,#LYLJR=UU$G\MU^S(18N-4'MEA:A='5&0)9PN882'][SYCOH.O*BZ M\JPRN#S^.UY/*]4D];#"'W%Z5KF(NAZ542- ;H2[)F)/Y\J-;,O[E5IA]2/A MFJ9XO:M)O^P^2D4[G#[7**WV/95D7UI0)D#:P*-AP5V\6;YBOZM+#%/6%J\[ M-FIX_&[XI"%.AVP6M_/+X<0EDY?LG/C8'@GAH.:/..)=N6^F#6;@B>> M"MN7'W)H[,4+-U;TP#D>HK.M9>V%*U(OCM+?Y#Z9_.)O_+XTB+/<7+F^Y=LN MB[I /*RO2"'8LBM.K]71']RX33]\?JTEO?848'E[N;A=+2X)^VFUO+F^G*_9 M/\[G-_/;BP59_;18K%=&?;XL>6%EHXGX\4G"PO(6$_#-?I(49N3ZRDS8R>-N M*C(4UC:=Z%;J?3=X\Q$JR-J#%][TEWY0QQ7G443C*%F>-8SP56UQ.V2M MAK)/EC;$ZY;UXFKO$W&JL^PBV6\I92/>>6%%CW/?@?\L_GYPGRR/R13-XPLK M#%]=?_NSY1VJ1FS5OKB]MY4%9&]6ZHC7N]N)KSTG9>1Y^FS^@\1H1JR8I+P( M9W;D_[U8():ST",P@PT_T)R1DWQ!J62U-HSQ80XR:FS47/#O)G,/2]XADH^9 /) MOD+JN#&Y":)\7FDDAL+6>N!&CA?8R<"ATPXL?;837C9N$!TF8<'?G;,C14M0(9(QI 2J81-P$ M 3>!G:S"+<[0^/Z0RDX$^D!N#-F)!&>_3CA&L 6QY=6.S[UJM 9V""+H+@SV M-(Q?[Y@>,4,06,?O8:+/)A^5J%/;!7=\J>A;'"&KV^.-/B6I]4<$07Q&.'E1 MX"UE,".,A:'!< 2=N;(T5]8?2-DF,!I468%-^U*536#4DLEAP7/Q&\KDNW>W MC_%R\XE-> U*PS4U \.*4FMJX?9]0))S\CG,%9L#EC+,0$ MW@A2C:6U!^1)F"I]@/5+,I$ZQ:U1(OG'('">7:_*,-*?<C1H[6#7ST2D7_LQT\)]\ 2J16Q>LGBQ MO0.\4&M <6NN!&BC?XR>JCTPXLLK:37]?.<2;8)Q_B0=QDGDK+ZR@@PC6T$ MPV/Z)=W0,*0.5%/9T;7UDFE=89_:#KBCNEE7.9:K6^.-8 69M=\2)*2)H,TK MF4@!;"16QU W9GH:CE'I7."6>7GM?GE56]R16:MA8:5RO[8 [7)IUE4.HNC7>L%*063O-?TX:RXW_]!K5G?4* M5ZC4KB">-,;ML_4ZEET[++;$ZZL-\G:^6Y?0Q7&-<"@E]X*NB>A;[/9>\$KI M/?6LF#JGT%-A$I5^N&-267,Y/!L[X8U4==&UFLAWLX$Z?*"(+I_RI+1ZH3S>NL;O^()QR<->UQQW4C9H>C;7EC?$&<;/( M71T83&PTPZF'F/7VB_J%A@5_9&#>* MU>M8=H!9;(D7M1KD[7R2E] UBU%#*QD*NLV(I!*0>V<3\2A[__UW[WFDP6_^ M=A'X?!/O%S=^O#A$<;"C808UYZ['*&RC:W_Q8M,H6FX25>^I'6Q]]P_J')FF M+YHXX[97BT%X]T+0+ HX25Y"OG8=PAMZV[U^)58*ON[U'^6+=3K0CEMB6@_%T M1^/' ,)WSPQ*Q>^ B.-N6&13>-_[0.-G2O/N!\OS7N%Q?^#:L,;8B2V^=ZET M7R6[ MPV\'0X,0X!%9T9?R],7RP0:T:X6""_*\YP'="51K&[XWL*L7CPQ%M8 M,:@&"4TI+&M"9A)F$W6I2HR6,06)F54.NX/8R\BMF=B/;WQ4FB]^9,)9(>7O M'6TA.+,;4][RN.K/S*$8?Z@]_ K),)GT\'.0S6OL5QO,\?SHVH_,"-22>JNNZ'Y#5(Z_/TUQUIZ&PX57S7P,/(=A".1,80/[ 5(7+C>BD.:=%?*DQ6DNM4LWLKT@ M.K _-1:8Z8,R[O#LT7K%<@N=R>*%@SZ5T\[D*\GP)1%2L%&:R\'S>G))9H3) M(K*)2WD.Q>B3T/G/,_8K$HD*T-8A M?@Q".#Z9L?EI^EN7FT7<'NRO1+16L8R\-'9M78S39K@#MTJO0K6+HS9X0[92 M4EU'+E8K-Q^L0RE8$Z;__+X\3O_E*$C__'[VE[_\EV1IWV#=H63C'*6^*%P2:!-8^OM\/IDC:S:&Q()R<+@U.N@]+W0RZ=;_I++D'I\:(([5W!3:D8^ M?)A]__[/?,A@/_[I+^G(9'[DN*>QY?K465BA#_>#YODUKDNZ<6VW:N]%J2/N MB%7778[@YEYX([J%[+HAD+(@*0_R3N)"$C9FLL2-H+ZLJR-H&KKGDXK!MY38 MC'D?TD?J1PQIQ*T)J+YS2^/E9FV]5$U*6E/!'?":5CFZ(-2&!%XHT%6DC\ 0 MNYP%CNGUHG? ]"N173+8P&TC4_>+C%DG>7):L Z4AL)Q=J.\Y8X>#:IUJS\H MP1O3-;)JYVQ(#B[F1P\J[JRAKAJ(5PH+OW;N/H2F8G?GW/*@+ML@9[]"M55L MA?'(RIW3K>O[0^O7>+8]@&;BB#LJG+913MKPU9"Y[RBCIT(WW%BJJG?%S9+2 M/GAQ5EGR'NZ@9*5^3AQZ].LHP^AZ%:XPEH+/"I5=!>!D<'N+-P3NM&MJ0 M+JWS;^8Z&_#:0TEV'FLZX<:.=#:HOX%3UQ(L4+>7O[9K.G7@J+7@EE\P8 M-W'U#,&UG1$LD5P1R&X&F ]^<>]OGMU(4+)42:4.LD@$\N\F )9'&MJH65L@[3"^"BKDW!*UI/*W"/9.X[:-%< MF!U(VV*PNF7:&@O497Z#KX6)BKVF%[(E6C?%K=1E6L%;)GC?$;RLO-!M+HR' MT;L8RW@NLK=>6*!6+X0KFDXH M0'M:%)8%)Y9':$,HBF7I>Z)F\[JWH:KSQ43:]TQU 9 MU1JW\!PIT9X+5F&@NO:X8[91T\H'WZQ597K$_?;R[7_S$VEW_O" WR]6J-R>.PEAR8/:O MW'G9/_YV%P;.P8Z7X8J&3ZY-YR_N\:A2TPRGNS;I!7Y:U0:?@S9*JK^ASXGR M.[4)7?(;4.XOGY2:\_';PT* Z#+86>YQ"9&FMNC=L%K#(U\\;8C:(6O$[=4K M!6T=OZRH>#3W+>\U=NWH(X6L:T<:5C3!Z69U^F3EA8[^CKQ:4)6TNCYU[6^" M<"<*Z^YI""^]>3F>@'E9PFGA,O2IU+!:]1?WUWY,MR&< ME/WJ4L^YMW;[:@2H:XP8"QIUS%"ALB5R?&B6NW^DR'F25V!*0L9U7-084NU, M.4Z: &VC6#*RKF;RZXBR6@V;!27-<()/DU[%3#G%-OAFN8V2ZF?!20IZFLW? MFXAQQ3Y=606Z:]_V#K#?/8>'41%UJE/!Z%&:A _K6*?$S=N001\)6LIT#!91 MJ3'ERHL^DI3OC&2<2%B^@-4JL?X;,R^I"=H:$M.'!'@3*2L?66$-N@]\S3S0Z M=L>L 6X?/!6SB^-!;K2$GJ';&7UKE-0C-@?W]S2BS#2QL69;DT'O.&G)K;^S$Q0YT.!1#\=%@Q-44=3VW":PZQ8> M^-$YW01ADBY];;W0:/'"9@E!Z+B^%;Y>QW3'ZT3#EG+ 9Q:-@3XD1^Q8,;BU M3Z]V#\(.,V(-K[0^$DCU$?*C,B$@R24D#US$M)X"%U)4A\^%&@8N54^3IF!E MCULY,:4 6A);+^PW/MVX,7F7H/!Q'9L1@9<9)EG7G0NA:LU=UGH*@%>IY2E8 MG33%#C35 G=T7T8XW8X@[Q+:_59<:C,U&E15-$%Y2^,B:$O#/88>R.+VZ[[L)H=" M5YIXAZK>--.-M5;%PF;D#C:V K^B8!'DS&=315]LV9N]KU%EV2LVYW2WOLB/ M;[^N0\N/F(Q,J;GO\']Y?)H\=_[G(#8=TN^0Z%[V.5I^W:%DF"8R#/I%5&!D M$ &FASG#FF% @$H$)ZGD1!*=;^U)PI-<^C;(9N248EH?*OT*=OH58LGJ5B9* MQ'=4P>SQR07C40:&2_H0KRB34E1=>K)<#^S Q%]9'OWDA]3R(./;CY;KUZPV M-,C@AF==N\@(VY8&7I#4UD0W?( AR3FRJ53*\VP3A&? =49RO@08)PAH!)Q& M-]#%(^L'VX7DD%MARZT@]A-#*BJ\PIOD@NTB)A!QP+Z19%^S**0R\>]OPJE. M%3=&]62UMFO+-S7-:ZL8BI6ED:,4TQ84CW0P%:PN,49#D?OZ'KC11D';H^27 M5%ZF8$EM['( :5FWIZ&W/%.?90'] M$[=M3#+-.%6.SXG%Y7#QB"<(.^M8IH^18+MTO4-<66BBNO6T NY(R[J02YI. M)^B.!>XS[!+:* *O+SW+=1HE^'ZA[O:1\9X_T=#:TML#I.A:;D[2\JO,7'5I MX0[<3A:2PUJ+$-Z@[Z:.;JBD7$G"E@B^L)@_+>.(9-)LV%)68JE"CGURB,1A MA6UY]@&.+OB1!(K9=RM[]6'SMX5!G;'GC6".$:S!#S"#+!1ZT5.A:*8!3PQQF\?>#&[\VK'%5^^)&R586*.044NF(%Q';B:]] M^JA2,6JU7E[\QT_+F\O%_8HL_O/3]?I7H[$@; 'IX$/%V5+ZDBI]IF([]=I M7.KS91TFX.NU8FMOS7*B)*?:=^6I-@<(105+*U UM<7ML[4:%HX.RAKB]=%Z MG>4ZU_Z%M7=CRZN-LJ8^N"-.2>-"6L"Z#G@C44UL[?QX M&74"Y,]H*;V1E$2OC=RZ]KBCME'3AI+HV*.U663M)PBE)=%-1^E8 M^II)E \5\ZB3WG2I#YC&8[ @?2< MV_9A=Q#/."_IQK5=([DW)3&JWH#5SW%;],<=J:TM49C[JG;&&\_M5=!V_>7% M=<5#*-/!/J(1I/@O>S]Z8^C=H^I9_O1.ZY7.XR=TXM[_4:J@.)-/SH>(PST- MWQ%<;C*GE.MZ[OJ^@YTHD? M6UO?'TKZ$38C12%ET;G?C. MML2""!Y$,)D1SL90=MKAU<^)PQVG]'ZUJ;5[G;X"U30,E76<;F@7=5>-;=%K MFL%])/M@T2WX&%H7C&" ZO@V/X)?1]&A!-,6N[T7O%+*V]PETM\Q_>NLJ$%K M G"@:Z$3A&A+"#EH:*O3#4<$V]()PHRDS).S\I0] ?XF\65T6P%#6".< ([K MLW_[/A5Y19_=^)'0U&BB1895^U.CF<0E <:5)JN=E6A1FR0VJ5I) 9V:2$T. MGY05&@*ATAV8.H@R.@4C5.^(RVBGA/8WBT+7AP2RTXN[^8UA= MHD&7UB1A6LU"JM/#2D*3 VM%=0:<)N;,DQEC@M-< %RH-+"Q?F:4P4 ,:\+< M* *;#KX;XYL2]@0YS<0FB3F*-E*>'KX=U%'59\CML@GASM#F:@0>HW.>O$X7 M,P&__+@.UM;++VQ^!ND1F.!052?),TL=>5E08>9N%'%C40_6*C[0TR:'%Y7Z M4*J/%6RV,LT7KS-R26UX94/))@AY,6U)++)\\-PM%\304M6DZ=(C@H@7IDJ? M(E6NW: Z]W,N%^OEDZ<:I+, 4 W>GX8WC\QXW:!-DQ1N3.MBG].+VNWHX$6Q M3MH,!E])(C4N#/6<,5&LQ3S+A.E&@2\L,[5U4/%6O-RX\D[?/?W[P8W5[*L"VY(5-&W(HOD27N\X*,D]: Y(R_FJY_(UA]%P9/ MKD.=\]=/+.:N_>6>AA9,F^9L=O4DZC'7^[H6(=P1H&\;.2[:4\$;+1UTT8TA M*!\'/$G*%*XJO .^; 'P%U)W-:VNO@WY&N1'8X@:$L>Q>L4(>A"=>\!I- M<_WT@YF ,Y*(2+B,,P"_3$QR@IWPYVF-ZY=T'U+;Y0M1]K-'X8>Y[\QW /U_ MU)TP*';%'?IM])?#5Z4?WA!L);UV;0V)"9QF)FR(Y3M$9F1HUC"Z#;CB5K7B MXYTPMCI#G.@IH?HYX-1.^@RX+RN#T'(SM\7>-/L' M[+E7+<$;.^$.6S6="W/HVAYXPUA1;NWYJT0>3H@E!OS,QM2EQI'5MH!!R*?> M,:/HPMZ%%474S/7IY"#*_0/0R^<3?E!;89ZMUA-W;+?0OE"3H[D;WBAO([SV M84S.@Z1,>(S/!I]B-U8N'$/_XYBW)7LX+/B9-2++8ZML>-_E1A$TLPU"H!&; M@+X%R\0!"1X@,34)Z1/U#U!Q6PAC!!KGMAV*U5=A@+AT(SLX0!DPW[D+ZW3XR6<[8>+)C4[4J"ZD@T=[91!Q> MWG__W7L.,? ;..#-]%YN/OG;@\76MC&ESCV-7.=@>7,^+3RR6=N^. %$RP* M%ZTZFH4')[ /X#-ELV@]-;3KHCQ2$AUV_&(O^U%DSH2'E M698?:/Q,*3P_YRG=G^!Y:93N%_(PL1^M< OUB;=LV(YB0M,"%W 1[R I!/>! MN4;)6N?K(68Z97@\KJ%/$*7.!B.#[;B6F&M:8:3C)>;C(1S8P2G9VGI)=A#/ MJ4\W;M6!=',OG%C;4NOB>5)M%[S3+U7!]4]0!/WTH!6>D"0LR+N$R2!9^)6. MD$;2/;9>3K(7CQ*_O+A(>DK/M4Q4K+!(77O<,=NHJ1RME8WQQFFSR-H9A'@! MFNR>1'(?(J'>;VBJ+W0&5M=$+*9O+])WP=<^%R6_"<-'>;:"NW&M!]?CMTM@ M%E)_^:L[5=QQW9/5Y.CO2!(O1O2EF'9"KO1UT;M4@J_@0:0 &.GR%!>#+X\D M06;\.I;9VU2G!F2S<[Z NZXZ- ME!/)61D:<4>Q0J9N6*6NH3B_"^G>$23AG2VJ85@5(^[+GYQ&P $LDG.@V+]/9D<$.-KET*2_J6-/#"B[8F^BF$TYDY MYS@CG.=9L#EC7 6*S)*L>Z[-)BK.P39X[]N@>3P.OV%JG4-D\D):Q6(/]DP$ MT+6LMU9 MKUI[%7F_J85]A>9JNQ1)IRF%>I7H0^U/)'P,#?K#ZY\INB]5U% \IY6UDA2= MTG:ILJ%J24PMRIOM41_PU?VG%/L*6O0, UE)NH2EO'&/!A(&- M#N#* 9QH XNK 16G7J<%$M?Z-\X&C?E."A1KI^Y\5\'# B (#6"%5 M-]]+]"H5-Q3QZ6L42(![<8CB8$?#U 2ORK9KHC(U'%"R2CTDU)*8$CJH*=(S M4&1OVG@FY)3M+ ..5S2P,:QYLIN R8.M'E]'G*IR[O*T7A&;$;W8-(J6FR0- MZA]P>5GP/[)+-THX8:$'ZV3O*/3((']5T5&I+F\LW PNG PN'%'>!]Y6A'0/ M^_CL7^(%!D )_#X==E]9BXT'2=99$WYM<2_27J07"_B,?!.$-"$G)NGB)>6C M]4397ZD/4L >GC/N&PM#9L\0.JM+>408Y/A VO!M43(%=8KA4!W*C0WA9Z:;'QXH*&#B.FP1XDDTD06UX= M,HQL$C$AE4UR2$T29":QJDQB$C)$SH >,NS7$YHDA"C81@%*:JA,#E)4=!D( M6C+6>#+Q,D%M2IWHBCG31RMFBUD0BM]'%4O3N>]<6)['%BTK2)@!^3*:T^%T MIXH[V'JRVE$!@"XD\89A7XKIWZT6_ E\0I)+,".2#/R0A$L!JV8NQ]D:4L,, ME3RG59T!1/;;91)PDXDT9\QDO673Z8YHB5G6P5RD8N166:OAEF)?Y.C4Q@(% M#%+IB!AI6HFO'0\I9,0!2?B, 1CJ=TI',H-<3A1Q]-\&,6U^!ZO0;6(Q7Z%W M;;@?]9E0I%=)WF>07'&U$@.9'-&B1*C[!-^W!BTPAAF)@2M$:,- >2 T=H6 MM=.%*<)%>QWZG$*,B!4=)A0#VD1>-/2&$157S*0MDJL@S%CG8%@3_%H$< :_ MOBVR>V2M>B._/J:G2Y=;8_Q@+3C$&R]XAF>7 53FHHZX7+H/Z5FV"0E9=>'F MER653F&!X@7^]LR#ZV$SLG]\C5P[RZ[*FELQL1BT)(=UO+\?A#O6A#D%/'H' M$@^'R/7A3A #(Q9W[->4;(/ 27;Q1/%Y\0\VMX?:)=2'XPN0B'T&-JK_"]P[ M\PX.5#60%!(4K5?>DC&,XE"\L^?; M3;G&6_A*OH!I(#C_O!Y3UE,,F^->(- M#?M&C9*Y^%Y:9"*>+%YG17QJ\Q*H],,Y.K36O'9&>-QI0A/!2M'[G/_E3,RF M'1A!>QGW4)3".M'Y/!D3>3;)Y0;.[9._.*IFJR@! MI+TM]&Z:X04/#1U&O%F&Z=+J4":IN;3J9B9!>6GURO4MW^[ATFH]H4E"B()M M%*"DALKD($5%EX&@)6.-\](JKZ.]W,,T(5J\T-!VH^KYNT(_W &CK'GE06]9 M)[SAH"YZ3X>ZP(,D3$C&!<'5SS&TIPE=OG?++1$(ABB"'(ZC5"Z<%QI/+)P+ M.M;&,&\YH< MRMMGM'+*6")T"#5IFL9,Q&2V=;YGU$WNI"49R];!VGJ!!"2/ M@>>P><)5$*X>K9">,QF="RGU6,-6@P8YY-'=T4YENVUM:2%&B*X:==QMFO&B M?A+'&>$,SSA'DNY)S<.0L:$([F>8,E1R+@W% +.<)'' M^0B8$PB&L<>MQ!, M'. #\[RGJW0,;K1SPQS3U.P7&Z8:7:!ST&ZP="U':R]QD#/A6_6SP/_@ M;M.3Y8EI512'+EQ/XV>:OE/\A=3RFE^ 8ZI=NM$^B"SOQS X[%D/]F\6JK'K M'ZB3I.<(*K$$=E&%\F$"C"_294@H 5A,QV0;":0 M7Q)P1G+9DR9P@?'HE\4>F5(DU8IPM7A/63&2:V9H:^M-?5*:?M(0/JGX.8)/ M*VZ4,./S'V@NJXDQJY-Q1:FSTW1RBU\H]U25]C M00\KD'^L-8Q9P?PH@&7I('+;+_S:3>G)?:-2S"=63"A4S]DD&?V'L^6E@?R7GG!\[6_@:>S8(2&R[CJO7$/:2VM M((]&BEWQ#B1M%="-!IF/ ';@1"16AN_3,G@(=G0-)_QWEEMU>_:T%6[7KM#J MJ*""W 2OJU8)VJ$X J-'.$$"%,U5/^A5+QY=>T9)KLOS2JV0G]V[0FM^E<5$ MG!4K.Z0']Q6FJ6R,.^KJ=92#K[PEWAALD+=[60Y.=Y;>/#.U[S^0FGED0B1: M.U&V.LDIDF4NV3&>AS"[2Y87'L!1LH2Y/U,C?\SF.]F9^G5,=XTON%KTQQWE MK2U1N'6BVADO%K1707M[4G"27GC"NBJ_:L*Y&9X_7EA[E\UM%R][MEIV8Q; ML.+D1>K.#_%M$/]*XYJ)98ONN*.BK1V*>WMJ??'&1&L-](<2SHC(G$C*BCP< M8DC5RV9]LD47Z>U^EHBLR M\LV=)X9:5$XYM=Q@:V: M)0#LGP7R+($#*MSA$C9356RB)M(5,LS!?'D#$F:I 7,9Q3NRO9 R^WM0D7EM MW/Q\"$V=BD283"1+A[[<$"Y6DKJ+2((1D(PDHF5_#[)\KV0^=$[HIJJTF*T\ MC!>;F C?N]O'>+GY%(DT:LN'V')]N'J=WEM@YF]7^;8;19RC5H_6DF?0',N0(VD_&$FF5TX@OC%5E;7I-UJ"NT2*W0C^ N'LH!+ M!?\,4U,?H@XY$BNFW189JL:M5.=2S89W7ECL#"X@X&G=:.JYYTEV^R@DFFTQRE@1X"HPU M,8TK6>!?;"C+K.OSY?'6](LLK_6"UNU_/U]?*6S&\OR>K3QX_S M^U_A;ZOK'V^OKZXOYK=K,K^X6'ZZ75_?_DCNEC?7%]>+U0\F//S%X2/ M'.)BI.^LW*WO;EP;"D2=&&U-7^)SKSK/3D>2N*.D#WO)<=2%'MY(ZT4K[5@$ MYF(HSMGSL402@.02D%0$\AL(0;@4QQ^,&II96*.RLJW7%"S=M%=!>82U^7MQ^6I"K^^5' MWJ^@KNWA=>[Q^K22UKC,7B<-XF9!GPR P,'+5L$+C&]>G_"9D.T/)W2;I MSR=Z*_ATUF=R?GTJ^0"^#4S$K5HC#MXP5#6MK5ITQ^WP;>W08KXR@?51:PWT M]X2%V_/SZ)25*$V;,C._ZAG/&BKS-S.[,![:#AZ;87P&N9ICU' MYLF6^$8>7WTS+ MZDMZ-PV%+4G@=GX=>U0]UF_JCS<0M+3HY=E^PHUP=D3B9WYT'-4HF#""7S)I M&OQ.&N&.\W*=Y$@NML ;JQ5RZCK>S6*^,G0$=@-E;\65IDL:V:'+BV+5;9W5 M]\#N@8W:%MVQLCEFWVP66MM1.>U9^II?HF]RWZQ4_3EVDVSABY3 M\^G^MLSJ_-KPGID0K7B=OW%YT-AI"J[=I/.I9U?UP.[8C7)W]>NC%RP()O9# M*\YG5$86]W#[#\J7,0LL>+FPVR"F31GWFCKACE>.-546[M9?EZ M>?$?/RUO+A?W*[+XST_7ZU^-K I6]B-U#AY=;KC"YZ\7GA5%=:N"^A[(W;=9 MVX+O5C='[+@*0G>Z\#PCG"(<-XH[XP87!%R21-.F94!56]PN6ZMA(?5.64.\ M;EHOKG92G2//-#RE+Q]$\BW-QLW_%OUQNW%K2S3/(4HZXW7W]BIHEPL2E6N- MS_O'TUB>2WV93*:,#$;2$R">QSQV11+(7.F&U4$["K@C7L,:A>%,O3O>J-=1 M0CON/][=+']=+,CYXG9Q=;TF=S?S6S-'#=(4M+2FMU2-/#I_S=LD:5KG4'1; M<0G2F3[N(.K=DA7+FV[$\09@_RIJ#U*))'QR"GS..*/B@UM9'*C**S=,1")< M)I-KKD9+5AFR:8'6"V'D\=R;[0J!W)DJX@CN3S?MT%4(UX9H-;P./9J'+'9[ M+WBE])SZ=./&=\PNC0=-+4G@#D,=>]1,3FO[XPTM+2VT=V;DP.%)(Q)V).%' M.$/SZ]91K5(^:3=:/4=YL5K? S< *&A;6F%G2HM/%:&U*^_<7BP_+LAZ_E^& M;K.)LJGN$\VTA&*J]Q2^O>NY5M/=MC;]<;MR:TO(CJW<&:^;MU=!&ZQ33B0O M/"7J%!>YF5RX6]V3UT_Q^8?@$[%AER'UE MG[]>!+M=X+>X;*=.![>#:UNF_.1*D0C>D-!717MJEO AC)'8LYX1SFL&F]B" MG;CB-R-9R76R?@[.Q.VJCS1^#(R>0)5:JG%5T]0)=]RHZ5PW/!1[X(T(1;E' M=W]2='_#ZY9C*S4M6NK:3\OS:Y @5F4B7"_ MLMSP9\L[2 ^BFA8'#5UP![B*OG)DU[7'&])*4NMZ\M7\^I[\/+_YM" ?%_/5 MI_O%1\A99V0QD"EZ_BHGZ_LQ# Y[%LAU2P/%KA-Q9P7]2]VZIM\$W%M%>FTW M9TP(Y\(W9(LI*U-6)E<9N15*;'#E^NQWKN6M8BOF+P,N+)Y>*FI:B_1 =BHQ MT\UNY?&D1W,*L=91LS[BL#P(9R23@V2"D%02XRNJ3+AKGXW O*)II+ZJ4N^- M/.K:6:$07&I=$<=02P6T0R4+ XD1JI76:)8HGZ,:>O.VLW#@.]!0$&.Z]L?%[?& MBJ'>!%%4T+HV"7158]R^7J]C(:%H:4N\WML@KW8>34:6%.@:3?1\K&33ZJFV MP\1%Y_;MB.#V<3V;M)Y[3&!-HJE'AV?W M*3O^ZKX8*IB6*&,;IFY:9J9D(B^)=6>%\>LZM/R(33YA'Z6QL'-C-]S0H*IW ML31B?1^\X:\LN7XRQ/OY>O'C]06YF]^O;Q?WJY^N[\C\Q_L%7XJ+*H#SRY_G MM^O%:LU=_WYQP[I<\@Z_$M;_=C6_@(-1T]GCJHQU_EKXB]+[F7:T<(=,)PN5 MOZ-I00AO<'531[_X**=(.$DB<3.Y@*HP0-,R2J$;[M!0U5MA-)G PDI9\@%\ MV_ JJRK"U9=8[2A,TNU5%U1&R\W< MMH,#7WS>!9YKOXK_;P(3Y "_^1N;(EG;;4BW')9@1^%$QTA6,JJ'A[YHXD2+7BT& MX-$+0;-8X@0VOV?%A1_"&SK'D;128:.PE0WW9"]@91.$)'ZDQ"D("FU#(6HD MT,E.I17P9*?R?CT$&)5!-!IS'IFI%,.C(HA',^,PCMQ\_6-[HV[I;Y-[SRK8 MW@--Q-C>E\4R;.]*$#FV]Z;>D-B>XC9Y2(0@<4!VD,^"_8]$,=WMH ='KP3Q M";5"GSJ8<-^XJ950/I_"IV+@@'WCUCNQ2_]P?Q%$<;0.E@_@U\OPZN!M7,]+ M&2M@>UL"B(%)L%]MA%3$RL!V7' =UT@7 MJ0&6F0&N,@-D0($"-Q$:9K!YLK3/LG+9#QO7MOSX_STX2:4Z]=EQ>TJ(H;2; M=8YGPBW)( ?7CDH-A;+/CY3]*(!:K>Q. N%X'_0?*N#A1T0 M#!W^$I;/[N:K"_*7]W_Y.LD3RAJ%\EPPFU\7IL?\&B[_>Q S<8BPOIE)\]C? MIW3G5N),--F'$C& @=4&E'=Y'6!=6@Y=.X[2QC&D\L2$1LI MJ/L$UWZ%8!4GIJI]<>*FE@7D.P%*'?%>!6@GOJZ[IX1)3MEXI!NW@,F +R]% MO=PGE6*O>4Y1]XGR&K&UX:]'"3<8=+!."#J6 T-069\@K:9@MEZH:(E\E-8H]Y.(H N;$3;F3 M/:^-'FPV-&2N>_ =V#CB@?[ G7F?!+JT1,IWI6;DX1 3-R)^$!//W;DQW^2: MD1TO91-XP?:5[TI94738\0 4&V%L>;6C%I-4+*FBD0\?!OL"G##)*//*\R8G M%FF->2[7\IDM>*-'=P]2+5;+N]J9A&)7G#BBHW^AV(]"/[R3@U;2:Y< 2I@0 MX?,9&^[SY!UP^@K= P03EKEC6CRR/Y@'@Z,"26K/#II[(8< -:WK2GVAVH2M M#7Q%P?LK^X4OPHV9P&C&Z(]\-L6G9VT>%[;ICSO,6UNB--ES4V>\H=]>A>[I MFXG$"QT0F#9(ET/4SKAP2Y^E1Y9AX+,?;?E$60T>-,C@1@E=N\A@T98&7LS0 MUD0W4AA#Z7DR*;)$AR"CFP<.(V!/-;?0*K9\QPH=HV!2\8"'IR!J0A#5OKAA MHY4%9*Q0ZH@7(-J)W__S-I'FRC@0C&.&-,<8&*#:)&S9 2 !MUD>&$2Z_"%- M_G=3!5Q/GF;/HXC&<]^Y<:T'UW.3E&C-R6EU*.$&CP[6.2JTV98,7F#IHDSG M]T"%]U.S_/H_%T#Z=R;(C)]AR)I4Q=&GW%K^*&#G4( M S"+W%)XB 5Y6;CY+^F&AG#BE.+:.]V9T5&4\+IU$L]9,2<<"E :VT:%:=.1O:(> M8*7J&H:4$5:^R?\'=<0=$S@@9_\],@=D(#]W/0^VD*_]Q8M-HPA(I'VS9O$Y MW;H^;#4O-PO+?LQ*V;()H!LXM;,IE +B1#F4ILH %)]TV*_6H+25+K0Q<@?/ M"B%-CG2O)WV_D+TDP%\ M3&/-5"9#%X]"H]".M##BTJ]:*7]4J(>D@J+A$0"+#AEU&YU@%5N-03X ME0H=U"'[U2$^A%07SWIF@1O?AK!GV>2K#_IX\6\0+8>?KLV(D DU1J*U[=SW M#Y97;CM>,9$M-^&(]=J!O!T;EUOS='Q"!*K+C4B0Q@6[9>!Q"$.%#:D6W::O/6ASHRD8J%!.21FE3 P8>%2?@>-\T_-&9%/ M/*.<^ I@EL3@&/"12Z)\O:RZ-6X$:]!2AJ2*IG@QIDE@7>_F=&>H+H8-I:H< MR")T$6XA+3?S+(%D=!6$66Z7>;3<).7=5H^4QI=6S!JSE1ME'R'F)>9<_T"= M=7!.?Z*><_ZZ#BT_VM P"%Z_!22(4O M'+&OP_Q@)_8*[Y-J25 G;Y\6C1$364,S5V9!FHG")_+=:QNM1PCW.=+!. M<3;W.ZBC/XL&GC.CD-F)B?6$,OM.\M%N-0V8;/J=?61%0L##JJI>I9C MF:,[+:_&,/>X&$DZI?35FGB(EM]%;ARE^N6%&]8&M7#Y1+A'1GBA<5AU!RJV M,DN7Z>)=L'2=?@;'G(=L2GD,G>.6'>ADR!O7I]^Y&QY MD7X(CKBQ8 1KET\)>F>'%R/&4+J7S8TR[ !&6K4EB+)Y"QL?R%9?4W"^M(V MX2**W9T5B\5:9NA[=_L81^1'AN2P@21.0^']+L//#\7O03Y%L+KCR3H\R_[] MC'$)X-CT(PUC]HU$ ;NSNY!OF9&/@4.]M['44\;Y_OE-!>4'LO2@R[XI(?Q0 M*IM>_B&"<70FEH=0,3P""O/GIS7#9G8^GHN*:_^MW+"BXID8#>=V[#XI7_3K M@_!48+:K[9KFS.VH3@$X.^LV&$(*]@P/$_[X$-&<[>23;\=Q@9?E%8X\(:&)$U*%2M?WBMVT!)-)F) M%3Q/MRFT27XC;@)E&B5[ 1,9::;S)==!S,>GHIGYJ;@8EA8O-+1=^( 3F(NS M894I8L?4X6/])]^-(V[M7B?F[;E,>_S0M&J;$:$EB^EBO*ZB@TWFAVE3#T-O"?&'N>&[K$F.3=%_>K3U]\E=K4-72WL8=!J\S*/W/5(8W9 M"RQIX(8J_&JL>7T7D:8-RV-\KYYG]=KR3!?P1[%*'Z-#U3P^:IC(EV(>F]<+ M#<2N;Z(#;'? KZS>.G,M/RCI-\$U4Q^88602#EB*Z#4Q*[-W^!Z M![!=NW&D+;6I# %:5JHXA&Q#:@K JZ=0'W&7Q'/^^-#. MG,%.C7-JPB(\\2(L^UCZLSB&-8Y;FSS%N]?^V,T%;3KV[85KU%[XC(%C.Q=UWZRA^5"D5PJDHI%P#^()%@Y MYN(#6+36/KO,S V,VIL:U=0Q*<4%]ER\L,_C6UY:K3F:QVP"_,"'L^ J"*F[ M]2]@W C9ASA__9$&V]#:/[)A+Z26.A8/P7$JH#R8MT1R"6&EG\A(,B%A(R$7DX"<^*![$E\@2N ZLWR)9<5F32#*E=ZD M%^J2(D=9SR_)+T'X.UFY,;K7KFRXBE]_<1V:%[=>^D4C1SU1L6PS.?PH#Q(A6Z*5NO%1>S3^& MJ&A&0-(D,W.2\85!4"YM^1B22(QO[)C8QSDQOJC043*6(!@8I$0Y(.I'9DEF M76?IW\/Z*F3+%-A;:GSRHD$&-T#KVJ50D*,E#;Q J:V)=N&-[,QEEB)8RI3P M_$8)6[[SB>8)X.AF.LH(5C"3%NE27O<=C*&&":>V5"M9N G7:;FG>7ZUWO MW<4^4_+N"LF'\6Z#,S->A"0YFKJE<>ULK*HM;D^NU?"D^-!Q0[P^6R^NKJ.F MY\22=YJ=48VD9F^Q%X6Q%'?L7WG,L7_\;15;,;^5GL_C+*]DFM34%F?,*6D( M,5?;$%_,J8G;?4IO>7U/=9KR.31IF[EC5$*D[-HK;CSL: MG)O\Q" W_SM]@!B9??:5ES_XXE"?4N<(:&@'81&33.S(>($]H'7S8'5 MG/KWZ&'6NF?B4I%S)4]+M:=AS#":)TH-B,]YPVFM4"PBSX\TI/SNH!WL]I;_ M2MR(.#1TGZ!+*&3\>H@ +,.2(0UTF^F>3O 3RJ,>U8^C8?+=TJ^,8G/LCH;P M"VM+/ZCNM!2[X,2K-OK6;HA)[?$.\DI2][<1-B,Y?2,W:@;5=^5N?7?#IM)^ M3.SDYC:Q"T9XM\_X?65H%C2H"7):\C5X$WBU=G=LQ%MNTO)[R\V/0>"D-??J M+@2I]<2-7BVTET%,H1M>+&LCO*Y_"QX\ET/"!7X&/E #,^%D\ BKP0:UYUBJ M?2?M^=4G6DH=)^O]/>T7*?J_P8VD5"ZX)\M&0R8PK=U6JFN/W-.;-"UX=U5C MQ![=*+*V%^>42G=J.'67J8J&XW$>WP6N'U_[;8*RO--D(K-&YXKP M+.DQB1BMD[N/0+5BPAG TS-D\3J$ZISBF>N?Q7J!6['/G"S0LKVJLNVLDC8X MXZU6HVQ7^;@!\OWD2G&U@^B1DF3;0=I+''E[DX4,K#O.X16?*N?>3P) M'CQW:R79U_>%?94*C4<9S\\M#\1;/5(:I^D*:C93:IKCQ!15/>71NZHMWG&[ M46+M/=#TY@SXZ97K,RZNY;&1.^)%5K(,%Y" CXM@<+.DS BU.R2U':;GSM5[ M(=6MI^72/>UZ:#BUP1V0NY#N+==)RK1%<]]9QH\TO#BPJ:H?IT^):U9?K0C@ M=OOVMI##0+TWWK#0T$%[]B)8I04"(YY E',C";OT4;GAI1M&FYA "B['+8LB M96BH[X$;"Q2TE8._ICG>:%<16GL;D7MM3AQ),(^B\IEM/%@O CBTMV,H3)CF MA>/2W-(X@9+J$W^%GKB#MX7V1[=RFKKA#>8VPG>XH\-YD&>H=YER29+DS(BU MB5D 0*7?9SZOW01LW JIX\9LTAM%LW00,W>797@+)9&_#T(^V7?])!6OZY-] M,KI3>70/.&BD@&&A!(P<+S4L6^@\7=@XM8$J)?*;PH]<%%/W <>P MDCR#*,,1 1F^U*H4-C# ZA"^(Y0E9P4+O/MP?$/2.&IJF&O2"-D6%Z>)AH8Q M_<"1E[FRB]%M(I8OJ3B?3Y^4-TUZZMKCCN)&3>40KFR,-WZ; M1=9UUI1R>EG=^)1D.%7+9B&&1MDC)=5,,;4H5(B]R41<[W%F9-CK6RDQTCFI M:AWN951#;L M6-RX8^S8CQ9;%UA18;D/?S\!#;YW^)#H!*THUPHXG;9]$/<,(K@5"]0>4CW3 MRC&"_;B7_*;P^7(9LV?CU]*7.1ZEQ%< \EVHH '+Q-C_(1N>/TG>SY7:9KFTSFUKE.%@H:3.85^4P2$/D]6 M&C#!]*G;*#9@%"-B2Y:( Q(\0/:D;.J>[E$WGSV9QTM\QY&&4;*U!2>,B.UP M<(KH-S#FF3EE&T[;Y(Q-TMEQV5(J)A'D4(;D;SLWBB"P;#TLYWE3OI.,I[++: 0VL6.DXOR"O$'"/BLN-X73RH.*%8!9OXV0KIC6O#$FON._="@"093#3?AI0_GBI]6*!+ M V?@=[)(=A#0E@#R77UM=;1CHC)?:I2(0CPA"]\/2 ,F2L09=]-\=.ND#,F- M9(.$9YK!*2(95U//.R9AG+%2]W^T_B<(TWM:444)B=)&.'&R7JTS-(QP5-^F\T'TXRK*_;; M:,.6UNQOJ]@*XTLV6ZQ)B=0[$YSH-ZQ-Y=VR?CG@&]\'UK/C#9X9R00B?Y@6:X9X9(1$,U@/B@E^W;Y-F\C5K5#<.*1-6; B%NF1O:M1[9% MF-EB7YK\$"T0U &MN"-951>G1_)O $Y:V+'703^A/7%0:J,AAH'>P)5H=/;\ M&/ 2;99/'BUOD][8;P)"-#E$2NTF[.3"%?.[D#ZYP2$J?5[4*V'?[9K> MW[>CBA?Q>M2M[[?\Y8!',D'@VEPJBDF00V#"]&5'!8R12+;9/K69N<<8<]N& MR79T3VWJ/ED/7GUMBIKFN/&H24\99:K:XL6.1HFUMR<3PB2G;#KEX9BZFHC( M3SZ\[8+W9ZD44?V[J-H.N*.R65]E90NKX)Q>!*P__&,.J9&6/OV56E7#[7#< M)H<+?5JY 53Z8#4I1.I5X7[AC(E&4MG2G>%\HR4.R ,EF3Q)MK%;^A*3#]^2 MCVPY\&CF_C-Z(UOI9"?'T^-G8-^:>@:&WGC2&%0TFIEL4FP9:;NBBHWO,&.$ ML?M'W7%=?0_<(X."ML6,4Y7-\2*TBM#ZF:ARVC/"_N51OI<#5WUE1OR9[#X, MG(-=NO"51-[,1\_>#&U+GRO7=F-ZX3[ Y%3/E7, \_@+U%^IN M'P'4&(9:6_HIHIN#=^-NJC+(=22)&PCZL%=QTT>?'EXHZ44K_0T5P9P([F>< M/!D<+,82IT_LRF0TBO6RL:X M<:5>1QDQREOBQ8(&>77=-24[RL-3A=7#0&I*R@4;LDV8F(C"%3QR7S,&-Y1) M=DOC:_^)1C&(=NWSWV7IMJ^"4"3;KHG3#N1P1W)7.\FQKDL++QITUDC[E2$P M/@.E"&?#,U20G#L(+\+ M WBM\GK'E(W9JFW!9E)[L-'Y*]BNYFF 6D_)&DC?"Z(7 3 M^-MD_; NK!X,WIBOU!NTKBVEK-9SHIY^JKV2I^?=)NCI)<(/X.D&RRI?!+O] M@8V0F<:UMX2J6^/VZ08MBS<12YOB]=TF@?7O# JZ)"-L^H+0>)H:6?TE23H8 M_*0_7M(GZ@5<(I[WL38VV_3'':VM+5%8T*EVQAO1[57HG!@&#DJR?TC,B,@W M:CCPQS>("0"X.H2^&Q^XFE?N"_Q4'_&U'7"'>+.N79XGI%830^I4ASII&/4,)2N(XE#,6- 5G]_D;S7/C+ MC;MZC6*Z$Y='JT?VYBXXP[*-OMF(W] >^>BO*KWV$X6K:Q)QLLD]8'+P'2C> M)X7'UVD!5_&0RX^]5RA_ Z\Z(*D_;\9W_8*0[ +'W;AVDH@""@+D?^;51Q^M M)TK\ J%4K;0\2R;IZF EB+Y^[C3D*'M>^V?98@'MA8LDDOIX]>M'<.=ZE3L M!>OD=3AKJ'G)%!/1?L2\*OK-AD,5%)">Z;RSTL5"W@/O"D]1[J[+ MG1GA#(JKGAGA3 SE'3OL#KRTD/P4-WN0?/3>M])*%5;MD3SN0.G;CD=YT'JA MC3?X>M>P0^ZQ5!"B_D3_*+CK+SMT,^;WPI@^W8*,=;LW:&QZPZ8)/T"BD\RR M#K9'_VRB&NSHBLVOJ7BH*&:B-8]DZGO@QBH%;67XJ6F.%U%4A-:^=9A2A1>H M@A%)&!2TR[9YRYLAW]9M$+K_>W2\+CN?DM.$Y3^-N[$ZD,87 MF5XI82-/1JK3&)V_BK*IGA65E5;6HX S:CM8H_#*1+T[WF%21PGM9QFUV;_( MPROA# GG:'#Y4F.3W")0:KAV0=.>RF2CIG- G M.0,B.)@.81.JFPCB=6@Y=&>%O\.JE?\#9@#U(=S4!W< *VDLAV]M![S!JR:V M]DN5C#K?EN#_Y)-'XY$[@MX^3)(SM3DO(S>ZK+@Q"R9W66K?X[_AC+E2 M#2"\"G_ %TGEXG6YA>%&L6M;'OE(K>@0BCL9/6_(JWA2*:B?_A6Y-YW"]=&? M$'M47WGRJGRJ[WWJ!J_ZZ/KN[K"K]*OCO^/UK%)-4M\J_!&G=Y6+J.M?"353 M0_M@"HT6%]9+?5P<_1UQ7)1IDL6%_$>D<5$JHK8;"6I&XV((A?J[FU9X@L + M:BTWQV>Z1UJUZ8*[Q2MB*RMT)^"]4BVS X[/F/R2T UR=?WOF_ M^A_]R[7_$_O/ZDLB[MG->,$8^F+!X^<9:_7AUS]__/#=Y9%\6/+FM*?>)8K]&XE_3&_X1WV2<\ MN7XQ_NMG8^J_@_+)Q]6@3=_)JGO]K- -)T*WU5OQFA7R-]#*D@]UD:KL&?2P M 3V:ZB751+= F-A6&+["]6N+ET^?D3B(+2,%#6ML(#TF52ALKD5HLD#08!M% M:*B@,DFP:-)E*/B07V_/JY\4=S.-^@ML Q8JJUDL&<4J/%O'"#2WM"J51&.G MR0*(I+,B6+ >DP0&6>ZA0(#Q&&0& <&B&>U]J%T2V3Z-^YL]*.S/+#=I/?9C M!?,K>$WK)44:.&.YDT5*]W!4"$QH/Z>5.MHWR!Y9"&RW(1^ TW>*Q'ZTPBT, M<5O+]2%UMQ7"HT:>3,[RN,M3OL=B)^^(XTRB,Z!;MA_TS@_\_>-KQ,_-DM]! M#KJ#:$[V8>"(7'=?P3^M)#D>,X7-MVA";A36=V?Y/@U!%)! [$=%7'0;AF7V M^P?JTXT;$W T$AWLQX3?UPS7&&$FB&U%CZFV,]C]800\<8S'?K0\#\_4I^AA&?#% " @M.! A\N[\$WME*%( 5,DH/O$/$GH4Q1"9C>AS!HFMP+X'"1\=))LD-F; M]K#W-^UJZM^)S57XPU'J#'V3UM*<_+C5;+&6XU@UP32I6P0 M9%OFLJ&2[$;W%*[ULD%ON;ER(Q8.<'% XY1"G3+.<6D ZZD>YRF2G>0V?FOE M!MGKG_%<7O;Q8=^,9+) & MI"(B#[6+!:&8$-"'O0DY;#',A32^38;M.5&*4 M6_H2KY^I]T0_$854VTX>O8XIO!;DJ]1H7M"#0R=*G$P"IWBW& M\.'/^&$(OM#Z.>C%A#FMMP0Z1Q;2QYJ$T%N!F&-U#" +8S\!9.G+4"S2_S(1 M0(&I6'^V2ZB].5"1K=015H#4FP*6@D(FH 4$F JX]&(L%O?_/ UXN6)&[\UX M";&W!BZRC;IA"U!Z2]!2T,< L@#_B0!++Z9B ?_7_LXDA1)>B1*IS65=YAMF ME0K(Z($<3M#HRT[9268'6LC/-OO0K,-9U4%4)2HYL; MU[=\VTU/,/G!Y#8(G&?7\V;$L^S?H55VS!D='J*8US5Z=N/'Y($P\=P-/3JO MA!K&P=9W_X S5M".L3^$O O?8(97NNQ7GA<\\V/'0QC"6:7TUZ\9UB7UD%V? M$7!%65O+]P^L17I*R@\PT[^GO[1"^6TPG)FF]".Y9E.N^SZ(1 XJ!XY]W[%/ M[/%+XOM]&%CVXU?CGFJ:])VN HQ_W<:DM=@H\GWRNIR&E/MYG^7I3\YN162O M@W.:Z$2=,I,H]T0\S+337BI/K](-^>#14@GM_'NG#V)*;[K,&,JZ]B.!,0&@ MW4HE(,$35+0G,'#D62-B=S=Z>?E1[%7QIBBQG!CV,MN,?P-D)"N(ZQ^;0WP( M:7&"D5P_,K'4YZ7EUHS!#;7@Q"6^]I]H%$.47?O\=QSXYS#?@.G+51!>A-1Q MXYL@BB /I9@?5*QO^J..$W 'LJ*\.] 3:;S;!7TKJ)V[$.0X T$(Y\I?>))< M&+C(E_Q!S,LSB?@"0\ON2L@$C;F10G7@@1T3.X!+F M6;K,>/?=\3V18?%_@A:;R08SDLV>K1 M-ZV4$\K8Q).WSA6#JLSIV=^7L?_[Y[:U'VRV#17"01/^^ .4B6- MJV=61QWP!JF:V-UF0;$T"^+_(3D+!#.:OI46*H89P6%2@[6;@_2M8_)LCCQ9 MWH'";H/7H+0!F/KD;P]6:/DQI\I05>C%:I!K++K5."L M68'^@$WF15)FXK@8 <8-9XF"WF&JM[DG1\UK+^U%V\0BOT[W=GM"4XGW6ME' MV,EYH)L@I-5;.0@F H.82&&?H;_SN NQF+J#'6]X8UG4+Y_CE"9@;],99ZSK MV2 [F%/NB?QLKKT>NLZ=<")[P0HFNWZCO\LSX7$/X8P:ILX,XU])&,\4-S2* M?B E!CFQ0I+58Y_L7J4Y/?CMA8"G[T\WKQ%,H>:^<\FS"ER)*SK^EELN.K+? MG?7*Z\7! :?X+7447S\.Q HG=(]AW]*)78]\)C 5'$+;'B:/$.%"+I())B:. MT8PDPB2W%U)Q#+^O1&E1=*_"^[#2^CF +STD2DHLWCXZ'MNS;U1,Z;]M-#S1 MTB@*FGH+BLJ2IMZ<]V($0.K!84YF\AD W8E->X>ZC,,;![M3/I5?!]F@-<-0R.>S./M ]Z)1?O&NXS!VX:[4S6-HIVQ-[.X;&GJB7XO5F#_ M-SC623P^ ZP[MFCO6).-8=Z*F6:QC/T\7ZWJSI6;: !18-Z"!/PMD&PK0 MWC:.&88OL[=73-JM\-;RY(Q[G[#L[XI+V26=Y,;MSW#A=N[\ST'\L>S8NU5O MG%BC:87LEHMZ5^377#04Z>=*MY41SIZD^_7W7@!1DAH$FPQ1Q.6O<6_ C&BS MRIN J3$Y0Y)S'+FF[]CV$/=@*CWIW0>=$]HJD#SL'D3&<7 V<:>G],Y?54/, MT%>G6XYR9:VP UJMS-IQR*GFR82R]\ 6+^3W8'G\E]$C90$+R85&1J0AE5YN MDAE<%]-/<\GG>(>84#MQ$=>"G*/!< M0$FGB)R,)9OA?'GG_^I_]"_7_D_L/ZLO@?G.BF=<"/IB[?8>FP!]>??AUS]_ M_/#=Y9>0 DY,""(I&QPS%5?*ISS+'.O-5FK)-:Y9DLO+94TI)(-['7D&:>!K M"Y8SDC%-9Y*I&ZP3-TA9DXSW^'AO,!J$-X.GR_Z?YSKD#@YEWEH[MXF]R*() M?Z'N]A$2Y3VQWVZ3JCKI'\&P'RHV233(X!Q_NMI%WD]L2P/OWJ&V)MIY)HY! M*.5)$J8DXYH\Z >^1LXT1K=-9@HK,45^%3G'IN25Q_&03=XQ9(+ASLQ-Y5I; M7;J1#?L\]PP:[RC[3)79=S3(3!AM:NRBC#8E-":*-G6:#(.*DQH$PTGW0?P0SQ7.O!]=A\R4P6CJ*)+H)(#4B2AE.""EFW:C" M5E,)]X*LO04T4$40K3TK)X)-/]MJQ:;4ZI$MD6$2,?>=GZW0A5/-JDA2ZH S MHM1US7:5:ELCWT!2D[U[J8$(^)SQ.:CP3RB<+E<:2"NOP\ A6O 2 MDNDY_L MPA#^]TB\3,ZS4C\ELI=03Y/\%P>AUYE<@X#7"0@>/'>;%T-(SL]AB\H5J?+$ MAE:ZZ\N?1A_-I,?=#QKVXZWR3P:J'EFX'%]&V.0936FA9[7JFL>&G>2NLY!>@B2TZW@FQ3ZT\M8EP?5 M:M@=R&$/P6YV*D:L'BW, =Y1H]Z/76[RZ8LX7+BS7-/Y&(Q9"5W.!55+U!>_ M;D_E;6!,3<'KEB2FCRA]U6[6 A)3*0W&-HZIK 6M]*PI::U#YPU!1549Z]9$ MW@A<]%*-60\PC"4%&-] IM[]M]&TIE"U!IFW QE5Q:G;TG@;@-%+C4LMO##V MK'YT\YAZ.=]*4?>ICQE&0N8-H85D%VVT8#3>"%K(FHR+%J8>IH]N'E-OSU45 M[6BG-X,.75!A^F@P,@J@#OW.MK@2K[=OZIYLCW4&-)+*A6?K\#)D=]@-]F:] M0I^Y;8<'7A*>,F.6WE]1[HD3TS2TSVZTJ'5#?K6EI1+=[[AX/("^C."1![" M4NFN;[M[YOCI\X[2MU.BE+H;P9MV?KMR:[E^!"DOI)@IQ@H\*Y$? M6<$;JOUQ'33X9?+RA EX%'O'%S53RN/>9AGI>QT-.O*8D[ B*2\3K^)'LH)X M$9^2,W65I4+9B@&JNC5.!%;4LOJ&;M84[YRQ2>#>[NIFI(W,C892\Z1>9>VL MJ/SYCGROGKS[MK] CL)8"F+VKSR V3_^MGJT0GI/]\S8CQ:D[@BVH;6;O[C' MEV@:&^,,7S4=(7KK6^(+7D5Y]>]0,M(DITT2XN0W(/_?9OWS,H#;(LH&R9I/ MS4>+>M9[J6@[)3\]DKA_3Q4,='RUZOE$'-B_G^C!VGW[D4(^D;*YH$(?G&[9 M2N/\'45#!^3K367Q=;WU/DU8P59\(KD%/%5@DX$XO?\6\'4>L"1<&DALD;KV M7L@S\@N%H6TBU"R)8&Z$WP27XS >=@MQ',6ECWRJ_0BP]2<-V/K3I&'K3VUA MZT_3AJUC\4> K3]AAZV^;%('6W_""%M]*2Y]Y%Y@2V]E4*KE_! _!B$\!Q1; MNL=9;=KUQ(EP&MIG2P>U;DA7$2V%[WM!,2,Y+_8SYS9J=(]JA(KPEHU0;H-Q M$NV7FN&.AF[@7/M7 3-Y54(KQ:XX8U]'_T(B?(5^^*)?2_K^PU\P@J,ZSLI, MG8U13% 9_$Y;5,/]M"I<[2]%$&J6.\N=&T*5T^8R+Q!A4%U MZ.#&!FW+R$#1F@A>U-!71?LZ0YR@H*QIMA52UQCY-HB2Z-HWWN#VC14]YN>\(;7LOQ_@9I"(GP:O?9K[8KSEP'44':ASR6TOYBDWGNZ-20[7^T6QQEH4<+X%/ M5'W1HKHI3K]2T2_;2ZAHAWP;H4EJ78^[KKTZ<9&][(%4I<$A2N;7V5899#$5 MOW)]2/\.18WV(![K;L4$MAG]@'B!OZ4AL6SX^[C[#D/9+:&;7#G@E U>KQA' MR^OL$W,>_4%31ACHPNG-M^\_?*B&I_KFB"%*0<\,IFK:(H0@%8DN@+Q!=!I27:Y:&3SUATYWZ;EV)OVW->!4VQHQ-C5KF4%3=5/DR*0@ M^.<-3 ,:*"5=@*5O3<+2@,IRS1:[O1>\4IK.$64#F-A)2.7AXBSWX*JE,*;2 M'B>0*6LJ;S54-C8+9D\T? CJ=U^;)==^)7V(HYAA$D"8(&RDLM8]C>+0M>-D M9?/)=^/H?O6IUFN;^N#V7"6-9>^M[8!WWTQ-;/W[ "GU!'LY??*.<8B^,C/B M(%!\"'T54&I8C6\#_^R)<6 :ERMOY.H''#^?,_D7@E0+S]VZ M4*DL,Q@O>>\^'#*#975JX8*L.)_/-# &P@_-MGPXMF6V+H1+OH7;#/5UH@=E M. $@'M36)U \"#?D8#RLS@;A.-\;X1?KCV[WF*V C=CRIZ@L7G84S7D,S%>6 M&[(!,/R=QN1GN#?>9RU?S?%KN=G0_&YHV6Y=?Z1Q0ND0]I,J"?="%_GV?M]: M:F]UBP>)_,;BEC&/B0.EZ\6-")_0OQ_<^/6,XP6Q@#_D90U !GC$[?KDRSO_ M5_^C?[GV?V+_67U)Q-G"C)<)IB\6BW86U5_>??CUSQ\_?'?Y)>2U$*DP(G[< MP/X9A+ .WEAVG%8Y?J56R"C R8*H9#?CIP[QH\N:4I_)^#IZF6$KN[ODZ<&Q4>!]@NYJH&*\N3W )M)RLW)?>.G' M;,CE#*-K?V'9C\UCBQX9Q.-(![MD8X8&#>3C0Q>-M/J=Y]22K-YSF( M!&. ?,I8BS$ D;\(4G+"HA.TPE>!GDV6=CU:.[A[M&5?M:VM1P MPFE/5E)^A%Y-"O$N%AGRF?G1=+A.@[+[<2#N_IJPE7J^7F?=+DAMG+E+C'&UZ"U727QY/\X;A@!N>!K!F]6W&3N3QPM@02FI/%NI@B[P# M@;Z:D50FD@A5LMX$O;J3QN6G$JQ+* M?X>41[=!_"N-[ZD=;'U(6]KT.0;@-Q&8',K2I:#9-[,)0.A@*O=QG2 [9OH 8[+.7M 8SDY@N7P5A\BMH5Y5] M>70A/E/HK?TFH^!QJ02?(4C7VP$!7 17N/MY4S'GC@/WE"8HH@2SR M@ZA(NOK.,_S=C7[A':%!*U SM_,Q<#(#<]'$$)486$A'N'@9@I;AYABOEO 9 M.;=FQ6C4;-2"UR*X:E^TY"6U0\J:E"24&9 -YN%H.+MVOXY?S0/[@#2@QEW* MI3&@.-C\# 2J"\+M>@C7?$5T/$CE U$@DL/ 2H=8L4A^8L'K>X8(R:@5L';0 MF+40K=FODN&-6/M]2&U7G,6$<+5I*M?K!_PB0PDVH0>X UJW8L( M$G*""(@ M&]N@P5E^$1'66C&X=S*\+;E[K\&]E[E[K^;WYK*LZ23FX/,%WKCT\=D0]'$. M?X-9LI=L/4D>6T$<.@GUK:1 '^7]((I=Q*$1C6(Z&R5+H*3%.:0-8FRCJ@;!-9&-_9!+ET+N$* J)GH+WQD$6 >S=+I96;#20I2W M.;>\H>[@"&NM8BN,WX"]SNG6]?V!33;.#*$Y/4V3=M, $H*^AR@D#\K\B!HRACIW@O33DS M8ESVH\K1^T8OB& Z5ZT@[F/\)/Y_YN^N4]R!XA:\J$7MR=8P["80U /:N9R %G2(TQ3%>$D/)TA=>2*2LB@_R6P-!6YW9Y EJP\QWFE2G%7< #+\LI M,D9,"G,S$\VCZ+ 31ER\["GHMJ;AKG?456'X1G%7V=:](&\CMS>(O>HZ&T3? M'&*))":_I\4%)2#IM-!W>+MGQO'<#27OV(@%Z&[\ M.D1AX%:<)P"_XUB_EVTZ=;;( 7DDY3$CYMZ BQ1L%[6Y?9;@[ M2HTBO$% [V@(#(>%IW>;3@KZ\"8$5!CX()'Q>PC&O/XT_*?*C&DEQMP4CARS M*J(BTPC9BIM1Q!'5Y""?B;E7>Y!O@B':X]QW+ND3]8(]6!/&-#^B'VG-.Q"U MGK@!NH7V,J@J=,,+A&V$UUZR)CSXA4")"TG8D-\$H_\V,JN[40SI$YYHHGA4&^UM:>".>RV+%*95;0C@Q0(]-;2G-((; MFX\(?N*Z<(%C"A"1680P:Y=9B6%,X,;T%T8(8_?X5?SE_I1PAT8'ZZB722XE M@S=HNB@S9-ECPL]SA]J4;W*GAB:J9A>2X>I^S=>/&C;5+KA@_ M?A2/?]@Z.[MZ'L"OQDI)U((]3APV]1WZ/&E4Y8UW>C.Z!3"<+28/$6''*KL) MP48L^/5HN9 &3Z@PVI=)$RG46'6*^+YXH:'M1C"S&13(R_B\;<2NM&R?T'S" MY.UB<+6J&,!6DF[2>-J_E5/@E"A/$2BE$>7HWDJB6'->FU&XOVU0;?D5!DKC M6-E@U+>90A2AF9LRC^(8 M9".UZ0>MNB/:RUC;MQ 3'W('^2:M1MY>)9CP #R,'88#'H67'!\N#%)W?UGW9T269 /R;^3I] M)F77$ /YL&#(&!B&B/H%0Z8#D9288*)A@Q]+[:A#V="3&$9:+]*JS#]L\8Z> M!'S;@T[_W[+_ B%]2/=VAZ@!;(1AY.JP#_;&AC5$'UAO?^QMC7[5B]*QASD] M2=[V>-;AZ_0Y<&F(\79'J"[&P# 4U6\+O;'1QL3'4MM_0SB,]',7[YIIX_J1 M:P^9_[2.WP2&A"$M/= =ZR(SY/ ^J,H80+RP9,CD-%W4$*792_>TYMMM2+>0 MP[7>>), W^8E5:;N*.#<19ZW#=Z=O]2XUZ\JA'F[X-_=)!@&!_7-)E48G,88 M8N[K*>TDX1MS^EE8%6TYPO;0*<,)C!J#VGJ@S9XC;LAQ?UB=,0![84XW5K+%SE4CZ4](M NOK0; M ;Q'*!\SRK?(3975B0D2;*?I([M)P??B[P2 M#YE]:MAL)J-_'4;O3! D]ZM/T5M(56+>ADLF+O8L)-K6*]:O&_WCG;#_7,?) M\N\PSC!9Y/TYCI(5%L _2!Y7VYS6JETGPN4)ZY=<8!]5/V'^.P%YM!/S8GLG^UN&]_X_$$3XC^[9 /MNV.GI5 MP9W1 D)RQF+<]AC.8\:V?G,YHFG_BDXCB_BB^F41[^3[7 MZ83FES1Q0/2/B46/)L(_NS@^8C(YT UY(P_=)Y9/JS[/X:VX88QO>&LOW^4R7Q)Q7^O??:; M8$?7U@N-*CY24Q_$?7>\6!V+Y$+*Q\)(73;'?US\J"(-?%.G?I8S M+=(8.!?N;1(,_)T)UO_5C(#$'S("L_R-,&7\C,@<3"9<$NJ=;Y*_FSFA5$ M,#$N9Q8D8!Y-;K2D"MX[/^2J$.AXE&_E+Y(\*]Q[N639+W+*'6V2H,"B.!#D M?<.=#=E0&2J6C D"E@M;IB4WE+?:D#"#6/1 MIS&"(J: EX /7F2GD!0.BYX-#GT:$1Y M>Q=3]\M0.E+$.5(.:*T.:7P77R_=2:O"$?E8L=2U*\$QE((D0F-+ZZ8U6 MKC0A6D)2=^J'2&)-D:4=:PQJ\WF[@>?X[S']J M!I9N/7&&2 /MB]E5AVYXLZ@^PIMZ?H5SSTC&AV2,K&1$B TP">0/-O[HNR&O MN1?+[]2VHN)[67/W]SB,8)BML:8Y-=RAX40K%<.%(2F\(>14A4Q1=;2!3'.& M8IYF6WZ *)%H1G(1K 0<6^;2:S5@'1>8P;I)&/G.'^D5YS,2)V>3"4S% JY* MJ[I)+-0T#::QH3:M)".GC%L9O72+@UHL#T.H0*F*+[G9[CQ_SQA92&-N8(/4 M0NI@(]C-1<13[9^9$P>J'G:CUKF9^UE"'K98QGH2\;BZH0$=V&D7$YX@Z:$UB[&%A'9(*QW.YSR/N>&B0K)!W;L&0$>Y)OF8N+@-47,= !]AJ$6QL[P MGE4\U]'6%J>/=M(P*T?6-41>?&P5VWS/^N6-!E#ST+K,P6+.&V$_% M_J\A>:,!]^,PR=9V:2*F,CKU%1>P Q<<>@?B35N2',T\6>JI**N\4XX_FO@A M0 =1L>$\S[2:GGFJK7>3C)/T9+1Q!L11+#A@HJP)G]OP;ZK>T,EO*@>!/S8I M2 )3ZE06.!"ABQ@SHN6Q4JI :,DPMR0K6?)F\6PCS.GRS>,J.38CUL]LK.FQCOBL[' > *W7M0JAQZWQ0[1!YM,=-R>. Z26E9WF[AAGP]S88Z#M M&Q,Q"R&YN/DNC22H=Q7+*>I6VFLN7-AU>R<3 5704W]?^4/BDQ(,#!5BD.@>K# MK0ZD3.;UBP+'37#"KTF?; G@X'?DE?\Z:8$_ O6X!_>5; /Y1V1.!?V@'^4!IF&+E$ /SAE1H>^-?M MP+\^)^!?MP#_^JR ?RCMB,"_M@/\H33,,'*- /C#*V5CVMZSTG''!;N-V+:N M+'X".9QQ9R@[%2L IK3PE@9.ULCXLEC#.AE(0)0()Q?+0N9\6OMOTHEB.7'? M:] E'W*\)5_\IM0KFK#T TX,',L.WIQ_B\\O*V0S/H[Y7^8O-X<[ M!\8N/PVIAE OYC[+=.3TBSWZN?S50XU:Z@?<+I_+7G3YJP>\+E^0S3@C^>7V MX;#\,)6K#R'^A@LZK8N_O-:HHW[ [>*Y[$47?WG%Z^(%V4Q]Y&5^^SI_F'3R M,*3TE+^?OENWGXM_6=3HHW[ [>*Y[$47_[+ Z^(%V4R=Y,M\,8Z'=XCB(XE_ M0BGLB871X^IEPU[]P'/KZV$U[7#Z=ZMF666LJA'R\EBCR.,<@]%W4.H['M^! MZ[3ELE$T!J+D<44D6:+H6CW6,IZ*R9]-T;6R@U3"- X">%.GZIJPAF8X8TN; M7J4]H@=M\(VKK9*:^MY1;Z5;E>>%*CA M(H6F]KB1UJII$7*UC?%BKUUDXY,_0(XH>A8O#>*'<4WY3C\_?F"49=;6MX&'^;PS99C)"JS-YQW;HED)VI'$F2.ACD4I M="%P!KCHI<8X\+"8IV4:J_0T5 'AI\9DK;G'F3A_O;:5KG[<_ PL+\X8UA?]8'UQCK ^%'IX6%]@A/50:C_SM> KB5D1D6*E M)K%!BN +*PB^HN%F+ESXY^9_,7^C7BE!N>:AX_F0N-08KD]_W.CN;8G2.?*N MG?$BO[\*QGL")0N5E:K_%)C-2"&!S1G:.F<^K4%8SL/*U8]OE'L0EC[[P3/U M"E?'7;-EE'^J,5:/[KC#0%\[E.YH[-@7;Q#HK8&IRP.YTBW,&>>/,LW]"+PM MP7XR$WS]]/R)_,N7(@GUN&[AEL0/=M+Y!SG_T">$J B?F,.X2E0>6)3O::C= M]-"I*V[L]]&_O.6FO1]>S/>2WCCWYX(*![;WY1QFA*XBN%TA?4I)S7"O N;R MB-SY(=S-GDE@*1I,8IPK7TA1(@Z3 B$9PEO7"2/R@98"8R@C$G$A>";A8O\# M^?!W*]'B,=JP0%>*-"1[E-75Z1SYY5FRSMC_R( M>DUX'UGMI&BW339R$!J1%>C^IJLB2CQK(W\IO#7%P\.&N#%;K]O1&%YJA1>; M#;)..CY;VEX[N/(-XZ^=:R!2[J\\VMS"9>TL>]A;OPC'W]A_./.R;Y]H5#?B MFE/##>L3K52^ \*(%-X <:I"YH<_LKSU73(F"6>2,IF1C#E1W,F']"<" ASF ML=-$%%O6.@H[/+5%(,D/%GG"("I$'?DICSCRPV_J%@(H0#P[3,"#0Q7;M)K: MX8P2K9H!_FL;X4-VNZCF-QUK8D-OGVISNX3M5Q'NF,-7G+F5VZ/:VB)VOS8- M,Q>L:XC4#5O%/=T5!W^-[U:X;*N78=7#N?6'CFM;XO2T#MIE!X^KFR$_>MPB MM/G@N]UR]4BSOI=*FA@>/F%R$L3"@^/(_$"$:4\BCV2 0[+#82U]QNYQZ?%U M&]R:&B-&7*N.&>AJ6R+'7;O<4T O>_32S\68%G[CV2%[[K% >C@4OK!@^[A: M!+X;.]$K#0(JHGV5@G4-$:.O4;<,>96MD*.N66;S>?E.2JL QVLOW=AIIN0] MX0H_<]\E*Q_J?]!(-HTX]8C+X#1ZL)\6B..8!JC"?14)79(2GOXN6ZOZ35+8 M/ ZE-169RH8XXU&[;L5*XW$K?'.\#K(...)9J?A-H]J,O!BNY]4-Z?+7<.-[ M[H+N8119J #]N+JGO_NP%4!&CS:$G4(')P!/MDR>+Q@0P9Y.G**2\9"3,B4[ MS37/) *R33C#F%21W$^<4M@U3\*5:+9P,5C*&/YO.UC:LU!B#]@:2=XWW-FH MV\1:/"Z+OS2<@>]% &3FV:V^\R9.!#N:3.T50G_/U19!\! 903[%W*KZH:>/1]\J&Y^/A]8?8CUN= MA\<.M)[3YIE#'TAO67*G&ACA]LEVW=*6QNA4^G^P@ MJ_$.S(PLT73MO%XTIH;N&Q41;".9;V4BY5 X;>L<)M:3C ODO;C:@X5I[7: MN="0_M2UQ8FY3AH6AX+*AOB0UTU<\Y4?3_+QX47=-T8*U-404?RL]X='&RI( MN9.]=*8@'IP(D0,:S;\IYGB-%R#TIX(; (96*1V;[$<"+VA,%;$))XN7 I4D M*4C;_$A]6R?<<.FF<^EJ@<8>>,'04>[A?=]*/C>1UOGQX[P\.%\'3/&P@6&X MFUP:99M*D^_MT$6\&C-UZ(8;QUWU+B*YK0]>+'>6_*0K[M52=>;6.8]94B"W M NC154\7Z!W/C]V/\)U+PG@9.@'?J5T:L&H"CVF*$#Y10;U]Q)V0A/XJ>J=' MYR1/6%_,9H[SE$GRI&?5RD!38YS8[:9CMAQ8VQ+YFE^[W,:5A2T\*07.&FB* M<%#.7PO^I_19]>@KK-.$$1Q?67.'[&@0"0FP#=_I\T"9:-,N\XUHD;S6DN$R MH3W]6MUX:J:%7/B#[M,_OITI@Y#>Y41P4"M]5_B.TR7W^-'FQJY]< :K7AJ7 MYPL-'?"F&-W$/N&HG:*NPU!*?T8R#K;N&!M5ZS)L7;9B 5PZ<(S??_XM%^Y. M_N_GOZ3?)+1^_C]02P,$% @ TX)G61E I<[.4 /;\% !4 !P9&9S M+3(P,C0P.3,P7W!R92YX;6SM?5MSXSBRYON)V/^@K7W8F8?J]MWEB9DY(13#[BF9]GNZF^?HG#Y^&:V!&_9,'Q@AL'H_[/"EM_ V&\/M/0+?MQVG=^O;U@KT>J2GF\O>Y\]_QVW<&@&LX[D]W-C93Z?I+P9)]#$M]PB[MK3+"CJV^_M?T'^>X?=Z4$0W^,M;8/_MTTL8;O[R M\\\_?OSXZW9=](&SG_>?HM8 OWKG/[T%UJ>DB^C7#!])BZ/? MVI3R>[+$Y7/M)SHXO;FY^1G_]M/?_ZO7^ZOO.6 &ECW\H[^$[QOPMT^!O=XX MJ"G\LQ M:O]I-LIT!;;UD^FM?T:_^YFM&2P5D[Y^KBG6/(3D1!T9>*X%7,AA^)? P_]$<'0*U4)1\RJJ86 $+_>.]T,P M!W:MMB?TG1V8CA=$/H#KM U[,?5! /N#YULX!\^C]=KPWR$V]LJ%R[!IP*G9 M-+T(SLWN:@KE,&W H@=1'Y*AFAEX!6X$[GUO#<$+?<,,@U_A)F@0!:&WAF3E MDI^A-3GX[V9D-!UY+J(E)[+%3<@0YP' !OFZGU:1T=U*,RN]N@PQAK"X]P[ M+7#!T@ZGD ]\&!0W($.4$3P3K<'">.-D4::>C(Z/01CW >TCIL"?O\#M%9<( MA!9D")-.BG"%^ J\E6]L7FR3\V3!T9@,$>\-V__%<"+P".X U#+:'V#JS=PN3<)U';D3- ^W*JM;!,>5D(73K,O]J:_\@%6-EJ^ M^]8KW+* )U<9\!!NSM4]'WAPRD,KO&07WPJ$/1%*$J;1H96U1R=[@P MGAU.<9G;5&>G6$%*>D/R=HT51,E65&7K54$06C/*[&8JR$5M1\6=304969M4 M9I=3049J.TI._W<@-&PFDVF51M44V0Z,%=RJK##M)LND0C.:*/F6D@I*?YJL M@,UPA/@1)55R!Y; ]X&5%&QJV! ^HJ1*!EX YS9O\@P[Z4[\^\A9VHZ3EFV( M,TR?5%)=?%+6E)'N*GO;0 \[B)/\7\B>X.] MQ\($IK:NCA)&;FBX*QMN?_I! $0B3FQ9'>'[KAL93G_M^:']1[+\CRSX&WMI MHQUA<\JI_&5UE#<)7X _]MQ!Y"/ONV@-T9M71PWX7/@* FQK'+ES QXD%K#] M^$ O3A^,WU%',8]&&/EPE0/!9(D[.37>\6'KR;7@\;DI/57[K#Q;417)E>G\ MWG!=3N!R9R"K*O[5\&V#@A6J2\?>M#SQ$ZZ]'_;P <[AMH-)6%T!/(VKX7&N M(BNE%56,H&/#1^I_K41FM@95$149QN* FB"(UAOL ;KW_&&PV8@2GN43JJBC M[SA)'"\R"YG>RK7_ -84^+9GX8.N**6P?T@5U>!Q.XGAZYN0S!7'/W?;JB@ M;DW1;@R9@H+0MTT3:H7"-\'U,&[ M<''>_K**V#6^HHQ2^O#T>F<[$8)L#LQD%RY,&R7-J^B"PV?8*@K@:UA%T1,3 M* 3/1$&Z*W#[_FC\V_-K>;7$?51AE06W[[M?]WU@-*@I\K=45-"#!X] B1E:4RQ,LM(P M8&A.VZ#):F8)D1]N2G6HP0"VB%L+@/G3RGO]&9@6ON"*_H+UBG4Z<@/; C[L M'KJGVX<[:P@P(5(XUQQ6#JT%7@&Q#*F41;#L5[^)O^^B" U@/1C/P/G$I)K# MMAS?SS2%KM3>H"NUIU=81]DOU.[I M(&--_=_<_4[[,7&DX+?=[[3-SGS=YM MK@?XC>1+J*W:=W[WY !O(7 M8&U_:H?H SW'+ MO6KA_DA&A(QG9KJ#K3Z>SS"J+6#'HQK^93>JX3^^#[Q7N']Y#G"80=J2@W3[ MMT\'O_NYP6ZDND+.E8->'/[Z^]7YEZNKRYNK+V?G\,_KJ\OS7=_VB=#WL_TT M?#-M&OXUQXVL[I,2/V_PY>#/YHOM;&%?^MXZIYWD2QYCAST?SH9_^W3ZJ1<% ML!_>)@[H^-2#$L1!0@^Q^,0>XNXY>Z.@86C^&<$5"OC.^PQL//^0*Y226@'& MTO<$NS-]L(MMP4/7NH/S)P6Y3#FM<"OO>8+:N3ZHX=V@'1^X2X;<85&ML&/J M? +?A?KPQ4O]O>V <;1^!GX!;(=%M("+J=,)3)>ZP#2#QS0DKAN.C771U%A4 M3".X&#J>0':E"V3(N._#>0)K&*>P&* ;>?[[P+/("%)K9?5R=7UU=:8JH/QR M)/A>ZX+OPGA+@QECKW;)-$HHKQ&F/!(D:'[1!7B@F_M3W7NTX01\5 MP8/B^L'((D"*I08VF(QL4R\(#>?_V1OJ?J>HL'XXEG<_15$#:PR:6Y#?EX#; M_J^U0*JTPRDV&MA<4,I59_KBN>1#^V$1+3!BZG2*DP;&E21VZ_WT['F!O"\% M.!T6T0(GIDZG.&E@74D_TYU^6Q+:81< M>;]3I[@VEI'YVG"8+0$E]Z/CM%\J*_>7ZZO*+JK"5=CM%2P.; M2+(!\]9KY>S-_Q3:I@$H7HF1=T&")O.RF5-$*36XP470TL*8F$ &68"YC*>YS"HX%A)3G3 MW-N!:3B_ <,G!UV2BFH!&E?G4_PT,+*D,8FQ8'%4Z3W\6=$)@5A6"P3Y>I]" MJ(%M)2L8XB8;@-N2&L)'[WL*GDACRE]_/KQT4_TF#M_[='L*IU[(.3U!%W*V M;<._#R;CN^%X/KQ#?YM/'D9W_07\QVW_H3\>#'OS;\/A8OZIA7LY2R-XQNU% MP>>586R2*W=.&*0_V5$Z^<'WK2"3Y;WM0HW8<-1Z<=PTX0(/6Y7J8[&*&/'= MWS0O7W&_J66S#+^!#+^2,CIY\$"#EE\H5>X(58$9/2>'+@/#/U!BKE?# >AZ M<#@P?/\=GI[PK6@"[$QU5:$!/ZQY2E076!!%PL-;H.W-:B^>'RZ O]ZEISQ< MJ6E%N\0"9OD$W3^3!WKRADXP R: ;']V4,Z>8N\72Y4ND8!;3D'7VN218>J# MC6%;25Y.. WB_!@9'1(XP5"S2]2H*JZ@FW,2IPL&+G06=69\Z]HNP\.L"BW. M '&R>Y2L,-S/> ^G/N+0)U?I$OK<<@JZS"=OL&?3%<_LU0L\8#T%<29[ ANH M=3)JNCZ!:KK1E@[\@@JZ_">/#U\]S_IA.X_[A+*5)D$W?^3!^CAXQ1P M)AN^F4Z$?*HE8+-4[1(1*LLKZ(JA/)*D+V5M$_IN%4"@!KE"EPC!*:6HVXH2 M=P.[(\[86>"6$SJ8:]+T%(D$G7!41Z6>V^.L/E] MR!54P;RJ\X=3,E4RC=4Q\DZ-=V3&9#/O9@NK@G9%],C6708QM??LI"]1)/EM M\[HC4*&T7N=844WB+GB!_(B#&,3R6?6<7E]=R37XB9@F."35W@-4_$+9.YT- M]$J=HT0%<;7W^QP\ETWG0W'ASO& 0TQ1?J$]_#>^[:%KU7A?PD6&?)Y^])/O MZ0/7^^];;\E]:SL.>K1HY [?3! $Z'4S+/7ND;,#,@AILS.<:4X;8E-&5F=5 M T=3YB-I9VC"*:(HCY(\TU*\N]I_*Z[,M$BKTCD>< NKO4N*L+DJMSB7UTV$%<2-Q#E.X?.85\FF_Y^ MJ/P+XW$>O('WM)PS-TC8$&)DT- RZKPJ:HWI"D5J/+41\5PZ+B+ M6#FT:S(%)54A1-, YZG$J@SMW2I[*2FH=Z@.BGU<9C!I0G]GBF79<9^GA@W/ M;@-C8X<&*9".4#JKFG-XNKOX("3A48C.J\O"QP_1OI?.'_F"'Y<\>/2IZ)N&G#?M&YG M3>7$&D19T7SP MS ?@6Q=?'!"U#PZF2Y,-[(IE>>5CXNS40H2OO;0WEU,Y^^ M/RYS&'6AO>-GSUH%E<9,E;)J'YP1<3D*B*<;C!82V:3A\Z8DN MJZ0GZOTI^\4_?SKF*VIT%^,XW@\$][WGWWG1<[B,G'R2AI+(19XVLH/F @X: M.=G'*N)C[5IX7EW"GP\$3.9=4F5=6=)#2FUM]5E98\7 MY7X4OGA^04@;6Z5NT8%).NW#GHMD'@5!Q$6!N$(7X:=(IGUD@?_LR><%XP:!4J-#/.#9&NB;]"8G M,'5?0"B=5^;D[6^#R3+CM$/N.@Z#\AEKOOOY O[Q.!POYKW)/?S5XW0V_ ;+ MC7X9]AXFQ[B7P9VW-FR7#%*^K"I(<2F]$"M&V<0 1KC%W8V&3P"Y&@^ **H MB(+Z9U3D#@1FN03-@#7,$03PY)-0D!M* MII%INS[ G2P8P;\2G][(%50%]$I+':=8.F=A2_(YE%U&.RR6U<.5M"?0.)'* M0\PDF');5'Z [Z&ZBE)]P+U\G"\899B$_[/(D;856E*-)DQH$TE26W)1@2O2 M(B0'7H#7SN2-D;)9@U1<-5I4GCVX!-1YF4"";I/_4-#>EE$-8BZDBH&FRZ9] M4-H,8@+UB1Z:NX-R.AY^1R31%W%)H-3I& 7X9=4^$&T.V6X$I] D MDYCG!K=@Z?E@+]W<\ UJ%^K!=@W_'6_744XI=##S\.Q;RJK&OIA%[!IB=JHW M,=O5E*CKI=+.QUM%) J_A?N )?%2/*%T)TG$)F7=P#P%4B2,0;@;-@3@,V4Z M!G>Y;$U=\&PWVV/)]?E^&/KV#5L!PD--3@W'/#D^L!PT+V KX;M M4E9HWF:RROP"E7G^$0@K1$T-F$DEGF=9-"]N]F5L]8/2LPFMB3+32O3AYO11 MDF*+4N.#$HM7(Z*LN-)(D^:F2Z]5WAJ!;9:<9ZAU5"-.Y<,*OY3=,ND7RL_# M"-68P \H(REH9!"YX5:(#'>V$X7$>ZF$TA^!$#11N[4?_A6>7%^@J/U7X!LK MD$TUMW=KDV5%J=165LJH C@'?A30F25L\FXYGQTU34%3>"F66"XCU)<3=:Y&,B-0:!!E M$%+^1>?Z0<[%#P%1&4"MTT4V\ O<@1CD\F&PT=] MJ%0H+MQ%'G!(*LA-(G6Q*']RA[YPL-;O(E7J"2_(Q"F3/0>Z*TQB1"W;15:P M"TJ\3*!G#A65\*MTOJ.+I?/E>%&/BJD$,1VM(IB91!-T MP W_:07=0/Y5R, M9K3ST\W56N/-))F@49V'6Z('"#-]!C:1;[X8 ;#N(A^*/\5=I+V86UJO.]RH M)&G=0Y]J%UMI6J!F;BZOF-7?J1HO"G(#SD<@CS7'X=Q,L83!\ [YI!\084NYVU"-@ W,;N^0=L)-1AYD +E$:4H],(CC! M.9-QD^U#3&(S$(2^;8;)_QJ8S/BD[\#;;M31)HA7 M)8UE57LF[44X\?S@G-SX--2U"6Z74 J KOB%M[">$/)CY&M%^H*7?5.+L6@ MH-4URAF#B4&,A:G.2AT"&HAWITJ]*4:CP331>2 M,5^ ECH\_RT\0E1;L7KV-\4S\)_(#NP0)$^.Q.O+#)C>RK79YLHFOZX:WT7, MJZWK2U!2,\E/"C>4&$)G4O'*V,!#H[)/N")"&S1F *-HHEX:C9W=0U=.^DI! MD0WG4">Z>J^9)$O1%A/)LD-[-];/Y#XT:P0O]X[W@^>!V8N*#\SVY]]Z]P^3 M7Y5]6';O1MM6+^67"0N*MIZ*%O5AZGNO-L3L]OT) CYRD^S-[JIOAO9KG+F- MGG>!OR%59@,6Y ZRUXJ05.=KBE#VI1U2(&3&X9T=F%[DX@=HICY8V]$ZV#V/1IP *S5V M9&CQQ"A.F8V\5F7H55]W=2/[5 MSN4MZS?=H7$FM(^L(9U-^K=4-JU)MR<59 M-%(0L![H#S@3RQ\Y1GZVC%E?=0-&2F:SUFW&4&*4XPG<@?A/J%&DCYU:\<0. M-P\/MO%L.UC!:#F@FX1KMJH*4WDMODV(K?,#>'E]P&T$WHW"(0[L5TJ.5):J M67U=0GU=29W0FH"?A62,FJEKKU7@E=:\[/!,LS%L*]TH)%,WU#%6/?4-^VJ- M'4E74U=US;T*T'"KW >DBQG*? Z/15!Z)/7^^;MDI\;9S,>DGA M=)HZ M([D-M:=69DJ1FSBRJY*&.G#MNG"$^5$U@N6K'HG%I9E&K*^R"96Z?-$%RT$4 MA-X:^*DB2#=K.%LYTJRJDN1?X2-X*_/"W=J.@]*GPVGZS01!,%DF]Q/_0)ZT M5^!&N:FJ1DM9;5U=7UV?=9A2HA4EZ$*@RB?&S,&:?SXCU/]8M!.C'E&7$)5A M&_N5CMIWESXFWVKJ1]0]2'E/VQ,4$,0T>;-)=2FW)C7]B8O/I4H>^5C;W-X[_EIPOU@ M-X H=.%OH/-T$:22KMWIR(V>$<397=EPU:<&TI36ZSRAZFFB:REPTGJJ<$(PUB7& 69-=,'N M?2@X[>&ZXL(?ER1D\3N03RG=[PEZO:1JJ'L[JLZFF2@3ML.4=SH;+)3#A ML63X!L>1NP(SR.Z)BU2"_A]9:U\-)Y["TY?/L%'$M;(_V"LYM($U<,XH%QYY(V E 64><5\FOV.JC '>PZ.BFNO E:!:.HP?#LI' M<2::W4EXK=OH/1^ M>*2[%"A/CWQG4I(@EXSDI[VBS<;!>C><5.\C=^GYZQATNB^&L796?U^TN=)0 M1SQ1EZYDI5:+,V+&#\"2+^WMEU(%91'HY;G (FP'O";9>X6IE8U @.+"W>8! MA\P=<)5L,Y>F40JNM36*X7RJ9QLFZC<.R%OX&0LGJP5E>%&6(0+]K(UM"#_!6'$%G=MUZA2L!^"/!D M>6^_ 2L.V%SXAAO$/41.YR3?8_([CS7\6OQ7LEJ^D7]I1!#;VE17(^N>Q'#( M@ZR0D^?0L%WD'TI-@%"??.DN:K3858(VI9J&T5JY.[F=]:UM$Y[G2:4 M<,6("A>@WK<4^4(\LHHZ7A#A&"T;7^7:@]2UYM%Z;?COD^7<7KGVTC;1I< X M$2E4^-1S;',O'*7TT?C3$_A_O<^]W6?A/V[[\Q%^&7XZ&\Z'XT5_,9J,>_WQ M76_^]/C8G_V&?C#_GC1ZP\&DZ?Q8C3^VIM.'D:#T5#9I^3SNBI[ M%)E8X?MUV[LC B5H3%A \&\=_04*'*[W^$RR[H MB+@_VS0XP219\]#Q(TW6&.QG:^291<[RL\AL^,MP_#3LW<\FC[W!9+R8]0>+ M>>_7T>);;_ T7TP>AS-EIXD"W>RKIF3.8*[=\N&*WJVRJ8*UNFK3 B>6F1-2 M'9'UF@UN#0<9+.8O (1H!^:Y^]X(ABG@O&@C\= ?#X:]^;?A< 'G@,?I9 SW M$\J.^GT=)!'T.WG*-@JLE>4YG?=[N->ULG'/TT1V()Q*#V/F0Y3DD*XD=0/# MOZVC!SZO\XS]B_S8?QCVY^H> V()2T;T8:%V1^X#NA4/LO:WTK%*KZ3:Z"Q& M87\45I!'KV476SS0[2SX.63*V-FQ&8;=97[8P7WUX!_?)@]W<'/]?WO#?SZ- M%K^I.@CSLJ-$;65Q4"656EY>"WNS0Z1T;66MK]K09<,NLZ#6$E6O49T^WI(\ M;YRY#LTPKJ_RXWKX.'V8_#8<]FZ'X^']:-&;PJVULLOKO@D7!X>&MH_W4CN9 M2H8Y5PLM!V-DNU:$==FPYVE"M9%? =M,#$9=T?6:"?9B&3DF@.O\!# :P_/S ML+?H_TO=7?566.9A3JTA*1"7??6F5_%M_-E1UO X-WT5OZJ0**!FLI.+? M+]L>JX<]*1NHQ/*JC5*:BO.#E$\LO4;HUCSO6E^!M_*-S8MM[L62HWN>\/V?S&<"#P" _T[ M<_6E?$B?GN2']'U_-.O]TG]X&O8>A_WYTVSXJ+*O::L!=@\3K]%<^P)L %%Z#[\Z$( BQ M>1$[[5'1=QQ<#O6XG\^!848IB$V;+V;]Q? KW/!/^[/%>#B;?QM->_VOLR'> M-,1!:OV[7_KCQ7"^P)/.;/@ J]SA"K_U8/WQO#] YP1E9R"2ZDJ#U^C5VM]I MD'K$/LEPM*#:#,,"1WY2J2NP9C,*+627,R;^!DX7)V>Y"8,>[=[[4_J5/ZLZ M&X@,?&]]!D@BM0^Z]![_ES'$O:2R:N.>KO[\B*\A95.#797 9C::\#6B.UT$ M2"OH[G%EVA NZ\%YVUC![>0*JW^R++WF0*>'D#:S^KO0ABW-"2_HKK!H\I3* MEOXT"0EF(4_=-K4F3R/"-_"*I@CR#+P )6^([]%/_/O(6=J.DPK(P!2N!K2F M17U)&[C9*W "F0'3@V<2U*>]P\G_1-8J=G6P3QN<+6G-"H$B"TI^+9H>4R0Y M% ?G(+)L* T#$THK:0UZ->E$Y7J6=F99^(8%^JXU"5^ GRAL[XWR6 >$HPI3 M75U)45](0>F1Y7&C^(V>^#4QJ)$1W"=!1;X"'"U+94J%EG3GC2B113T#*7@% MP=(^872.C5P&AL?OR7X(W&5(8F'\\F4.NY9JNK*@MHRBDH% M*F^!. S\9+-PEM32G@\5Q$NI(,V(*2Z.;"^2CL<[PEP_J[]+J+\3K>A13]"4 M*-(,EO7S2X,?>RKS/1?^U=P_4+/QA;<9W6DC1-Z4/<(MEI(R0RW0"8S9HWY^ M4]:JWDB?J.V_FT]IB$5P^&(RR"8*IKFJS @<2^2FBNL3: M>]X+E84RP<*3]C99,!-M*K34*1*)DE^V5[[^W)-T,]'F[7O?]U$RZNP5\])9 MB*^53E%)A.R*^N?GY@NP(@=L)]G$5_0'L&+;GA-9*%7P@0I09/6M[3CH>(C3 MFX,@0$VD=;?%PENPLEUTC)PLAX;YLKV&%;]029W)U.M@)UBMB5IEQR347\IW MJ;93<)"7GFWQ9JG;"3;6EUC1P(7=".NO$?7_2#:S>X+>V3XP0YS5'U]:"0*4 MH1U'4T-YWE3 RD-K?+6A1;R MT;8?RY^^W8 <->'^ PYEBTQY1=5F!G8(\@M,16FUMRCLYL1[V[5#\&"_HHU= M" \P-ARLR3,S+)N2"BUUB4"BQ-?>H$ 1?W_9Q:\"!FPVSCI-=HECPO4@V^P@ M;/KR:*/N/D)O3U8EG\A/=(F,C>M%^R/^;DF(@RJQ1M #7N@)U/(-&&OU+I*J MDLRRC_KU"9.^X KQ$=-XI\C6G$;T,@4D M>?XYC_X7^:-__ J%\@?]"L]1?/_2_H,4\/O,)F%"Z2PYKZ^O;DZE#M>\4O/# MDD>4#IV_X5H7K7'_T2O6V_"Y?C!99A[$@5/<9 GW60"B%P9Q J,(O?]Z"[X! MQ[J-$Y! X3U_#OQ7&TUG\3HZV?T@=7$S/%FH4 ]U9+/JZM/>WE#T9LTV@H-K MAU2A)1T9*4K,IHP'[;T1PKOCN(H?"E%^!]3JBR'?3\_E+:N[^VE3XQWU MK__#\*W,99;TH6O$"30EQS+M9FM.\[?P+ZHVR?!"3UL4VU%6A[:)6]7@E1X4 M7[_L.[@;27AL&GX3!]?$WFQF-@O^7I>YW(:JM-^N%0W]??W$UPOCD=TW0_N5 MV;Y5N^$N(E*M/85%@R#D1L/8/PO=("#QS??=@/; MQ$<\(?QMM$\?C_KMJ[-#_JQBE>7)M<, *U+H/,[YE8_';!$* MTM^55G_X%^GQ%_@S' ./W-CH5PL/_:BM";YRE[(@?[F^^J+-JY;-S>]BM:F7 MRZ_P13Y>>]B7O#V,\BR?\D8Q4>_S74FT#AST":6I-K%[VXD0F?GF*:[65)MB M:/!03_&UA>Z0M:GOAK:%!+=?P1R8R#5@@V#X%E\ B^]@K#=1F!@T>!^*%/^A MKK"P47TT9422\S0E[ZIUDU^U&-ZG5'[U$OY0Y??3$WD3S]XMKR'$TH?TW*9# MZ8=PV_:,)V/OWO.!O7('*&.,#SM_^[[C2-\'!OL,)/R+JDU%Y6#3)J1VU-.A MI7,(]1N^_VI;>X\73MRL,H('#X5JO,(3!P[@&+DCUX)G="LRG+PBX[^6IHQJ MLPO=XK@D?>FU'!>^)Y-=@PH.RRJ^[HE^6;3W[U%XD&B)T JLU<6=H MW^G#;25^[(@YLR%C,]FA<",]DKP,E/S$(41BO9Y^*TU5=P?@K.LPSP07)P7/ M13+FJDL^I>S$T$ZRNO:-39 \>-+'\S)I#Y(II-I0Y]!MP7:A7#1!8UI*%FRH M$)3KVX]=27 [=?N.K\B\V0$!:TH-U8!GP"X/.*]\1/0E XDZ?>>MX::8%81+\,DC7$UD07/W*_"?/7E9 M0@\'QRUPS9>UX?_.-X]GJJG&$%&3>;F0Q .Z;%S3GO--ZP?55,.U$D0L2#.( MK<@LCV\F)[O4,0BI,WMAV8QPIR?2[7*5P"C8>S/+JNHT'OCA'@'@OW;@PW_L MYK3=XF4X!7,VM:QJX'--U/R2$:.16X +K Z[63@54\NJ A>_Y@]0XQ)0D9EV M[+E/ 75^W2NA%%)>< M*?#1#XP5."6,8%H5[=E064B]',OEOJ7BAU\JN)S.JKF<<*6]+O2\92_IQ-$= M)2E-4EUWU.GI]=7-C1;NJ.+\,N6BZ>R.6MAK_$I$FO-FLOSJ>5::Z(;FEF*H MJ1H1&+#,$Z"JG(H2J>'$C3Q%?%>R3CJ.@&7A0A/( ZE&< M6%XSC"G(%*#,)70'CNU[ O?#J6>[XE%^ M\XRH/09A,O617?QE-94E 1W/0D]_)5D;613D1H(0];";&BL09E?Y0W"F1-P& MXD04)4T%JF0U=B[]>D0C!"D44E2:9R\T'"(MI-U3CR5("E8Q3%Y4#B)*OIW& M#AT-DXGQ[*;MJ>* !?0-2'%AU:8'#EWGIP@.$;7/U'0@:^EV@EB^RPPHD5+[ MUR@.Q&6#OLN M[41$.%*WCV?DG1^Y,;I,4?NX?+>=ZU;VW%0BLR1.WPS01!, MEKE"X2U8V:Z+0S/B;/]%WND6/ML)ADE55E./+4CSHZ.7@;S),\II-_'O(V<) M5966K;!YO:SN58<]Z85>+^X+5'0OZ4W/V+G/6B*_]0IT[4634JOK:+X1>D5,&="&^=OG 1)(\[6K21(*RN)\ M[6)ITU%?>P?XP2OKT=>N$OR5-@^,8FGM:S> M']I_8/SXF+%?L^L4*96U 5NV>EP9K>$)S<=J]0)BBEJ6NEWG"X.T#3S?JTSD M3M^R[%B)6E5I[YG169(R_)#*J8:M SH["#E$JK)'"YL^" [:M++@)CVEEA6%:2X ME%Z(%:-L8@ CQ,+,O67X \KX #OA!@"_J>X8Z&GSI&/]E0\P$0N-OI7:4!!! M1B@.@E2$"*ZJDZ!D+#\:__;\W>:J>*;-%U(%^\KS+*-(33[]4(+,V%B#R3+3 M3^(L2RRK"DX<*L_BQ"=9HW-LWWHUW!"@$SOP;=,8N29Y,B465@D1/N4>S)I\ M$JHZ/?(?H&8 :X>_@ M).6'=W"BHD3LB/V(*F2K-$VWJ!)!YE@I;CYAGMRKZZLO&M*#42R):>[;F7GJ M3"C*$H&.:<6Y@L:/CN30KSUGQK'UI'S[HIK_6+RKJA#MKUD5634+-11KQ$;7 M0Z8^>+6]*"B\B".NXCA<:/$J^KY/$R%7PWCU#6#FY\O5%/N(,J.6AYA*N:Z +N?(B'W@N#-DH0!%49Q+T3=.+X)(] M R:P7]$PH=Y8(!7/ZN4:ZN5<.0)0$,Q3@$O0#AA>&[R\T@$V\,IZO+RB$OR5 MM@&,8NE\>>7)?;8=!R5^2.>X@'YKA5Q!68?KIV8^8. MP(Z;=HRS:S%&5LP!;9+@W0*U\_X( A8)[^NC, 4P42Y)!59HSW MS?]$-NSUO>W:(7BP7Y&%/33'.4(5#O(0$5PW-/A>M'XD-N!];P \\ ", M8Q".W%<0A$@'(Q?_K.\XW@^T0[OW_ &4SZ81I6ISG:&24 4D9+ONC!-UZGL; MX(?O<-7B=V'W4>:J; ME:&F:@!7Q8H#]1+A%4$=+=\1W$-LNTUUH1%*:X-N"29Y='D$[H!3-;WTB&Y, M)G^] Z_ \;#L.,TSE1_,];O+F'HJZ( ?]C[R73N,L ;N[3?T-SIIR!6ZRQ). MF049N672 A^/7SS'&JTWOO>*=U=T7E!J=)<8O$(W8C 7<3$6-N7YJ#2R!RQ M$-)W&$QULAJXD1ZU5Q_VZF(+,EB+!YX1ZX\#+R>B8JW/K=_I"4(_PI>7T$T2 M;P51H\_RM"K=(T1EJ059B\4/]UWO[Y;V_#T(P9H2B\E21374N;$Z&/]5Q)4= MIE4*]N UD21)F\^..:UF=Z'GEEK[^YW"XG'ETZ"2.9A1+)WC<8GKX5>?[$6F M5U(6>CJ*''9ALI@ZNX?ZIAFMH]ACMA?!!__N@()0/J)VR-=XA#3?&7HUJI"Z M<])-3$07K%#_I*P^1(')">EI53K#&VXAFWKGM<<42F[S_7B M[QT#4E#41/OA;S4#4LY.KJ]N+G4(2+G@#$A))=-YQS%RX?@'NXFP/ L I89J MN#-@EP><5[X.HD^-4Z'648T!O& RTX$BKLZ$0)YUE#W+*?$VY\II CP%MB+S M,HN0\@-6"&9&'"6!-J?)VYQDLV)QR2Y!RBNFSO8DRFV>V_5M,I6Y&.!W0J#$U-3UG;,5U0A0%TLN=C K1)4XU21[(3X$P1X$ M+_:F9*$GU\@*>@H%/5,5>6:<"C8!G J0OQT0<*4>1UH":P',%]=SO-7[#-T" MI3.EI-;'8$L5)70@6G7A&Q98&_[O:'N%_X$T1^<+M<['8 N_"CH0PCJ%&[2R MH-5,F8_!A7*1Y0>IUL8>Y5+SUAL0@NV[3W0BD"M\#%9PRB\_G+68(B7O,_506"FTD?^WNCX[?]>8_Q*Q>C *494K.79&52)(LE9>,R@ MC&))?.Z)]'S@?HP6?G!CLCS1TY%9C M2M ^;I^B"5I8=UFUSC"FDJ#:9RFE2+T7BLR0PY:_H8_ '![1Z^YB%(C.IFB" M')]-K_016$(24U3RTKT8[=U6A_?E+H:=[F29+KN'$NZ<3V6[7I8VM.>$.*D% M72X7LQNN19%IC!OZQ4%<577*D-O,*O-<>I!(DQ3BU$(K"4Q;H51^S>&K_)%( M0A(W8<.71M8@&>EL^ZX;&4Y6*2,+_L9>VL@T)>!2T07'I:*X.[W]_O2\96^_ M1\>+1\6W8RX5VM[NXY=$\\;O0\/1,UG>P]X;#N4]&@$MJS99L8/(=Z*JHP[9 MZ3=:9N 83E.+'\!Y!8^>&[Y4,/$P-/IQ><>DB2[;#0MT@H;>XH)V9VEC645>P$5>_.!N$74 M0 ,O,HFP*,02.@42IJ\:[@N*'S4DL*9N[#_=G<%Z](EAW4)?[,'/_HY>3'\ M:$#:H^B7MG[NO]VRWA[__&7VG%_?@>'Y' M1+V2NU_!_]D="IAV(0=UL@/H$@Z@4QUFB.*'$;@%U?ZHGA7YR5U%AF^X(4!G MQ<"V4)P9FC&9F$&LW5V.\(FL_=&X?/-=^2#378XP2]M40ONZ.4_CG=(4>3=0 MJ&E6NCV34I&#B+ER%_ 7(+'V1U -#2)ZDJT-E31P?:OU@]"C$4:^'=H@F"RQ M.J;&.\[Y](0";NN?BZXYSD6[OJ (>?S)7MJ='N[/\:!43/UK:?-8WX4=\H$9 MWMLN[*GMKF)<#J;S%$;D+(E_"BS&Z.4F/J7I#'=-G>&:UD^W$G.(4-OBAX<< M?4TR-_U$%I$KZ5=B93.6JI<&3I*Z,Q5% C?.U>U'CFSETDP#L?Z:\Q7%B#9- MU^TWCFSE44P#9W#=R0K_TSA9TV\O>?BC,#*;"/-6,&UU/HE075.,4 M+17MQAMF"TF(83"YI-HYQB27Q^F'0(C1 M4K),+\LA=TGPXCF%217X M6^D&%P3)W2W?:%8=!R\^Q'D#TU\B)9V2;O=P-J,]HX0*KGVJ,JH6D!4"W?>> M015/@6]2[HAQ-O,Q6,0J>%.QO4T:MO:2ORRS2DCN45:P?)T1+%^?>[NOH?C( M[?>22,GDB]VTD$E>6%!F$J9!CPIFV?WE^OKT1"5+V6GY""9*(?M"%V%C.7_Q M_! VNNZ[UB^&CY-JDW KKZ 3?A6ET?ZJ5=FHU!),MLXW=0^JR74RB>Q_/UPE M'R!7;0>'_%=8*<^)*V7ZO:)UYV.L\8HI#:6WIXU$!) M&,[;3%:9-]=7-TH%3]1F#%%&[2]L;@;SN:]X3^?1HO?U#=%YE4Q]D)08IJD5_K.^T:Y_,!W M^2.S7*7YD0C+W MH_#%\]$+7/&+1H?1T1PUE06?CN/!8EQ#5MFSO)CC74[X*?!MSQJY]YYO E+T M/$M5[0E26]@.K T9R:V[R+?=52PY7FW):T59Q:ZR@U741I[ZDG@MIV^:P$'& M06 =[,,"=)7-F?JV"::&;4'-X ($YG"WTQDBB9%_FH2"G.:.]'D#BSD*@JAHYAR#'_A7U&6FM++V%!$@KNR'UFOS M!.ZZ3 "LX!ZJ$LF)+D=GA@J!(J7ULNHZ5?U*'ID=U205]0Q[.W?PANN-X[T# M< M3S=\G#Y,?AL.>[?#\?!^M.A-'_IC_(); M^A7UW7;HTB!P@YBTKC4#H>UC1NTD+?'A<;30_CV]N@X]!<8XIWZYO'L' UL= M[Q[/9 _']=A8%V6]*BJB&KP,Z!1,WV4"->G'JX!-H1>ON)!J^)2JFHP.1:!& M_73#MPV<(BR\CN-5C^RR(115%02*1@\.23R"R3;.$F 2G%&091<.BOS&93Y3#- .673_F91_X?A M6SAA.'F;DBFC&L25]BGE$A$':LOG!&06N44F^)3ZE&EG+<"XXI;>E%D;UQ:I[ 6Y0)[D3A4E!:7C7P6P,RSR$^ M']]6FT S <[]MALD^]\FUPV V?Z+2B%KG2*4:>I*]YVPI8;@*M.#9BY1+ M(FASJ7C"<(FXE4-0 %>5B;N%W-_&&SWW]_[OE=,_I5M9!,K%..;^5@'96JD;-/=X%23RO@80O'V,-O9X/8IQ,L4%ZO_=^C>R]C+_P-O;5L>BL7W<4M8ZSH[W6/OZUH2%2J MMXZS.5[3[CT_^1$J1[IMW6XGLJA>''E?0VV"DM\I,ACV+R8:&QMJ*E[>9I 3 M_BM &KF/PL@'Z?4C\O42OG8Z0TDQDJ=&\!/%0F'CC?M^6&^0",Q%DUIM:4\5 M\=*G=!%T%4BX*6<_KI\F27E(F*NW1J&P]S2KJ#I@^ M2KA<$*;0U&>F.UH)&6DOL^J5!Z[ M^#^_P$/]UG5 3&,G\!-9%"XA"C<:\[))I:34U#<93645;3WT>'GIOQJV@X([ MX=[[*ZQ+C=IJX'-'RE914$I?X2ESU*=O?/TJF$1A$!JN!<=YK$#1O"5]YTA8 M+LVD3!7IB]&+J7@4!Z-DH_35]P+B?0#Q7SJRE5,W*5]%NDLD\!6[_FDTPP6Z MQ0ZR2&F LS1GA;RC<4+_7[!_,:7_O6'[OQA.1,ZMW=#GLNA<03C/-29<6PI* MZ2O\1GE["1*1=+&*@B!:QSJ .]QAL-E42)EXQIPRTO/[PWGT^DQ MCV(VSY]V#Z,I,(5PZKQF6QMZD!!T>N!:XQ3-NT3ZPC+#' -%7*AW[S(*)9R[URU<5#;G@'V M-JK#MPU J8(6P%\+/ZJ5?E!9RM'9(_"P5DU%^D]356UM-'W]XCFP&?12=Q.) M+MB_W"U62]"5FOG(9-%[9@>_W_L C%PH$ C"MLA=]-TCM6MI2OMDP(W,"'?V MJVT!UVI[UM[_[I'8M3350"X%38A=Z/P[N"V+?WD'=;?5<2ONV=)>'$DO4&^" MTCP4I!5LSX?2=_#H@@U.EH<7 =$5P:"")^6CA'AP= M*EF#_[EV#A7Y\PRG?OD<*F*/Z%(L3",7SA=@-QLGHY+B7Z'44 U\!NSR@//* MIXCWA=!MJC.&6B^HK0'^3GRB/LGQ&5-KZ,8JE MLTEY2E6A$(I-(^=#VQ=D/ MTZ6\^4ZOHA<52@#;X5]9=/VC!$4=/>5SH=(RPBB6SD?/CB1I4(A@=*Z(CYU@ MTXR@N6@3OY$0&G[8@3 AJ9D:/C!E674C=F)5]>66?Z0 M3HSH=?T!-S&G7)QHU)*?+;U+"_BIILQL1S6"8GSC)7SH6EHNX'%6C;YK;2]I M>>A';;&8]?/=F75E*DQ02*\B[UK4566RKJ'S:Z,Z&=^#CT M;UYM#3Q,IQC_.SKA'P^?_ H3]/!QN>#O3.5 MA&'"^/7C>!"@+U$/!*I$_!KY@/H:4>E:CW>*'V$D1?OMH=2A9XCX+&;.1;GP0L-I949G^72W MB"U#6:+>T\RF2\E,W@?WT;K60X8/O)M<,ZR0PNF9,9;'O0 MVW4AR7" .W',;T"X?W_9^O18,[^! E,.IWZ+KCJ4BJ?SS70\2R[@!RB9"S)E MLAI(7FQ484TAXY,'M5PB11(;5@^BVHGH6DP/CS7Q*=7(4HZ[R#@V3KTH0KFB M?<%L_E263Y%<1S42M 9HGDO\>CKF+5"(.%66&D:Q/F3>@N%_(KC-'[EP4$1X MX$W"%^ O7@PW.;=MCPK-7++A_;ZRA*1S2^!Y6HC&/GK^@U(E9N_DM\[Z[.>/ MI!>AL 92*.OHX"U59>QFD4;][.>/U!>A,+%9'A9='P'WGK\$MLQ!D.O!<1P( MTEG=M!$?;"BHO_U7VI^FYO[_5%@N"4VOJK'KL/6G$P5V[;AF-*U,0;DM/LHQ M6KW!5.>ES8MS2(+CZM. 1@6ESI#Y,%9;QSWUAA1G_XY#JA6-"LK#T.@ZEY=0I*\M'-D=3!<]-Q%(E7IJBD'X7FAV8">>/G&Q?&&PC& MAA^_M\@=HPN%/XS1'8T'D\=A;]'_UQ!'YJ9MJQ]YN]4(5.1@.)$X32VA. 1RY!:?CE1<<2A(6;W?!7+W*LT7H# M%;4=$\EHX&-$26-=)4P5L1M(4""A%M-30'L9&B#H.]:(Q=^'9Z.^J;I M1\AP]^"Y*Y1YY,$VGFW'1L4.^-/(-[2E57O::" YO1*S%XN6^*8PEA:U)5Q3 ML@MR9+4VF=TEO8(_[ 7U]*CTON6VB7_(VT?%PD=I%__0PF<__W)L.9[WYM_YL"'^[]_F>M^RE'>C! M'O1P%]0WG1XJK<1N2B[>[HR080.AKYDRJHWR,KWO#_!R041=#$6)4*3,\ ?. MFSA>=++$JMG/-W=K!+9)P)NK#9WY4%]00?93F9[C0B76N=8U%%D0496N7M, E#BJ0.OAF(U$KGV,,IJB"#K&VPHG MRC.^$R7Z[F&'#HHVFLK"VXQY:Q %H;<&?M^UO@)O MY1N;%]LBH_MTW(:MFWRHQ.!IOI@\#F>]_OBN]W4X^3KK3[^-!KW1 M^'XR>^PO1I,Q+(4_I[XU:V8'OZ/0NB?7!#[LJHN/)'23%K7.]ZO60R02ETQR M1\)=S<$*WZ DA4N0RF<'P;7TY#VE>BZ(H."23?LTVZFX,[#QH(;@"LR(?;Y" MA\!G%*Z!Y*P2I_<9> 5N!."R9J*OK,#M^Z/Q;\]/Z_'[-&[R/@VVJ3_I2F_7 ME][S>P_WIK?MSD=<&JY;/VB8+\"*'(#&!,8D0/NA(03=ATS?8@$[C&XO/, = ME!5'EE)=)+4:U6N>N2X\OHA7@")&RH'GHA$;7[5$FKE]OP6N^;(V_-\I?I&R M:JIAW@" >9944HJR/$A[3O5HE%53C0>5(&)!FD%L19">&PX(DE$P!B'5^EQ8 M5GU,&< HF..99>V *Z)OFL@( N4U@?V*YC@J#TC%L^KY M7SI0M4X!)7ON^A MB4U R5.!E!JJ<4+6TD_5!Y$TDH%'G>9;\'%Q,&5$N$562%3SF=ZSYU MCB^II3RZ)=@4H%M!8%67_L /]Y@!_[5C!?S']ZQ=J&!>+RZD&N:-3N4<*B Z MI)M'$KG9)\M,/POG:VI957#E4'D6)S[)Q$S+A B/K966'-AQ4$0E[?,I\B"( M@T4NV0Z7$M1NRU&[[2AJ-+F:!=4\EEWYZP\)7"&5D4U7@B%C.$H7*:*;H52I=J] M?=_]NN\#HX*+_;R6BSU CO5='WJH$Q_1L?[EZ%@'RDU!98@UZU@OFW@Z8U.7 MCW0#L-6PJ2L.O#B;NGS@>3&I85-7"]7=DLMG52^MISS")?CD$:XFLJJ6==5B MJ>0S1-;D7ZX45;VJ#<1279[ L_N-6C,%"T0L2#.(K7=LM=H9#\*L2RZH&?J,3.[\F)'I9DULD^]TD>EF)956!EU_S M!ZAQ"=C S!P \Z>5]_HS#LKSWV/@DG_L<$M^\/UI?@#2[A=*(<*EU1TB)=(H M-I_R03<8$Z ;C+L$'4&:1@))!3GP^'!<_$K X (X C2R$]:2XA[0 EQ)LO%"_C5\QV+'/Q05*X+N/$))R@C MK=Q,4>K%/DCD3JN6)Z'*4B3V(9$I3HWB8G_ MFZ%3B:(5T*1WIGW#O'Q4&X"H MDF%> 7C%&^;EP90:\@P?ZF#53"'2(DT\@WSC1N7],2-3[@.9'M0 MTK@DCSNM++*-*$N1<*I&*JX2\4FCSR3.+K=6GFWK!]]" U M> 0&^C=.O!E+E_S$FK@SE*#93YXLY4Y)>7J2ST9\WQ_->K_T'YZ&O<=A?_XT M&SX.QXLY>F(K/IZG'^]Y;L_H;3O0PSU0_Z2^5>M.ZK*#.JW*][/6S^DUG]U2 M8#(H4VC!,;I<'IV?WMHJY/8=C[*!8P2TA[.(Y;.:07G73^4N^^6XY<'FDTZ1 M8-5MI^E3])/K/0? QVG/1NXF"N&OX=IE.S:&95]B:CAS4Y]3C4!\7*!PJ0T] M*4+%1\\%[X^&_SL([R/7*GX4AUY861JT 6.>11Q*DF^)$+D:;?_ZS08^A.OE M_0%NY(M,OGR55>-7W76*5U1%#I>%9XR\+&PK$4L;JN%> T(*'RIK0I$%9-MG M/(<&6 ^GU%6$4D-9R"NC1$&>4?PN+1)[(I]S<^3\8W.$)GX';.&BWN53@!&5 M-@B,8@D*:9=BN1@8P4O?M= ?P_]$]JOA9(;*SL!#BDECK:\L(>C8YDE13^(. MK!S]5\-VT"BZ]WQTE77WR. => YW_R(PAK5Z9PA32^ .K")C+P2QB\AP]QX- M&(-PY_4A>L7*JV;5=GU]?7JB)T\J"]O("\ 2-0\CN:@F14J-K':^0.U<*4<#"HZ$G1N'K!VP% BS'\J'O]+TSRB6 MH#.^E#&/#ZV9PRKM*)\IJ"S$=+0(!_=RT1H(7Y7Z $4J+[J_/5IOHA!8(Q?V M#@3A<+D$9FB_@M]LX&Q_.H/Z)8;)5VJM,Q02*7\#S].T==X?>.NU'<:1TJZ% M$@38[@JX)K:5#T7"N_G&?IIVM MF"7G?\XV-#,'R)\!*F'$:AT0NY"(VR^PWCJ>F\ UX%12=N-XOYQJ #/@LP.5 M3RKM<$T$>G*##3#MI0TL\G5C4EE5\.6#Z@!B+N$DPDRXY#J":^C:A?V.C[7% M9W9*R:R8-]),-OQ8['#D%4\]%*>1;[[ 3@"0V ^V\6P[\%0V-=[QAO,N(NV96:LK M2PFO?("UB>S(?>L53HD@"/NN-0,. M+&RAHN\+.%,&AHGWQ-QVU;.\776^F/47PZ^C06_:GRW&P]G\VVC:ZW^=#7%$ M5>_7T>);KW_W2W^\&,X7V/0Z&S[ *G>XPF\]6'\\[P]02DD-[+ D59;EBRRI MIE\JBBN4BURN.8Y%J5Q&UE0FY8QQ @AZ^[[_&TI0%GL#&=U=0]V=7:JQFI"1 M+?*^U1)7D5N?^WVEQE[E"ZJ&8DU Z A31):8N[._7.(T!\ :NG"Y?2\TW9$+ MJHP@1>%9.SJ':-KG?T$)BS(=%Y95#?%*,R^[9(ID7-CK*G+P MCF$?=C_9GZJH<8^<1%B*[(@COP'(BKATR,KV!/+BKT]$JJ(2T" MK3P'*NA S?F^9$U/3),3?P[\5]L$A+B'HF*J$8%K=N<22KG;\VR@HN&0B%:< MZ8U:5A5XN9 J!)A1-C%3-L&V2?%W'Q3)]O$4_4^V_AD5>6 '99'K M>)- !:AK[9,9Q1)DS)84Q>"9OX^"( +6780R L8F_?D+U&@P!C_PK\BPLU16 ME@IT5(OH4%E<-3=2/-Y/WS,!L' FB$Y0\OJ=88=U21M MP$?>IXV\7BAV/#E)L3$FUSM"BDJ -.-"%Q\+LN3F3S5#R6D'A M1I!46'N<*XC7BO.[S2B:X1"X$_D#ZK!4PK M_L;(#6S8V85OX(=C]RQ6C$$-EQ<7EX\[J[6P/8&"?H9#*1^HVCOU$\T:P]M%P_7-5&KN@NMV3 A\*WH7CZ M#L=3V<>M.>#.- DDRO8HP>9_)R212!-H6D:4Y$A"DI(H(UD\!1")3),I14R+ MI(RO^U!].%=POBSOMR,KWC\_5-]W?O_Z-9_/[^ 7=Y)M1D-%LP3Z8],P\)"Q M*#KW;171&]W9[OC7YH?H@6UC0[/TO5X7(]>(6N,H2OP*?Q[!B=LVE^S \MWE M_1-1:P](=V-[]FOSXU[_"T_;ZWY.;#O'?O5K54Y2@2DBFN7YHB7=OR;L5O;W MW[)Y+/5K_>.VJ;;P$3B O9=L!Z19>Z7K?8/'"(5U@VF_VU")&X[15(\N'7PQ_VN?\$7GM]AK\^ .4- M.(',/TS:2YS'$9S< YMV$&SD&FS:CW__5H$H__NW"7PQ(=F6#]71/S]\L/!_ MK2_?_N:;X!___ZU_7?=UCPDXQ9 MU-F%7M%QTNX- UP-6@(N8#_^12$K,1S-8LF_?^T-\*+CI0/7A8,M:)XD&@,@ MNHPEYZ&JOQ\R1QI:<3"SZDROB&:YTHS,MB8M@0B'C" 8#E7$1XXWOUGK'@9< M@-]X]\--YB;+(-O"! ;/,_HDD/#,/*"$9#C<\!6?-]8F?($M[X\6P\LD6N_V MDZC)=,O&0!79 ) M_)Q4M'ZG0##FJ$@MV$ ?,\K\QQZ)E"E0;XS4381E0\5U4G\!ZHC< MFF#4^8CMTHPWR-7XD@[RK%;$:OX4-ZEW$,MS>8'A!3)O+C0<%6L53B^435Y* MM2Y *648]CQ<2PJVF[>#D:\$!B5%)HS7!A+09N+( !OUL4=W,5CJ+N&W:_JT M6P]77$I LX;Z*C2AGEQK3!YJG!O--_!3%.X )A M-:CHR"R3Z?"5,C,Q^MZ7%;@8:;7],##_/+2" * M9"AU'T_KHW5R."8"9#F9LGR#Q1;]D9$6IY/6NV@M-LHM@^IS*9ZTQ&IZL2C- M785Z!ZVG:M;S07@KG;3H:+YH:"L@TW9H-$H^;7L^:SJBYH;&0]7V]HD?E^L" MO="M"D_63&9>K&:JB/V>-?2MQ)]H#SVWR!1M6YYKAO$,N9@;Z,@"73;T9=?K M*&.ZT>ZU/I3<=\/Z%=2F!)XVR9K<1 -N):M4?C;(:)]![=L5UBNH[1K43'2= MWI"OB 7.R!+JDFE^A(5T?CD^!T@OR>]C[9L/J MD:;:L%!H&J)5AQ11"\T30J*$)EQ:54A(^$OH2L/F6 V$A ICQQXWR$&M@9H+ MJC.P^^T^E]Z;'_P)1$)O*(HBT[;I ,N+!D6YKFB-00B4W/*A25-83OB4QRP<(/E SFLS#$[YUTAOK>2["AK['6NMX4-%]K"0SM4XGP%(S6B>[0]46[22NN'$-&Z0> MSTY^XVQVQ 7$%O"]$&;K&=JN#WO4YOJMWLPSU0Z#U&F\VL?G.E^$!@^9Q-'W MA O.I3Q?MFJ? .3!@7%LUP^C)!P8ARC8YS/%N7BU."IY.IWIMFJRHY26)J0< M.T;R16*4%!R8' 4I#7$3OJJ+KBNT< =O31R_RFMMK+;L)/MJ+U2O"J09/ E, M_MH/KD<1!P!9[?W[=[B'\=N+MB?@B!/1GL;O,/+_SP]/,QTCW*N(OE.CW:!0 M8I'MCMW=PI/#0,2O1WU&'[VU8_COW]'FT._-K$04/([Z;'5#3C1" '(J - X MD=:P#/7$ML'3 -=&3P2$T1SSB&_S=-!N!%YY@;$,7-PW+P=1U'_[*52?OJ9H MP$U$A(.#FV\T6]D/^C]^>-N=MT;/^J,,7[9P#$W2_/70$K(&?XWVBN\1>(S. M'__>1_>.$/KWKX,O^7<[NONQ_#I$N!.IM/MIB#:C_"CLCJ!9A$#O:=S\LOV\ M?>[7'BN/K-]:>REIBNP?T7M;>J[*D M@*7N==G#!\^%ZCU<6*%>W5I1KCUV1?-AJ8]"G$]^#Q_?,+LZX(0ZP9DEGD9S M>;\KEF?]Y#QNS(:D_CY.ZH]_(X_D)5K/R6_(4]_W4^B M?*3I]I?W@2.2?'P#CLV'=X$#WX CS[.+E6K5\WK%K>&I=)%E"Y7QUP('?F%P MX!''L5/ \:CI>=#!+&+ M".+=B*@TZM6T-N< TR.8ONS.%2A[L5,4L44$<3HBB+,CXG T_[V(8+.*MNQ/ M.S2*H.C*F*1J4F-"W1!QNHY(GZXCLN=%Q*[K3&PY'N$ MV#**=K8=.TLSSHC 3D<$L>.!G$]''(DPOA41F)]BY6Q*G3"<6YGFA+PR+THW M'?&*5>-4'4%<2D<0NSKB_8@P+6R9S2Y279VK9=J+8I TO."F(UZ!B%-U!'$N M'7$LM'@:!-K %S4+R(SH6IHU]N[7"IYCZDGH@$X))+DB7RXZXZ)G)+-)!F-6%8MX34^-K# MPC'0Z9=!@0WFG*6-7!X%+=!<-D:RA-4NKHX_E?BWQK*.+&A(KJ*69YKM,4@M M;7*K[E+/LM>.]X]>T(BS;)6_C[_/+VAIISA;I UBI?<&'3237G6I4>_:V?Q) M"UHLN'WZ@I9JN!)@LZR^5!!C/B\TQW7MYJ3$% 5,OU LI-(3BUGV*"X%'XJ\0?2OMZUHN4'8RX]+G8+O#EQ^D,\4[52Q9N+]@H&GRWYZYT,?GY) M6WDUII@4Q F*4YI=:) ![A=N/MH5L_OD-:UT.FZU4P[*3$Q>U*5"1QTW%&IQ[0;L!VOUBX37SZO4FP,* MD^;SZACML?0PF0?-L6I?O61_BE*/![=/UNF"26J5EER<, &N2B3KFL52YMK- MML_7Z1?93#F33N^DK18^F? *4T%UAI^C2=-*7[NP?[1.OT1@];PZG48J"#LN M(PN^TC)E/%=@O*5^[4OW)^GT6'#[9)T^'0=-0"@I#]4F.6&$\NVFU;O%GF** M@D'19$95#E=0DUWHJF$O!82)V6;*F8E_:]+?D07-#);]80=@# HFNBW@XTJI M:%^[IOOH!>T2@=7S+FCM FA( ZTR0CF"F*IX/Z5V.U>OUCYG08L%MT]>T.1J MOJ62DFO9!H5(6^FK-2#44#=X"2U7*EK5N!&NC7KLXO>@0M?B<0CLLN@B*"(U3; M8Z:2GD'RE!4VS6^D!\&O-FQ#*607K#-SK5KY@^4 MW3@D6Q^77=(H4(3G5?O\=%IFNT@- )*_=NY^@NS&(0GWJ>R6LWC?)^=&2P== MFR\-W1X6E36_:NY^H.S&(J_TN/"RC;Z4E,@!S12K06]CA3LU_DT,T)R3$,L+@=&4EG-"S?IO:KTP>/"FY0YS:J-9SA#"_[ Q-(, M5:-NPOOJ<'4RBY!KE*L S(ZJCF%$CE#\G7*O';N?ISLQB)-[+CL8EBK MUO;*.N!-)UWH#2>TNI)O5O.GYDZ3E2L>8FMI'4A]8]ZJ691]]660/D%VXY I\51V[7S/[7N*IS!DEAJ[ MJC/E,K5KU\P?*+NQV/Q_)M2,T.4AIO5P/:@,9YTAT7,&@YOP7N>>\%/IK0=\ M$=00'F= 29QV>DJZPUZ]3_11TGLIMCXH9<9T#'L)0$1+8VX!UU,U)[SPB.$: MS;SF288-@0R\W#+\\J$H_MZ#N[=3;?BN&-YB-FBG%SS"9.LBZ'M9;QA;L7[# M-&P*YK\P#W$/A;SY"KCG+L=B7-,$7F\\UXOS>E9QLT@I$U]/>9>V#5.?(>Z< M#/7>7KCX@F5J+W0UVHW[YRM)^Z'RO M8HF('::.K"<7PU1RTD0S-C:U&"2II34UQ9;D^)[QO3Y,?<8J=2QU[6(@XH," M,\Y,)!E:X#0]X3F9'\4W)?TJ0/2A=_I%MZ:&=TX_.G_@^:X6WE0;T1M>^^FU M.7[#\P)G#OV4@=51T>W7:SXV(*M$;&W6/0IWCQT\0^*UN2)'S)&W,'?F(PMV M)-?;3*^KF.7.W 5^\<;$E?39S8+AUXOFU"!?>@RREY!N$&IX:* MKI05H?&^87KX5-.UY4#R&RX'W)DF[7@PG*WX<)Y!%7YK>8"RY#:(DODW+3UJ M[((H%+3I[@%I,V %H U,40O/]C2!J]BN&5ZNV1@9VCC"\/9.[(YFPB8-A8/? M>LKZ6EYN.X4/@Y&@T @R_"JB-[S!5@AFR;'HY(DE0^-,+Z4M71^-WS5 X9V" M3SFS65Z.LN8H6$]ZWR&>;F\O?"537QI(>-VP?%Q0SPL%R-O+='PGVV$_>VOO M9=]T/Z\[$Q@;L^&%&]V>5QLL[&?LAI ::,"0VZ+I;/3#G!T-2%!8-)CE4*E4 M$%WV,_&K0?*" !TE[Y(.Q>?=X/86!%"6:"Q]3=J>7V4\BQK-$"ZE YOOUIOT M@LNIL7,67N#[(Z*^)K*N\KMK9J@Q'*,3T=+$H<6E\T@MC9E'&4]T\/ M<[]+WM-3%M1K*JWQM!I@3#MG,2EP;7S_0'G_/&X?OHWQK?*>GC,B0DQD6L=3 M_5YNEJKVY^IM?3_!?_R\VQ??@H#'\B[J"IKFFIF%7G$CP^W#T4'[_.V. E8(NSI@;_;?8V'<,:6TV,CCQJ]$J_Q1;DY M1Y;6#)TW8AEB.TC>AM5'Z;N.[9L#N4:N#3OQH\TJG[+D,!7/"4>:6SX)^V\# M?K#9]L\\F '#CAZ@;<_?,ANT^-6TR &?P16%R)"#>AFQ8B?6]UDI+\_!P\; MR9/P'1!1!5 65-N06=-Q[5DD-5L,N&W%FF%BDV?P,CG3IBU04.9? P//D/T= MN%X(7$OS@T@&"MHB_.O>7U]DV4*5:)29J452KF2EK4DF=G[;FYA^G.KOP/,P M.3OP@7O?9L-P(Z"]Q9CN:EIEKNBQ6];?Q/ C)']E;D!^Y- MMGFFJ%,M(;UBR"1)]JKX@AC$]PJVTQG_ MW?B._T;$.^M:ZCN<=^>DQ+\Z19 M+.L(5<2RDQI&M@=?0,F?1OYUH.! N9E7'A7Y/+I!H(.4.!ZE7Q7+'=I[[K! M$!<7_O(5D\[EPP?#<2'32GL!RC&893*C>FH6X[-E\?;AX\7V9YQX3GR\F'[,B^<&G3XC4 RB5^9L84*YLRZ+?@TY_U@O M/A[L/NK&%TJ38DM4&8GG1E5:TXW\>!7?&_KBZ,;'B,$O^O&:T%'$R3Q-HA51 MJV?Y<9LJ>S<__@NP_B5'GIHDI=@H,4I)J%-[1Z],KM]L^T9&/)>.?]>0S MB]E$X@I(B>]Q2J?5[@_F@\P7T/.?ZLE?J"+J0SRG(&IN5S0"D%O>_UF",RNZ MDKJLAA[JO@6_;<-:T,+QH@;$!@!^KV6R.:>7ATI 5UKH"NT:3&Q5_VF$[UCQ MQRF_CBC.D7R:(H#@%AU5DT3C0>;#HX@-I:."G@TIVS"XCGH%'%5CQ^"]=)K'U&UD^A!Y7XN+DAU8OKL4>$[P@G8M);;F%K_DO&0=Y!:C M AN[I(@7V+:AYS?/70>?=A;VCQ>UR M=M/)\E:7<;6^X*8"0[HFL1#XLB:MKHUO%Y>W\U<5V)P%0,/C.J>[H MG'!3A$9?QQ4M;WVZU!ERFE(4S=#"[YF(GD=GQ$,;L:%0+NQH',W@ MHY"78:S]16T&=AIM(U_80,'ZJ@\%6YA+LM8E^MU.[ #R<(#XU(G[\6\(JL,S M=Q1%)X_CX)3OQMR>F_-S@G@O/QH]_3Q$U/0!\>&-<(/X2UTK8^7;)38DHC0T A4D5JD)YQ M^J026Y_N%?3O%G)]9@*NP]8X#Q*:$(P/NW ^5@>E=-6V441V'+='N5,]OCKJ M39S?(_@[<;INAY>7.L ']]4RMFSOJ:YJ%A6SJM/L8I#$%49=RK%S\=[%]N/4 M?R<,;)(/@-P!DFK9ACU>MK6Q>@^$45!LJ'BW0NI:SM$LJDXPW?A6]WT3$%Z8 M@N^$AFUQG\BB"XT[57/ND9 >!?HT/:VB4P,OUY75=%RJQ#:N_R8D/$/^=:#@ M0'C__,9@%A2K X>>Y!EZ6:)Y)NT.V^VOI1(^PQB\_$[/^ZW!%&YHYFE=$G:?X2M7BZRU";1/SKZ4!/L<>C"<XE.!^-D?]2M MENSBUPH*?;Q!>+%P^,GW?>R6AU[?B8!O+WSHHR(A$!0=\&1^L40L@Q,;=&PY M?N#"A^.T72PP'(>RAR??]O$,[R<3NSNCEJ,EHRW]/C\D$6$ZBJW5'P_>Q[!( MTIMXKT_KU6"40H9HA2JF6@-G):2TV"[ZL>']IY='.J+SWU)8W2(DKYIJ+4KZ M,I^J:=V5GBG%KX1.+ NKQ[ 0YINTP-BQQPUR4&N@YH+J#.Q^N\^E;UH@=KP_ M%A!^B]A3:1E;I@OE+ -2K7IY8-J=7"ZVJ_YGB_TG%3'_]!L3LH55Q2(#HH&* M(\[AM'2Q+BNQ"P]]U2L,KMI#.5ZH^=-134O!TJ6*'4*O-,VRG9\YH#F-GK&SXFZHOIJ(0BQ0;3)-,FF2 M+,*3W5J3U_.CIE6^62#7@^I8%!<^O7;T>;/)>2SE4]T>W>:G8E$GNAG=T>)7 M^^I,E:A/]N8NG' >$__NX/F2SP(BD3/F3%URV@R9R231I,F@9"J6QL$-B!^\ M8?C\L:>='!+^,31I.[IF?=U[6_/TW#('+$D-\ZOV"X2)!O V]]35@?]R-T^" M60_C>M)ZTYM,RHXB:Y,QCW>-Y"0MJK7:(G8!K1<.9>WDK/!G0_E+;-JI87:( M3Q<9P--8WHL<_IIADK?(Y/$3I;&43']8-'D)F2N,2>?RDVJ-Z-D@ED;068^Y MWN3S:\OG,==X^U7^\V1R.X1C$LFR"%+(EF:7=9QK+MU*JU!HJ]30)O$GA$ LO->$I@UFCW&N/.6-'IW@@'4IG0 MLX58FJ$G2&"Y>9/ FP0>D4"Z'D\)S-M]URGYW5O/IO$3K!NJ+\"U!]/9OX".^>%@B>!FM43 M&+%<:%8*PVQ>+\5.3FX[Y[&4R;@=@/M2.^=\=K1#INX9MLY/4:UE+Y)6$W"Q3&>) MX^;Y,19]_;V[:Y3$7'SWS^EJ=2#T_-%;S89RW;$*K:<\3R2&393I1E>&I5C:9#> MLLENT9GW2&!LLEN$O@>"8QK-MFJ[/GDK#H5>7+4H)/)\:(D M+:Y5 F_99-]2 F,I6.@T;=>(W'2%3ELU;U:;K!I<)G;NW0WU5X#ZXT4$OT V MF=\:F/I\/*XQ9&VR5"=3)#T<79L3=LLF^P29_-02B&^1R2O+)D.4K,0U"D.$ MIWNX3E7-R?]XU(YXPDSBT:O M+F1SV[6[2>#5[MJ1PV5S4:"#-"-ZE#C Y:Y$8->Z!MYV[;ZE!,92L))"1YCR M5#JKFX7AJEA)MEJF$[NE[8;Z*T#][B5)CV[UN.X#K1@GE\L%H4+H/4%.T8C; M'-5KL5Q\;@=:XQ2(//UFI[V+3#Y7%.-]DHEFJ9Y9)C_N.L\OD\MB M-5;I>8>9-!B$:^<#?3#C\7'L_+I;+LM-/L]RW>X5Y+*8Z3H]1G7<9;C6I!&@ M4C'I"=?I1=YR6;ZS#%YO+@MFT&RO.VX1NI;/M 0LLYAUF6LS5V^Y+#<)O-I< MEHG,Z6E)6,IZ3\7*N)^L@FSQ6B7PELMRD\"KRV4AC5XPS"73(W[99.L,F*#- M$7%MCN$ME^4F@5>;R]+MRE5)&HUU?MGR\N22,(=.^5HE\);+\BTE,):"Q02+ M=EN9YXJ,5A/KM*=+7EN+G7%Y0_T5H/[Y6WSN]2(S#2 QM&TZM@4_>GN ;0-? MU"P@,Z)K:=9XNY$W\$:XO706*Y[CYYET0ZA18S=V<'F@B(M M:"O%QL]C?B5<3B;_:R(HN8,@\KS:1:IF68P5Q]?&5T[7")A7;Y/ 0]?[;E7=HEA;3L$5KB+;TX-0/9(QIXA[UVN'RP M=HGQN:=S:Y1YM4MQ,#/+ M==:2F:G&,+[0GHY;7NPN 8F]=CG5KB4NY1F]"QNG:Y@G;W,HC[4U%GT2X.8J[2-=GHH<%<-G(ITROFY]>^&'V\ M=GE%Q/\RGM&[L/$*SV@Q15HSWFSR),]YV44JFP/Q.\=VC=KEPQ%$>4)#.; 1 MT#1$JRZ:X"%)O1FXDBIZ(/QE $07-L>V&Z%HD.$JGIO6 8[.D;2U:N?EV.)A ME[1-:OAQVL[);,V"+(5MGT;EM[^\EW^$X !LN>HH@<^#1:98S^M>;=J]N)WX M.N*)\Q)_?T08%XQ\O=XB<&O!3'TE@U:=89.\_#KV.NKQ_4.:YV+]@^@61,WM MBD8 H/^H66;N9BJQF.SMS#*G%XZMZ?SG#: MG#^,XYE)ORZ5=0;<]E3>79&R+Z-XSZ8LA4CFJ7QL?>/S@RQ6?-TIV!!+A=3F M-'RB])6-6BM^Z8LWA722&7'6A?22=5G M-XWT.8Q]NM+D1&CG2X!3 ?"KMA2YT'MLC1S NFU)@>O"04>SLN5MH2ZY]'*F MCAD2(1KS=-U0*XO8:I!CI#ZP]AE:KW;%>1>#>P-:D0B[BZ(-3$H.!T9.[ENQ MWYLV='E&C'OW=@?8^$_HS[VJ2#V3.MR6=MS3?:W/\!D'98BNOB<.VR(C%(C(L5?.V6(VM M^KC@?.UNNCXS81?;.?O4\Q#/WW+[^2B=.KP[RE1K"[XR8'VR.$BUO7QL]=S7 M1FG<;J6-#TH!5I:L)-IH\=/FK*7.2-X9Q_I^"$*/3M8-G>=%9Y2!LS?;8:K* M-H91IS/I:KI02#,5>5P&30RA_&^J.Z-TGF,3]351^7R-B\]?V2=XNT>45$9 M.;1-(T2/GQ'#V$;8OO;*'M>:%.O\ROM,S8-!70X8!ISJ(K" *QJ4)5.RJ5F: M%Q7UF(%MQ'.#.E$>X)R1%T=Z1<.&]#Q7ZA?%V.K$9^C?J:3RF@GXFK[V^U$$ M10^$,3,X??DP)F8[46KP>NXVV-%Z:78FJ/98;_2Z@X4PR-3(26PUUDG8.8'L MKXF8YZ,SY]<[976L:Q[C^>ARV,!)%!MSEPM3R?O&[L?++>B6N\[?QZIS:CQF+!*@:H*?0:;+),>71JF"GE\-CN$,1>[\0X&G!^O5/(%()6C@(, M6EFY21;MN;A;O6Y;.39Z)ZYU4\^E=])ZU>[7'6*ABX'@LD6Q:#3C6_+T&O1. M7.,[)YY EF4M[$PTFJ(FLQ8M.IHO&ANTI,"J7L^2C,($JHUW2P;I2.786CBG MGCI^CN2OZ9&?I4;@LT@Q4T:Y,LI/2%VC";F"#^>(T8NM7HD[4JZ[%N#S2-$R M"R4SQ0"%XJM)K3BW!J,"<=,IW[*NV_-(R>M^EF\ZN0XJ)HVB2J>D2@.]Z92K M\X_.4H?I6:2,"YF>7RA0AM[K%TA#J\[)_B*V4;RX(^6ZZRT]CQ3+Q9 R,DJQ M>@^;])55NI>K=F/K.\<=*9]7?>D_SSFS4JN*E>:VD M3_UJ;]&8IM5Q[MIME*/DWGR>UR-DZCE5!@_2%J.U)\5.MMQ*][%K7W$^!2%Q MJYSO+K@NDR*6!5W$)_T:JN78-A>'@D;QF;AS.(G'12O+^AR5+P!-KRCF5&+( M928=W\/@<1:MN)6-'[:'@YJJC]J\J+?MDI#1*W4\CJ)UW5[U,Z+E%[@ &RJ& MS@&97"X#Q96\FVA].V_Z.$(LH5)3C +IZHTF1I@.Z>>T^)9:B3-"XE;WNEPA MO#*FFCY#]LB4/TXO<^KLXK)_51-WCO##<=$R!FU%,IE"BVGT2;[%E=B:,KJY M#%<5=CB,$(PMXQ,>\VU&(PK3S(JQ[%$M#A5@/WWBUD4EH$)*K2W Z"+F\-!& M&SC; L!N>&&H^7#F*H+2D]_#QS>"-&M98HEO&DET*L.I=A63C^%>8W0?\E%2 M-\>F7J+UG%*T7S0DB6"I>S+?630$\G=3#?A=_,6W^4UFH3XPL\,V@[=;2+)( MK+Q,)G96ZOOXBU^4OWC$WW/6!3F;PD8W ME98^JB.&WE"Z\PSE]X=8_-;"O2O-=\E[5,/\"7TQ<>H_)"/_!0RPE@Q,"S) MV@- IH4OTI(J:(QHDW5#(>EQ:N-#,P-QP]KX@W)/K#)B%H[F;\Y=[9ZF!*N>:1+_+@*K&=$JCO,<) ML=3W]W3_^#?\N$?X4:Z?;'(?N"7AR)1=9MG ,"3\_^0YEXT'W$"EL?/I?K=V M+KKR]A;Y$RI"'$<7&]TVK\UV;I3 MG7'L":IN=)4&:.!6VBDDO5ZI5F/'<+N MMW-WY^0]E1_>@[QGIO-2^NTQ_I[1;X^;7G9U>Z]!F\KV..-BS; M03^FBUV<#-I/7_MV(VH;!^?\X* '$X+$]:3*D[.)7"?92JT1OU-D\0;'(W\G M3@?D.YJI6>.&TG'AZJT MZ$4;5MNN!QP9YH$'L4.UVW@BM^8 1<^NCVV,3;2 M3K\^-P(>6;DMM6)I5;L=NY#'?5#P99IW(XA'B+ZD*HEK.84WHH7RF[9F^:RU M YF!VNJ)RE!@4%$2NF)OB+N-:>P6G?="Y@#E7Q,WSQ^'/X^6*5$T7DXMDBA* MMQ2DI$X;U0M5@?73.56(7^[T2+1/C4@EGU#+SO#P0*F;=1)%* M=U&=X[A3,+\<9#Y2R\2X8,)YM$RUYV/="-REXPOY9D:G<[J?U-H5S4Q>D_Q^ MT&[<1]P]W:/:&*^9",N BK]"68,H-N4X' +YD$NUI&5U0(-9?ZYKI?X"U!&Y M-<$N;I:^COKSWRKU-G6\E?4"_-8'58A^F;7@4,;:R #K:_5RRYHXL=VGMP1# M@T<&INCJX75\T8=0HK89)[,> JI$KZ_QRY6F,Q5WJ#+-V#D';U;T)VN:5\SL MGBUY?&J_U.+SB?AMPA%;]S=FI@8,H 8YF]>+FC9ED;&_TK,WO)Z&U[VIO.'S M//C<5-H#<@=(JF4;]GC9UL;J/6+SI#&6B8G21$%>LE?!JJMGN=CYTC%%[ N3 M>\/P>3!,!YYOF\!M V.=OJMJSA:_TJ">FS*DYZ-(FK*5;MJ$JUWL/(:8XO>9 MB?WFV#V8*7U^^Y;6"1SKJB6"1P:+ 9UDXX?=FW[XAG? MV*S; M86E_!_B &KL@.E^YA:8PY@A--PU4YQHZ/ADMZ!Y>B9WQ^BX ':?^:^+G_7<( MTK;G-Q1.-.Y]',S)+Q?$4% 9NCVT<_10D!OQLQFW'#_I)HLG1%X2#7%-97\; M&GJ"E*G5ZJV4+J(^STA*5QD8-S1"\<@NZ!6," I+Q:FWB1LBKMB.&(Z) %E.IBS?8+%%?V2DQ>DD M=F4[XU"MX)$H.4R_[&AHD>!Q4RJ@CBT.AE@<4GCCHX,.(RZ,[S==6PXD?_^$ M4J1X*$LTEKXF;37.5F-%868@-^'XE]%!'E&*HLZYY>XO]QL(E*)HAA9^ST13 MM>E-:R0[(CY99E"ZD:J)4K]2*#9CYP6%(?Y#,[116H^FZ/WQ_]/G=KW]<'AR MOY.M_9D8]IJ.B"X[ JDWF*Y5MJPS' M[1!_86;C?:&5K?*BUR]6)@8G?\"!VVN8N(>RRVNK:]G(HZ5VABHS=&JQ+)@M MDE0O?X+UA)G:.S6)[<[3QW@'\W8XR> MV;YG^]OV<_BB%U[*VED;MKUJGIW$L?1O^,@[ M7NC ]L)J4-&162;3X2ME9CB6VRM6J5%': R?>/T+\]H,8B&B;S.QZ27>H6O6 M-,G@WL+J)+M5B[$>R)2C!W8[JPOB MU_[H]^;EE[;X#?NR U<"WOJC"D0YD@WXP+]_P_\D/']I0!$SQ04RUV1?_8VA MZ/_\Y8BRK%ECQ "*#[^Y(U(/W[EAYN?]E[87W60,7Q2FULW 7S\>]>N.-0OQ M;>(UI[KXS^_FW9KBD:ZV[GZ_%NOOKQ;T<<&2!A*PDZ%&W+A_P* M>X'S*L+_.0?F5S* Z/X>V;ZZ&=EZ:A$XC0^CW4SMPY?[/'DRU>L?)=&0_@A; M)/YO H^>_/,1$QYQ$W;]F)?A5T>Z/Q];X$L,S0);[F,[XX 3X]OFWEI$1$,;6[_#D@K 77^C6:&J#_G[U\AV(:@?^E@D/-O0Y,1_H='_;7\/.R3" MZ7GT\P-2()GCB'WG@>#+(]][]0$@AEVE'N"QI1"'7\TT3QM!:]1?_E8U&?8( M>_@__Y7!4>*O>S Z(=9#E2BDLF0*2Z:30GJD "$)X%\9%%6$;):4\*R<)3!2 M^K&&[[MIS[Z!]-'>2S?B-K(-&?[(U]D.DT]P':K#< F.H?DVVV'AGU0]GV#Z M=(FJ%YD$W:C56(YC&_6_?XW^/0\77TM)I&G(!T7S'%4]T5,AS'W;^IG(W]%W M4'13R>SYQHX19V9#H=&N_9__PDCTKVB0<#&Q;"M:XS0IL3%QVJ%:?9LQF+#$ MT-23@?8[;TM!Z#&%-RK\B/!;%UU7&%>%-A=XP4 G#5Q92"O72ZJM%T:-H4AK M/:E[ S[7)#\2\TG@0>MS^7ER3J"H! A"UAVA M)E$P*HZ0L"2 C0DM9$=-I M0&SD?/U$1Q+RQJC,V!Y/\HU*4ZPMF^6,8;9"[CUNJ;:;]4(GJ^N\2.)R<27+ M;:HV%HC[EGZT+FY(VZA=R38,T?' [^T?N_,7&@2;Y2!<[:3UVO:TR4-?6)6^.YV8#OK3_B]O/U^!EQ?@ZOIAIEPO=ATD;K+9O]GEXF; M=_U&[_#4NI>=U7:G>QMVJ1CV?,NZ[6=D[HK.[Y$+1!V9PVEZT8RZ_UT:6T_?+=D*WG8N$9M<%1T=_7FDIH3_K__-#@ M(]"QA3K+-D:B8=C^R%[\N(Q2;070K06NL6P#QW;]'UO9KN09JU1NL74TT"2F MZC97JR"8PY>AAS36=G8X,+9!@F<3W-*$&O?QXAFJJFPZF7I050>T\-EP>K[U M_DT+9(NGVAVF71TDVDRST>XDFGR;XZEZ)]%IA&9+!]HFZP44(Q*-=@)+_2'_ MN?ZB44AT2LRN;;.U:\*U:[/J/O=NBNXD8"=8EDCN/'$_NW&3E-1+$_V8@%C MX]6C/NNT_XK)+)R@Y49/K9M0M X9E;:;\%60N-=*B684.TL V+><.&!I[NC, MWW*8+ 4[565QN83^-; NI#37@V+68;X=D[1$J\-./=M$T8!9Y+%\*DL)]E.3 M]+D9X(#C1_L%:_ 0Z,]$.+BC-NL#L'Y%UM;YXR7/FZ@GVJ.Q\R)M]XR^5=S, M_A&6%C&@)(64,A*%9!+'A5$*0P52PB0@I_$DGGYB]B^F6;;?4:FBOFP5VVJJ M+'BT.#]D]B.-NHSFAY*C:RB27;9*M#$DYS>S/\:F\NS_Y+>S^3INJBOPNAOBKM[*> MWP5YSA>B;=/4O#!'*U'0H$4)EXLP<^O2^PWK9*[PC>L7[CAXY8%,VGV4&/)! M+B#-*IG..NY^(2VP5CS0NGSPW)\.Y-:8,VZ M5VH(C*Z5L]ZB4TJ-@\+\!7%NY@L)KE'EP\64^[F61;9.WUUN5M_@@?[!+$3) MCV8BS YXF(&$Z"4X!TAA:I*1+2&>5+09]7;/J,WLH"EBNWA+PR!K=:SG- MX&0-Y^M)OC@?4FU1$!QE-H8MG[BO0Z3F$6FF.%F-$ITL?F*@BV?]+FT.QB9P90%8](B5Q7EU-0;S@7R:9]*T!E4 MQUV7XRM477#Q<56[2]J6P;W+V.RU7+&34XJH M.61U?0'L>J.R=1E/7QCSP!#G8IC<]URH\RP0B0='+\"PCKA@-RFOZ_/"NQ9, MJ/O$VJ* 2T%=UR84QVF%#$_/MWO[I[,*3R%8&L4(\K@1\WJ_YR/D\"UK>(3[ M!/0>&M!]%&J^ZI3,/GD@N_'9K63H:$+( M&:(K'D3;Z3W]?&'G_<,,TLV,14MRPVW"EVF6M!M+F%:$ =K7>B,=Y\=]NI'3 MO>SP=0$:&D($TF9IAV?ML(><=7;#I@^^;ZRD.=92T+0A@(RAYCSX%A%'AV9= M%*O+AL&(IJ> >;%8D@:O$X1L"DVAYV)F['3;6PRZS9R']FO3A2*D.:*18!9 M"L*=V41#@;8=\+Z(]0HQE0A!]=A&O<7I7]A >4ZF_KAT%#Y<%2D7B(_400KD M%BS7X0JHZ5+>TN=S)-.E7C7T))IYYWKXY\7W(,)Z7T93M:VG>Q#!O%ZO+_CN M@J\(]0*ZZH][F/"Z&< S*)+.HH=U8AR.ROSQ$"H/90-+_^4E.L 3C@CFWV@ MGZ'K;02AADF$0-F1\C";6)(>ZU3':S8:8; +?]S2LAL&S[7;'E.T= EOM1PVT,-M MAFW++QJ4)_"[-/X_CP],WJ6>.Q-YOZ@[LOJY \>OF^#/,)<[FK\^RPY$24U(X=TGKW(##DO5 M=YY05XQLE'5JY!^O]*H.B^DWGL[Z)IDB@B=82&IXO53"MA)S58/?/%AC;W/9 M/UH?//GQ@K,=M_C/QHA>8O@HTCKW@?<@%4!;GTAUF&)*2*;DF3=L^=NTC^=B M-F'&&(0"Y]N2_C/QW^A=6!(HM3:\'=%-S$0C .=(0OYH+?>=8;)1H&O]>8\1 M:]1%>VZ_DD=)D!Y;TK3GTI/6)N'G.8PT\P7N'!#X:,T<>P@\-^D=Z/)N)_WY M;810I5]D!V&K;9C-FO$H"U&VK'(UW:%1E&/&3@ZQRD:M1+U 5EWT9'%Z#$W/ M/;G648F:Z.K 3U2K].% \W>)41X/"J4?,H>?FT_6DL-T!) 8+1.2"N#4AC= M0Z, 1%D;8SLA(:V4 NC/:'-$A[+2,CP5V@.ADT=%T@@,@XQ?-U' M='S52_P!>X:"D? ":-)XJAWFA6[3U7U5]!_3,Q?W!QV.>/WPAJ0_?R9$2T[\ M@>_0/8(R!AN-)I"J\*&H?5C1$HYGTUETL6$TDFBXHNG?[>R07 MWRJB ]>%(UH?60J7!%_T V\W-KKL3ZDD*UH\J(!&+0^PX2 _?@$Z ^"]28*W M#YVM&L*S;ZO;YWIA\HL(<8AA"%]3\WV(>F! &+NV%:[5QC(!X+J]3+#ALA56 M<9V!1%[TQ?4Y@D?B_=#';ORV#4W0-;R3:&J3O1VLKXM-<$@G\4?X8_HO'#H, MFP:^JGEPV*(3)G%_B)BO1[[NY$,T?L)#N=W(Z [$LEH5&'4 M$:05TX,+:MY-NY-FZJ5E]8T2N:^-/DHL]U-@XBBA+^YFO$[N(,K%A &?!PE1 MDJ#X6ZV>"*_6%:WESW!]A=W!52@< MZS@Q=NVYKVY_OH,K+8C&)@,EO,0W+-4#H7\=&&/V,_;5M]F*#H^/; MMH,+ZQ8#T0-'QKMMKED[N@6ZO@B>V%@.N^;"W5?;'#K7%LKE]T=,2(6Q+7>9 M0N-X+#X<5720,?2>?D=_A07*_T!_(O"G/]^\/?#U27\Y%OBZ.?C\<@'K@M:1 MZ@IU^-AVEQ?*O@N-)Y?>O&-GC9>Z>97+(_($%1MR66CET6QI_)+573VLGF.T M[K\<#/I@J+RXCE./9W,S,Z=/R4$#))Z"\^)LU/[RS\UY)+>'M7X8DM+>?2X/F(J\P\I M5G)](G'R&9>U@7W>P+>6U5M M,[-,HF([6#C&@"/&ZD$G^3(8_MI1YN>EXE%\BE6><3E_0N=M[2FOH;7O+FO* MH0A5%)>"Z[%E1V&EP%O[K' \ZYJ&!^J10+ 0%RSQ)^H&P HDY_,]F$5I/1<%=7RF6"&]D MB7C\FDM_]F!C!:9L^S*0-&@8_4AX<.V&1*+["#KQ%JK$IALOZN#)KDN45!'M M5W+1^!J!'RD:J'%V\+1,VE0J98L^ \1)1BH$O9X0GE@C,C_3:?QGADQN ;&= MA8TYLB9Z*T,',K]WLSH2]L/+PRHJMK+NI&[/UO>Z8>N"J6>/GWUHL.P\X_Z MVU4.7:!R:M+"T;G#8C!WI_/\#".5-<\QQ&4H&YL0Z,G#WN7QJ=A$3Q_B7OPL M_.__VHW0C41)AQ928,EA*-=V?V^YO'.]T69L> 2V,4#6 4!1@=CZ+1IS<>EM MO(QT]H[8IM/\O@=*=%'3^G*IQ,[?#[&]]UQ:E;E#L[<[J^QOL#DV06*GS" M]X1TEDR17_P03Q:_2S\3GTG<_Y.\_Q#GPQNG)-]&JOP9BA_(C16M%Y*WDTPJ M[(UK_JF'O^^>K?]Z;2!\S8F!-\K?9X/A/=4J7BV 'T+L*];$IW5\#U7S/1GW M+^6 QP4<9[0JFM"6/U#[^%F9V=M4>$%L/@PUXC'YV%K83:K=80MLG:K3+%5E MZ^'%AU18=E9(9M(9,O5TWH[9WMNI@QUN"M8F=L%W_X[$SDO60CZW?\9! M&YVZ-)V^:;4GF:5Q="ZQPK;G8^H#%24H@X-?3Q-'#[Y M\Z(G'':Z">;?)>X[3SSTGOB#M\1 UGP@__G$2[Z)Y"M%\B9U,9*ZQ/9_V1,E MD&[4N4:5S5,=)I^CJG#!8K@2PW0X(9U,)3.9MXD@;8>Q@7!;$_X5*>DHARDG M&E 808)3 3@0H+J)WI<6O1__$M]2Q**;S6MAI*Y1H!NU9ILI,76.[3+5!L<) M9!9/O76E.R)F.RM=% \V'1>HL%UX:B8L;VR"Q!]5V_-NB]^WD\#DMY= KM.@ M*Z5&-<^T.:;%LYV!D"4P D]?4 2CG6X5>HO ]3:[X EF&D TWB3PNTE@ZMM+ M($UQI4*UT>.$3!;%L(NN?:*G)@J&/;\9F]].T-+?4M#JC0X3+G&->AX:F4Q^ MU[^[#T@**>)M0E>W?>"M8RN^G3@B@H="+C?Q^V[BE_T*XG=R$!.OB98X7F,] MKWE2$%US*%HR98G&TM,\(95\;S03OTL\O.4^F?+A;5%%D.W[PM7O01!#25WG MI(=MVL +C/4"V7# .B?Y)J'?3D()]%N)*-$*CTUH?I18 ,4 ?C0VGT(9,FPO M<-\KHL1=8O?I- K^;!";);R6!R3 UU;4- M#XI%T[4E((>"(*3Q+(F2[Q6]Y%UBVWTD=@\ON,G53:Z^K%Q%V2QLHU-BVKNI M+'@FF<;2[TEE87=36:+^;VDLWU2@OOB>^>F9*E4P%HUH88G*OWE"-H5GSY&E M$G6>+DM4Z/(41,FW74](90DB]6XYHNXB/RJQZ?4F M0S<9^M(RA//6P_4(G&@ SU;6V\I""B-3Q!N3M_8BCKNO2$3O",.&Z[?LED8. M72[> ^L;"*-E["9_-_G[VO)'Y($BAI%TWK$M#EB:[3Y(A( 1R63RW6$-XBZQ M?4LB?$UB_9X=T;N)V;<3L\RW$K-D#7;"B0KPESOQ>9_JMWJ**G$IU&8M,-=]N) MN@G*UQ04CBW6J0[?9C@AB9,9DGRUL#ST<).2[R4E1[)OSUL8^A5\^OA:CZ^I M[AKWNI4?7WSMTI7#WU"ZZG#EPFVIS0C8C[A%1&-XJ.V(I>_"8Q3[M:)VNMWK M"Y& 8?SUG&HX;QFPH[5\\.3.,9#U5.(?7I MY2FGTR,,PS-".CM"A22*D<)(1($ ,I*2)"6)E-#P[-)#+<\3RCE=L-#GOH9[ M3;VMATR[A\OF,/ROQ#-5H_:*8CY?-N?R))-/M-)KR'^Q1L^9BYH^&<(Y2Z?E M"PFN4>5#1G$_-TRMTW>/F'9"I94+E,>O08MDP];IFW:NENF4L.&63<0[.E M?A//S><"?J!/>4ZKPWH_HW.J54!M;)6I\BW8\DF?XW0RSQ;FY0Q/LF(16(ME MHXY3 B&@CUNVI\M5T"V[;719H6>3:G%<5)-S(?FT98=H>*E<;RR@-(/W)YZK M22[1$E)/6R+M1KI3'UFV+M9G6EFI5+2.-HFT\L;5:7DH,A M):2?MEQBM7(PGWF,SI66<\UK\-AP-18R3UN2'8L:IX7E@!$KLCIH=%N=B3\6 MLD];FM5QF1& PJ-+4"67T,!J("/(=_1I4Z[O9'+#@6SK&EX52;*&"2[L%,.> M-LTYN:K(E.B9'GA:9E@W9Y8HPZ;XTZ;!(CU8 K/-\.N M6U4!V^]G-#B W!9=JPL:J@SA1>S[JB'SI0Z[<(!'(!+576<2@'11![WS6S3 MZF4JM3K4*0?@4E:23+F_"!"+2<%K4 MW$JE8-,#<,F-RNUY>EPJH6*W76?E+).>ZW &#L ED)G!LM IB'K0UNA)I=@9 M,11L>D"T69\?LDU'M'F1=CN8UD&:-0\V/8"!SG@B#B<(/N$KA3KJU%T34"8< MZP$,)%?9E+N80Z'BB/Z":4X6: 5"FSB ;L[X=Q&M4@RR%3EB PN^%6(5^( MM_Q.T B&GE^%"T#69G(#2M078X$XP"UA:8^DF5, 3*5'IV:"N-(P!_;ZF%L" MD0*$I,A9822EH#\DCX PPA19P-*C#(F-%$5,)U__Q"/\GO8,\9B(EDN7&M8" ML?6&UVGD\Y+@N0&D]P".INK,1RAUSJ"BD^H-:BM3 UW8] ".)J@]MCMT*LV0 M/$\PT(<3V1[DS0$MC^!LW@ 1QJJ65*-,'FF,6*F MNM](2;0&FQ[ D2:.EK4V3U-,T2GY(Y#/V?,Z', !'/53*#O(<2F5;Q@JB4X! M33-M"KJM!T1YE1^;?%I#&:0JY<;U&INAQ'G8](DN66:%=M!1BB6>9F?S1G7( MMU?-<=ATJTNNY_+MO8@92=[A1Z+IZVXN7#]^8V/NA2/N2\E_0)0(O4-W-DN. M!YW/7MA_RP45NCD([$ *XT_A[&VH)N[0(WMB-[Y\)E^PNVSFQI<8\@6[R^ W MQL2/,3=%%D^^W!193/ER4V079-) _8Q)V@[5G3;!YJQ*_\(;[R]/R MREF #EGXY3\_\!]O%5/B[EGU^2DS,CJ*DA__TSJ=WF[ MGPO[Q\G\SZO%&[1OT/[RT+X^.Y\.7!$QANA5^/,'":-7*\0X=53854\*?P#3 -M)AKKDPU?TZ+[!$3'T?3[[R]K MS!%WJAZF<#2_'9X^(V'?PB<#P5 =&6!Y_("PPMDWEQH M."K6*IQ>*)N\E&K]2$2Y:(OU4Y0G-!0A&R9BAJ$OH4>U,5XS$98!%7^%L@91 M;,KS'PD92)HI&MX_/Q#B1V)=9>B?']K"_VT%IFS[F]]_)"S1A%,2>,A8%)W? MH4Q2EAS^PSP().73HNLNX5QVP[,3/Q(>Y!1\"O:\2^?O7_D1\V9#$3*U4G\!ZHCLW-2+AZD#98A]$ZX#* M:8DVKD^J795OV(B-41..=9"Y0(:6!4[\3(?;?Y>R+&X">A/0V OHY:R$$R6T M5QK7#*%:974Z+[/M@%8L70C/JT*C@"!_II+/2>B7B&10D@3'XGL)%T@ 6E,C M _Q,6, /"Y2(AF'/14L"X;PG)!?(FI_8$V[$ Q*B+9"U9/\N1?\(Q6"INX3? MKNG39@&;9=@I.J7'!Q-HWE4"(>KHV5HKANUY.\6>HW]"RO[[NM8;:LN(@NWF M[6#D*X&Q95S[GF^;;8O',*]#PUC %]0DB52["A-T:G2+*@M\-3/^\6\FBSY! M>$*,KH&XS_)+$.C/1$C6SRCDM4WN2A!8]#5Q\X:_M#=\[I7MN[K$E],.3S1! M'?A'E$%X!#=7U4.OV=/INM@*7#T=X+FQD ZMTB3YDR1O\:Z;A-\D/%;F["M% M/#4]7N4UB>GV'ZH!HM/.O$7-%@V\LJLQ96RY.A&$2H2T>-* MC055T'75'E\'FI*_Y_]MZT26UF21O^_OX*HF%T(;0!EH0\.M?273;;8MN=]LL NJ>"9\V71:JK,RK9S$@3<-R#N0]PRJ+W\F\&QOS5IZI[2%%&+7&SM(61UBLG;T/%%\UQ*3&8V"XPQ8(S=CO;R.]@2]D)[!7=]WQA44'JLM_%N6V?B M]XE@BX;S*'U&125CS QD&LCT36@HOQ-JKH4C+CSS):BPH#AB2XG08AL+=:R+ MT&2>PNXE?0AZ=JDXJ^@-=XDK)N.;$01DWC$4USBHB\RAZ>ETA8PHO%]%+]*.OS)F* MZ"FYA"L*CEH(HK\_FLC)O89%E& MRD9H%(:$:]C4<#S?AK&,Q]DC>1HA[LK3474<.=1-$QA+P%AZ'&/I;!K%BS@= M 1:UL[=Z[*JAL&M[U:TUN[*ZPYD$^9Z^P7@>@F'@P@!2^3XEX!VQ7$S8 MLBAM:0I"1AUXL:GP@B,E8DD +9A#&X]#F!A A6@J1:/UHS5##0/HRAP M4@!1!Z*>)?WD#V6]K:"[<-2A:\98Z@E#4\,1:)'(^D%W(9#W')*WYZPH*ZKB MNHJ<\\7M65251P2K>T*FAX"ALVD<+^)5MR7'4H;B]CL8'<$>9D>PL%_4!6@0 MT6Q4DT=B=ZC%<[EC/8,\HY(!A!0(:>:%]'RZPJ>D=,)-FD&?7/?X :O5$5&! MW)W Q%*:: CDO;LVDDJ;7+3! J@BN;#%<^VBLBM;1-?>?B90\'R9&S\JZ#J. M+;V9N-XOBC#2X8LD7U *9'56G]9@.A3@I+TM2N81D+(!L %@PWUI2!\%!TOW MAI(Q7 K\KN?YK56[W8."!!R2LI8\ M]+55A]/29I0]O@0!# M++MAZ4<:))DM.@"I %)QMU*13;O\A+/!6W6F6&_5AW5VD&,ZY=Q@R)6:-:Y5 M9ON#F"@P^4^.[?'UX?2D\\-ODAE V#438=6$4[XSME>@55XJJ'4#T@M8&[#VG;)V-JV>X_OX9?362MS%(QV &GBC M:N )HQ,/$7PX^R2D[D&@WF[G"8LV(;$I]_#(<1J3^'VG"O/!"T6]#B_&LM3T+V4I_^LM:3G+[[R MM -#ZD8-J7N*=MV^XO$L:Q_"(7T^;[G-4+?X=1P^ M8PT8D%(@I9F7TK/Z/#XLIHMIF?5:E.*SNPF[Y;WI;B)W$C%-.N\2[S:NN@NW MQZ]S UZI#;DDLPO^Y[M*L7+%0B0<2#C0,:O/$/@ T(^X0=2=[@1N[Q>VM9< M#BZVN&(8"WGL^R>2["M26VDB)5X<+Z694ILL=R-&0)(F?0B5)Y'W.EP &04R>N\R>OX^?;\5 MTD)+G??5<@]G=:4V'70@N;U=]&(AC=,]\#R)GSY,DAD5^*! %'73C+[0R^EV M3ME*BN?E'#72)B1'LZ,'_% L@"D$>G.!WERWI[FL9-7[6HJ^)W[-L>XO2H$7 MT5=QOQM3+Q!0M]D$ #CU&3C[WU'@6"8K/Z.QX;1%\^/IEFK(17?8&4:&5M+? M#^21 /P ^'$?6M6Y *1>Y"FTV:\MV* M&L4:,]\)9B\&D(.GAKR7%!682K[C MT (0Y*4 L^^AS;ZSN68^%.EN=PQA5!UV)X:RZ8I>: P]M\D(2-+>#R?S) HR M4H!\/K)\GL\M\R$!W8[[S1+>$R"VJ18G,\(;UY&U%@MHI!7@4)["[C@7Y? 5 M+ M#F,1 M3XJ%:1*Y$P?&X2LZKT8Y/2>5Q*$BY^W,66 X ZOHM-8A,*:LTE MS1D$W1SOA_ZT1,3J!Y6,,Q$%W MOE'#50LBMDL7D>JAL.E%J@M]\)Q@YVR1!O !X$,FMY\)?#CSW,B/ @2VA5>+ MGHSVH&JA#)5ZSB9L39D8(!*_"WD_LR-?)XX O\J)L.V1@ R@UF423HZ@E.&5 M2FU"%*<&LBLMC7*-YM<-)GZ7N/4)D:>H]VPZ(-A L(%@9R!3Y8AD#WJKP6Y1 MK_-&E1DC^X%0#>&Q%DMVI'\0R=-]2XB;R<<^U^'"B%U!L M*6Z8\J^.XRLY&/XWL,M 1/MV(]IO[!>,-@&L_2"L?4O&\N$K!KXC&0O'C+0C M[V4BH[(.8@X&RC6(;UX]OGF9.P5P*.#03%X-&;OEN^Y+^R0OOC?RN?]^WU M MZQM=5A(SU5N(KN()Y X9EMKV&F,1;VL/L5'+9NV_=D/AG[!5O^\AN?JZHLNY MD3WM*_)(- .EJ[B#^$V_F['0P8SMB*XK=!KP9C)VIG.>BXYNU-\;4@$)(\J? MC0B?,MDO1 4.L:3>E"F;QF!O#8IS9] 9;B(J1)P"03!^Q)3_Y8/<2G1SF_A[ M\A]U=#P3C@\)59\,*RAKS:O,MAX8&JN&%W5B_DRXA$H>$_@+QSU6MIL0S%KR M^+0[:;78YKQ-XAS1D!&+^1W;_/G>S^?G^8/-]PJETE9I2PTC,'O&WJ.<1G44 M<0N>AX[VU/^55PZ[SXG?OR63/%/P%"DF7>BXLJ?8'Z%;W?."-VBV"*+GK4JH M 35=@2E/&%J2VQEEF-/NG!@:W(JL=H=0H=@8SG4J')FE:.>V\W%6T9/''T8; M!+X74R6Z)('_X:[]#U<@0R8=%4>""3^1)A;7@KXM'.CRM9;\C^"T=_1L7PMQ MR)K#(4'A96QO]7[]MW_UTH>_Q@^*R!BAAWGX)%3B';Q\]/3MT(X3^7%.ISHN M(+Q >.]3>,D*PEO0O-F !EK)K)>9:3B<9%)X;\\]&L?M'/N&K=W#!O[ U/7U M:F59QU5^8+F^MZ79IJ_V;M+4_5,2>,5.N=6E]SQ?ZFR7-4E7.BV?>10[]Q75 M/F3GX8L>WUC#U9;1G/;KU;ZS-GVMK#4;N],:$!X_*1(,?)."I/>)021SDQ-[+H[ M8*IW*+(?\I+K^/L9;VF-$C14M^M2,Z((1N=)+-V./Y^+'K=2HK]L%'/WG7=> MV;YWP$#6BJ5Y M;'^U*? #ORC5VQ._"S=["5D0ZG>L!,)K(+QV]?#:[:<]OQ+:1.D\UF5/MVR& MMF:: *:##\XXY0E()A ,#,OF!>Y3M^2S"FE6Z7"N%R&@F6= M\7C/]OE"+Y9,XGW)O(MX/Q-]7[POT8QL65TNZ'9.$E>Z+YK (WO7'MD[3^>\ M?:7BAV1V(\&LVZ6#6!Y!,,XS0EBG]AIK8:-=AU"#36O/"&@R=P"CB3R"'_-E M ?$&X@W$^WJM]3XLW\/Y0A7)*>UPEB^XU8X))I'Z/?D^_9B M,D-7$;W W;U$940_.AG/OT$?^\M.$@WT61E-7NZH+Z=9%]ED/XDMV]9TS*V"8M5J"! Z\)$-,=^<8#YFH FTR1@ MG,Y#1WJ1G*XJ%@@H$-"L"^B%;M:W)'2RZWMMVRU@!J'@%*97JUAGS<02&@^9 MPM \C:2C:?^^-[>7) 568,9I(A&Q55W2?6 0 X/X=@WBF]>P346EUS9*A%5("L717W6)=9SG<1J"6S)6@LCR/I MUD*@%P>0>"#Q5U17_D[D(6FQ;B@;AF";GE^'0MMB,3<1^4B/H:D\A*4])G^M MQF1%9W&2WM"28ZU<9:'8GKY1IBETXJ$M:/XG#H4M^^AG$;3JSI5[ZZADH:3Y$@?285OC,#=[Q!KZ"W&:H("27]G]$CCU/OQV/S4\]E[ MLYL5L.9 QWO0\?YV\YU>]ZEC$XD^ H0244=X>X^M6<6O;I?J4JP30@2$ATD8 M&)3'"# + R #0(:[2I7Z$#3L>"A"( E%C$!W>=90^N[62J AUI$0*D]CI\_F MSH!&]&H*1I(0= $-Z2%![R<11R,1EYU@;BJ9@+C_/I=->(5]9@+++C$A@['E M#P$;*O>;VU";<>Q@T>PZA.X5*_.>@"5C,U"(S*,X# K(@*P#6<^:WO('PDX2 MM:G>\V85/D!=DA$G;G^_280]UF)H* ^CO]5B_M<7HT,\PQE)2D0[]_");DP8'PG5W+B]_ 4.?XI,3&2 M:&!%MT5;TB-E,.E\%@,Y @#YWS_AHZQO7OZ,_GAY7&B7PX$3= I^OOB\-HP^86./GE&%0CZGY@,KQ[[T[,*DF*:_[RG M5;\\X5QG^7QT")8Z.S1%G.3/_^_U9GX8?@7),1WWZPM,OB+>,UV0!#$UI3!W M%=$HB&KT[5]%,Q1WWO-6*?@+3KQ \-?O4!L3.$=]@>C_R24_1LR#X@E-4D=F MB=O"*[(] W3!5%3_Z_,_>_DL =>OR6/_63E>4G?RU55,,-CT8,@,V3;;&0ZX2HEK=_MLC>T,ZB.VQ0T& D$C. K?S)Y+7*<< MO3U;SD4_19NOEZ/-E7,_]ICC*KF?=IF+2,*UV80HG_BBW+]B\OS[.RTO<:5" M*?WA$R_\TQUW,R^MVSE_X01>I*UZ^9RRE90(Z5:*>ZA=RHE6=,7XWK5W](8R M(LJ'P3;CL[42ULRU 0D_4R9F!7FQG",\Z7NB/>MFL9(T;&7JV]6V,&7(I4OPU:WJUY&Z@GAJ+UH)P[\NQ:NJ M.K0\#8;$0GG%]:VYWUEH BI OZY<296AO^YUUX8U9-K*AIIP1+0E++U2XK;- M[AH9K:%UWW1%;ZVKA383K4QM'JH8Y!C56A)/;"8\.?($E$?C9Z8V7U@-2'C8 M+%)LM2TWQ'*OPC34^)FIS8_V@M07JJS&%TK#5J-4&_D!'D8KTYO?C$@,9AB] M:>AAQ&#(%&-)AA'P]):&E7+=]*PB8UC]=8\M&I59)S*GB/1*'?(+M0D\1J!Q MH#R!@GE[URO7RZMR18OVGEY:#XV>,5I4&A"!=856 MK]#9C-A>;,:FEEJD"16757\&(8C]0C]IXL-4JUWQ"+4%'C2+-L[ MC)Q$3SUR ,:RKD,+OH6QXQJ/K8C6' UFT;:.G( N!36IQ(\,7K&F:!-JP$DR&$#&$D%&M8\'[%KS7HGT=X=A*G4"#4FE= MAY32SAA@([,>])*EJ7UUS4AJ#(0V^-*>V'<18X^WPV1I&C&)5F/ .9@"(80V M&BY*14NEM7AI:E_F?M0,QCO?AJKX>"1(2H^7][UX:7I?7@#P['R'HVQ96G?'WYX;6N$ENB1ZIFD[XHO*\_+T0^UZ_ M'GP!\1B-WQKASYK43U:>./<<,_!_M?).;7R_H_M]7*W[R9'R5ZYJY L,SB$3 MYT"\6Y\+#N)"!Q'';@AP$ADX">P+! XB"P<181.X)+)P$!$VT> DLG 20&W* MRCE@.#B(#!Q$!$W@LL["0:# L,[$.43(]&X",SB(RR$33H.3.-U)?#*5_W>N MO@MN^E6FV.OPZD527W^C,9XY)>LC=/DD&23'C#],1LG]X57U7/:5G>J>#Z>2 MO,%)3]^&"U=15J;@"Z40H_#MG=48Y MYFR\@F>K_\E)> 5]F!O["N "$??',*<"E]_X=#+',.=C$NS^F 0]@;YVU 2PD#?1U*9%$8'O1BB$/BV=[UI60!W L_F1#99HJSB,*U.VUF1A3B M&.A]R<*M>[:?OC&V:.ZB%_9NS'&=-?;^7?+\%8[VOT]NX&2@6= '6[&ZI#!;W1-6LNH)WZ6LG43+ M!-:SF?FF,, -Q>%'G6YI.R@NM+\8LY%X,RJN8\7-+^(=CW5_40J\Z%05MVY+ M9A"?%N-Y2O3_\J$7]:^-B=1I=T:/+&_,%_ VSCE\H5E8]00LF3&-Y4D\/8OS MU$9CAN3G4JB1+:P\-6J\GRO^>*B!OD8-]).H(1HJ1 ZZU-9HKE:+:H]I;$J% MOQG.J!IG33B_>= MFL8!,^ 3:!KDNJYTVHN2SI<6 F26WXG]$!D2GTN!QD6;65\<--Y/L'X\U/@K30-:UDW3F88N MM-LW#=/RT):A7ML^6?=6M:JTV#UG_B3 M?LA[(NZQM#\C=UB?3PFELN78W4QM-@N&[%-&[\K(W1,<7U<1EA?!HC?"QN19D,9J1P]-S^+8!= M;R>47%M(KXU=0.^ZJ'?M;>C:U]O[OC*'!NS84+:U =39 *]5%KS/ M&]:@3*RT\7;6\V+HHI^^47GHK-!U ]D^%W2\95!(KPU=;V0#79LLMX1=)U*[ MVEUUW:S.5WMC1V[6"F%O&[7=M;&+H-J#=D/ 2$,?$=4U/5LV2U888=?!VYMY^?=9@ Z3Z7JX#(Z2G\=P\.O%2VRARSB[+'/7,S#0T*N^6ZSG-U>#N9 MFZ2X7E[;2&T+35WN=W=35J^%ZT*EV# PAQ&()'>+R&/0^5UL&1*;2_K3'AQ, M,M;D)/-@\HO*MF(GC94.55$>L:0*M'+$Z0S^\]FSIP$3=NDU%%9I3/@"/-5[ M*B[VA[,P A,B A,DCYXU$?1!%9/$O_7@6 +TDK_Q7$W1;LA/*L&")V:RPB#& MKNZ7KFW%C46L.6#V*XXO.1*&3GJM%YE#HGECQPIM>U!>G:6))X MEP"8_*DKJ;)QD(G0HUN\Z$VJS:4YD#'DVGK)?BXC.*S12T@/L5Y0)?=.!]G+]KB=9HP3(,0)-4++2!"5KE #7!NB) MDHV>*%DC!,B0 "U2,M(BY4R4N('P^Z>Z1I8IPIZON(//V@,)VY?A/G"3X^(D<_<(@L0[L^6PCL MAEGZ#N,T+Q:$HYXKHS?;^P?QF2L4X8,H]Z52>6/AYM3G6/>Q!B8,-N]M [D# M[3:SB2QR$Y%4M?A]XO!U'J,P4 (KK1(HK1R1"W365F*[8,8 C59CU4FQU$ MNU#E\T%4&5LN_Q#4Y\R*(PA7JI-.TW7AD-57/DR9?D\(QHP 0XG_!,WC, &* MG$$X^_;"V9F3^W,7*7].[B<-4ER@\A;C=WASSJ)_ZJ,P%OMG/P:&4 ]9 MX_OT;:"89O0&^9RFV(HKFOG$QR'*EF[KGA\?ZD8!\2"03@+22>[#/_(L[]6# MM$< ROPDZF]C:)<;^).6JRWXJD@3\^5FP09S38#AQ%%"Y2$:))J 1!.0:'*W M'I8_1HZ64"^-#-*9L:)MV/2^I;">S\3($;M:\#P!PR %!:2@G-$A W#CBCZ: M/\:-(F/R[,P1:8.;3 =-IU3=+?X8 M.&:S/<;)@_+6(,:0/VL4&PXT2TR5V-V#$7D(^4#2Z^VGK3"6$[WO/CFRN#Q( ME-:![BIR3K>CD]?TN:GD1,]3?# " "2R@$26;#EJ7@LOI]:_2RR3".P1U-.K MN[[=J?$8K_--LV@5UR-EUXL@+W'0T""-!:2Q@#26K#M9/BWU9;=EU5O2:,P6 M&O9"J2]\V)HG4D\\?4,_$M8"5SU(8@%)+%=TD'Q:YA?0O.S#O<&<;U:*U8+4 M:=E6H,4R3S]](^%SQF% "DL6=@U26&[>N?%IH2_MQ8J^J3H5:+SLC =>>8D. MXT1U)'%JT.0'$M?N,H$EGD#I*IZ?Y*TX_D)Q<\K!,Y3[EVY+CJ7\.Y^SE5/7 MZF2;+-=-8KGVB(QK(^D;22[7)LO?M57*_>NFW2EU>Q.!1)PF6$] X04VCB#M M=+DG]XK%K R=:BH]JB)/[$UD4J&)(R6/'PE7_QMDNEPNT^7:'DC$^;: M9,DXO)S7;_,)>*'9$EM9V:4U-/ (36.-7:_18&)X(9Z^(7D(3OML3@@O0'GY M33K,M<7HVN@"=)?,.8@^ 2XE8CNF^LVMPBM%O&A3"+YA=UH,+O33-RQ/'.GV M=$)P 3DSO\F9N;8871MK )C9$S M:806/.I 1X'LN7F2D1R)7?P.>5\,5$E _KAN)6\=BM[XK1):7;HAOI MQX&,"[EM+@D9JF!P35];U"!DOQI3FT;7F'!A#!EQM50>AC[0J1.D!8&T() 6 M=%UGS"4Q8X8: 3,G50E:;]@:/BN,N@4O43,._AP2^4#5P)UF%:6]." $!_*' M0/Y0]KSD%W0:18#[7'9:5&Q%U8^!:C" 3=:?-$R>Z+.A,5J7A^U6!*KX(7T( M0]*V&T@? NE#('THT^AR">_21]!EM:RLFD5LT6"5PKSDK+DN4QLR,;H03]^( M/ 2E-3:0/02RAT#V4!:QY8)NJ(]@RQ:J$Y''H M(WG/]Y8[U%'\EXRA?YF.Y_T;) O]M4/I=F#R(E1Y<2AE%R:SX^._B"LIDOD? M;OXC2+DIEALD3^N8P9'8D$0#=J8BD1I&Q XD)(\<,?% QM!)G$4 .8XZB[*+ M'/?O&?H5+"(J1$\X@AKC9HM4>&]+\,3:#L8]>^?["RU(.Y='D62L_'E3? M2+Q #6.>8&R"QK943 !P9,2W\SO@P&;-$C]880.HL"D+7G-)(UV5B8'CX-%! M/H(<=Y@]="$, 9&X6YFD=5$W#Z $2(&YH5E1%W5D $J :^-VIB%=TEH'A #I M![B]NC=4.+>8N=&T-DY:BS==*@B<&=-#'(QDD_<-SLT79]_1K\ZULA5S7"7@)^ M.>)#B%=QW,A,L7-2X+J*+>UROBO:GGF8PBG*R^#0;-%+IE+$8SE]<0L.RH.@?5GJ"@](\4P!HK#_AA;'OZ #>8[:G04GU.' MXK8;3P^*?N'[KCX/?'%N*D.G*T:/.59[@;-A!RVZ?=@070M'BXS8KLIYEIB8C B MGK[A^/G3E($,@O#GU<.?-Z$<720_^=K*45U!-)RLZ08;3,;3">VVQRLG48[B MJG<$/7?V,Y!"$'.^?LPYJ[K113*=,Z,;H;URP7%V"P%JCK'QS.)7>\'18BR* M4ZJ)(T->;ZY$_I/>M-)"M+4XKA]QE*M$[[]7Y)PF1G\_Q/ASKA*=0?29[^3$ MC:B;,:D+T&$5!F?V7OV!\@QYM*W'9@2ZH_WK-LH5^A_1E7:\), B&Q M@PM4X3]Z%?[9&B]F%T"RHX= M*5"2_^ E^>?KL A0)"->J1.@2*%07CB5K1R/5V ML)":9E,R$+G)>DO,'>.+"*WAP^00"#IG+!(D:MW1X) K)W)=FU(/[UQZ MT[.EARH5E+K*#K(<'*Z)G<:P9H4Q0"6I6V<=#P!TJ/L9/7+=U*YK$^HF5*BK MIG[]N0K5#^8L-E4]AE_3$WQM#@EI+20J5.PV0\\^ Q< U%W,+[ERLM>U*955 M_>FJR6 GT)\"KCXUM=EZQJ];%E\Q*B,#]WHQ.AW2NSZB0&4\O>N?SW9Q*;W= MOP6T;SEM>A8: 8GL!!&S9A%SG[[]]YE3LZZP_YO0]2[B+CN"J"]H>LP5UJST ML/:N7&:MMB9VNS#OE/N1'H?$KC TCT#I3%B0B77Z3*S'0HQT%E:V$./^?5?O M@\2;>A56=7HU+,5:P=*+:YH?"$ZYVX!4%3L 1C+SA,#/7O67(<&X6H+58^%%.KD* M ,85W3R? XQ6LX;.6'^P9P?6XI>>>[JT6-JBKE1XFW$CQ1MKW#DN0\V/"7K1+K,^)4;)U(6 GQ9IU$F M9KEDG4@7&OV2#2K=873LZ5M1]'0)N#2OU$C@L1(,/M0QX+YS#LKZ1I>5).,@ M\91X KE#AJ6VO<98Q-O:0VS4LEG[U(G0R"?R#EC1M2,2>UW%'<2OF"#$]XP# MZ'O& 8'QAIAQ',G2R9]#]7G-4F#(Q MS,0YVA\SF6X_;Z"LFX&OR/<5.P+E\]?Q)EU[_[<#A-=P'3V+^A$HA!N5Q:K8 M\K:0:.Q#E=)=A%^' D)__ !_0F1KSI!6KHC4V5@N=5 MWMI/0Y):#X9N.0&+2WF!,B05H'C^8OZ=:V__=I2+:SASWE8NQI5VJP/WG3W/ M45A/JZQIJ5I/\.)"[IP,R06HG;^7!MG# WX]$( 4KG03X! M*)T'I?,W$0(?)PWF%3DG1B\N:DH\Y-&*;.R#*9T+O.A7OI.+-B0%IN@K.1O4 MVC],K?U9!N>"POH'#_P^VJY!8?U#8SJHE >5\O<2SLLZC4"E/*B4O_M@&*B4 M!Y7R5[#9LDB7:[3H?TXRX$-"U2?#"LI:\RJSK0>&QJKA-:>&O;ARF(,GIQ-8 M<\7EU"3CP.,"WXMW$!W!SS4A/_KV%^LE, MRI,P!.KH01W]]5#H!HOILXA"YQU+]K(4MLPX;QBA$ M)"@$4^G)KT 5 H7VEP(AH G]%09=9,#9WV+00E0MM.FX2T-7YP-L&2!M.-!B M#*(3#,(Q!)3A@S+\JV$0J,4_"0B==VC:WX(0TB%8ICB>A6R 3TUR*D%CV4P4 MH3@5'"7S-/H!>^SV,Q1 D?ZC%NF?RY%U;2+<"DQ>TVOU+/4IM#P"E-UEIXW1 M;;7-EWKNSBX7#'(XZL7O&_NMZ#P,X:"$'Y3PG\TC=6TBW!B<7,7]] DXZ>^" MQ0[ET2*D6T) 3=#5$A(3.+F8 RI#8@-J_"_K6KHV#6X%3*[I1_H$F*!Z6;(Q MUW=8!;6=+27"*(XG8$(GN@F$4* # .@ <"X?T;6)<&-H_A$MZ/O];_"U.>D]/!!_,NONA\]53I\$B:G&DFD*4>/&"A*3I0DQXJ>M(L. M\2#8'<=7O,./OI,K.?$+Q(4UT4^>8^JR&!?@5'1;M"5=-',1*_N*%;VCE_L7 M;XN!'$FY_._3T^?MS7\4J&5]\_)G],?+OY9,171CC%K\(^O>RA1W7Q-N>_[" M[WB4O$/T]\6!A##YA8X^>48P"/J?^*U>/?:G9Q4DQ33_><^5^?*$<_'2,_40 M[ >*/2,9EB).\N?_]WHS/]SW!\U:I".Z_*X]?O\-Z3. <]06B_R>7_!@Q,HHG-$D=F25N"Z_(]GP9 M%$Q%];\^_[.7SQ(@_YH\]I^5X^DQR'QU%3-"THWRRY$]'[COK+XBD7[[\WEC M\!<23QWXJ5D[.1?TU34CYA9N#/[_->1*1V4^$7$[1G7S)Q%__NCIVS!FP)RC MQO+KQV+Z72;$UW)Q7"*>29)0MA"1]L?;/E/VQX<_'TF*U(=?QI5Y_XI7Y/Y? M#DG^Y;]_.81?#O/'7?_\A8>/WGC\R[&(R1TD0"1%S54$%S!(C?Y YZ0PATA4 MD.8X3BLP!:.R_'0@Q&D.,H6Q;PKB\_'.W[AYCH!UMUS)#;@6/ZQSG4'^@,_U M3NG+?_YW?CC'PZ8'0V;(MMG.<,!5!A'3-&MS*9+ M7*?,=@9L.1?]%.V^7HYV5\[]V&2.BZCR:ILQ[L/D/[G#=K_3YA)7=/J2^L1& M?[HZ;^:E=3OG+YS BW1 []KO?5P=HGYH0Z_?_>>['48^KNP]0PN)D=A<%2F! M("A8P!0BLI$)A1 H"($H29(07)*>I4Q\48BIM5WLBCZ_@"RA,Z7P@=L6IV&L MS/^Z$O>M10@OFAMCW*C7JV)WO&J'FH (,/7KTE9QWJL5 M?D VNC22&MAM-) M** "^>M*;E>FW9XW9*!Q:".="6E4IJUX9?JAY9)>6.#T:F",O97LSFI['D(B MU5U X%^7"E8P)6N5/<:.YVUM(C!K>+;J"5AZ4^W=EJFXW?'(0 B^WIK-C36+ MA]'*U)LR$-3<<>N&RBMPB45[*Q9:C;5H)0S]NM3IS- M]>*'POBO2Y=D82[8=A6#UE,3Q7ULIV E)EZ:VG]']6NZB?-MONGV!7C?Z*ZW M:+PTO7_#JXMSUZS.(4[<-*NS,D'V"ST!3^\?*6B%B:!!(C2P&+<73';HT NC ME=BO*^=&6:BM93QD$=E5ASY3[MCK^)DI2HV;#82S!T2?;4Y5"=E6*7BW8**5 M:4I-UY4U-5T->$CQ)-07BFI[3,1?#Z?>=+XRN@@R"/=&"6-9S-"Z,B/'WY\F M*H6(DZY8]%R(L%8<6E7U(DPG3TT1M3Y'QGVDNT%90N-ENM=WJP53BRF5(JJI M3Q>(HXL[J%ELEEG%I ?-&2,00FI70HGWK-Z WK"*8-;DG5U')3:,5J:(ZHL3 M=R'B+8LE-CBD$/,!O8XV1:2)ZK?4PG@\0C2V2K!31*U(K1D6?WN:4EW6;,)J M8]F&.%DV.S-D)[EH_- TI38==]O>F<$4$@,D[/6V/ME =08,0K4V\J(F)M2Y4;E#'NJ%U_4_/TBM.+5J9>5"NSUL"F["Y4Z#L8 M,T#JE7 7/Q,F?EVJ+TH2Q-.:W=& MO!/*6R%:2J7WY$P0M=62E)I1*)=EK,Y-VE69B5:FJ>]RU75[.]\8G&H.>YKH M8%RI%ZU,"TK(#4V!X+42'[B0P=)<$R9[\4-A-+6I2LW"VX:XA];(SO6;#9X, M:F&\-+7_IK:;-91E6(#TL3$=K LB-923%TCMOU^M=M2J*I=X13,5U]GT:VVA M)]#I_1OA6*BZM6T)6M.% ;-O^X87O2J=WC]L08)L\\,]/V"\$J^10KU4#*.5 MZ?UCF]H(7ZX,Q=!#<8;)K6T7;VGQTM3^:_L]/ABJ%8PM\&4+@7>E8H.J0S:+J#.IB6+V(N#C3:7W/\:=^E*;%*;LCND&-60);;I#)GK3- '( M?0_%U.V,B9AZ$JD:VGR^G"=+4Q28JE9IH')H,[A[E#E M"7QNUP8H,^_'CSVBL,SWK-&WO7J)Y4BZ+]OKF:T-DJ6I<]!99S5W"<)@N4Z[ M:;GA?%NQPGAIZAR$M2L(#:DWY0.DPL/P6JG-(R"(EJ;IQ:WDP:BA6Q,(448U M<[P:47(G>8,C#%:K=Y>#6E\PQK1CC]<16FKU:"V2I@%3[\ =KL^MC:"%(VT5Y[ M"KS7XJ5I!M,V5G'EN5.2K>H]/'365H0)RH,VXD9; M0],$ZZX*S3X_$J9\U>1P>&T4UDLY69HBV*Q5[MH^%3 \$HQ;S@Y;*0[!Q$M3 M!&L*ZX*@$1)C%*IC?%W8]&P]@N]H:8IIZ#G6&J"HTV+7I.9 I,0-([R+EZ9I M2ZS,0MB7)Q#$]=7%L%I?4\HX>8,T;?OPDEFWT/:8C^B+]?M84!D.H^=B:1KX MZ';M[=NC(E0@QWJUTU7G^WI$ SR]M-%KD ZBE3&>P[!"CZ3GDPK;BY>F:!!Z M"-9'9PS/[W;$:#Z72ZH.)4]-;VP^7?&PO"U-V$ 9Z^;&1$)63QZ;WMA.J8WI MK;.L07K3:T0&=VM3&1V>FV(:?^,6VIL.*ANZT0WJN]VVVJ&89&V*:3#9:0W8 MC:&%S&H-H\FNEQ)$<)S43I:FJ* XO+(9S84^ M5!IO#7Q74L;E=1@O37'"E%.;D+MI04:)'$RW4X8K.FBR-$VP/;V;,;5U'V6Y M08>K[7=S'?4/:U,$0QB'5=8^(AJ*AZT*78O!M]U>LC9%,%'=-03<+3>AM54F M]HTV/E+PPW/3]WZO UM:&"'DN,[JU1I1VA?VR7/3,%YGV^9VURKH1JFG,>B2 M"?NX&CWWB.)7WN^1TM+OU:'=7BGYQ4D5"CO)TM1366K+D@V\,C36_&2QM]UB M4]\S\=+4.1 A%YITV%]$6N3<";E*>4(;R=+4.4P,G]%&RDACB<6J5IA::$=S MDA=(T\N*S)G24&9F[, SEJHVM .([B5KTPRVY'OVD/,CVX/7QTU4KDF<&ZT] MHB@B;8;WQ8:*0$V'7RK%4 YU3XN7IFA0[JU-"VGN,+X:;0I>:Y.JIB1+4S38 M]^WF5.LWEJSH#^C9=L"R_548+TTS6+.*2OHX+))&H3D(=@&Q@A@A>6R:P5!G M-C*PDCF%2I5*2,[DM;EH,,G:%,&PB+]YG<=#R(+T&2\TD8G03(B0)MB$0HQM MWF"(:I)%_' MVFT6*JRX CG2]+"\29Z:(AAJ=R"\:Y@R5&!-9CB#Z%U@)TO3?HWR?N2BABRQ M^K;?)/K3-C*%>_'2-&T;4M.FZ1[58*N2W6]IU%Z8U9*73=,6[JW+6Y;%>E@;$N MDS68@22T/P[CI6DW1#@WK7I-PMD2Q/ 1AE#=!LS$2],;\ZE2O01-&,*H5HH# MKC]0QAJI)6M3&QO()EZ>D>,:&Y#;@MW7K'*7.SPWC4J2RPPT2#,,HF4X9K-D MU'>MP]H4T_2J77M,[O9KB'.)JDQLU8(;V3C($66IRYGMPAA?F9$N3/>]&DJ4 M9T4M7IJB0M]R1_YF[,UYG:W0K=[,$@==)EZ:IL*J3D #@C9JT%BR)G6Y%,<& MDL>FJ6!VZQ5!ZFW7O+)DD1;;Z*E!<%B;H@*UZX]W/.1*AEA=>(W!<%PV-X=W M2%&!B$YXUUOB$[[ (H%K;H=]I1KQPA$-J%,UW#ZZ5PTHJ%-&K>^:$QS7XJ5I MJU3IB&*'UC"V"4W#U4Z?2#,I69J2!V1%$M)J.3/9ZL39.DJ_,_ B4QFJ5:7.59&WZ,J/&[&RQ M1;TJ) XKS'X'1[<+&:T]HEH-1:*'R?IPPU>Q&KZMUE2L7 KCI:FGBK2!C:29 M$;#!J-5%9;G<5J/++%J:.H?JMH?BDR9*0[L:UZ_VU,+8Q9.EJ7- E] V,K1" ME1^3P=+4I3;"%I(72-.KB^N+4EMQ5[S5W'@603E6?W-8FV:P3<6!T7$!S1&?D]8XLAPT%C0"_+CI&D]B'>K(T10.-: =.=3JH0X$[W]:I M%KLAZLD<\!0-)G-=$1:CLL1&UL!@"B^F3<)(9OFF&0Q"\''5E%J^@93*UG#= M=GUTG+Q!FL%F,X;"7&'J18;9,MA/(%Z6J:MB2#L09:Z-,LLB>$T:2D3EK[P]H4;=T2 MV49EL3-AUQN='O=8N;R),?^(%CAL!]20GE"249T/6M6FVRKV8[XETYY26RJT M^;TL,NQNU[1LDQ1J5"5Y:MI52HV0$%T.33ZRX,AE;5D8#.WDJ6E?:9NDVO-5 M9)^QU4B;V6XJ;-&9:\G:%&VUHFV4RPC5-JHE?*V4A)TOU*>*N^7YW*\Z* M(ZBZ&!?*<%%453%9^]U=FB1A?$]F..2928YIBBM/^?KRP^L 5!S\?P[\QY%M MZ1 Z_SG3(!V;AE+Y ;[[\JTO:2.'8-7'ZML0[ OV;KG&J[CYJ^<[T3-5TPE? MXE@O?R_$.7=?#WD9842$WR9$/(?'?HJXBW//B5/ +I$( 7V!\-]FW'TB4_-U MCLO?92Q^0=[-507G;=%+#B6:ZEC[[>2!^<"8 RY5]F"[4!><5 M)JA^QV21'#/^\/^>$/CI3RTK[ N"'R72SSW@X-4VE[257/(;+\?:LB+G!LK* M5^*&:XR2\#9#F: MW@7$"HC57\0] 56.9AL!J0)2]3?9-X!_ /\ 5#X=50[)($"J@%3]17($H,K1 MW 0@54"J?KAC_]0;"\-)Q_3+TNC,WE9&D@(K,,5D%.<<,-(9Y0L#6L];L_1[\[Y"\4%ZO+%6"AZMXN;\.=.E'?\ M7RTNX%T&F/PI@<+^6*#0+\AQO>=^*U-*CF4Y]J' 9. [D@'P&WC-_IB;NJ(N M%^HVX*&+01;^AJ5VOX@U=!71"]P=P*PK8!;]A;@WJP5D"P'S]U2JU,I5%HKM MZ1L%L!(P@_^3#R8_ <8Q7=B%%-_0Y68!K':\_K/"Z1:W:\V M.5B(KN+=,%I?A)W^'J7Q+_2C&2J,%6W4!ZQU;M9ZTX]ROZQ5$E=ZRE$.>.O, M*4GWRT_@%KP,5%%?L$=C+7 +7H:UWO3,W2]KE155EW3 6V?GK;>]=??+7"W' M Q?B^3GK3>?=_7(6NPYT?W=J?YXD*FV[ MXHI27'V3"VS=[ROJ_SWQT0_"P!=M671EP4OL%8$/"56?#"LH:\VKS+8>&!JK MAD^Y9&+[]O /&4_@5 %&!!068AX3 J^@B>(J?IBO6)%L'^0QCMXX=O17C]GJ MWO=5A_R8Q!_?3MA6$#L=GF3GA2++B=7=U,34?5C1GG*R(NF6:'K_]U1 GW*J MXUJB_W]/^M;_:@>6[/C/OW_*V:(5T?3Y"[X>3"\N\+UX<@]O-B2TT$@%-GJ>-X=>?WJ>-O1!$) GKZA5!ZAZ/_\[\^$ V)TL6K2ZP/O M?Y^E'/2&X8$?E 66%XBRM=412&PW!T:E8?$2WKLQ;'@5!CR\R1%PF) X4W>7 MQ-(HC:8CQY(&WGP61N" /WTC "Y'B=1& M<__*ULU[.9 X=NM&-(L>LB6KS VUKX7X"%V@$%QB:IV/7 MUR]X\6\ &!>J;;\7P/BU.!T QF\!HZ_XHFXK,BNZ=D08[QDMRE-M0&K5486W MEJO)#*%:-EX]L1G_)EK 9-#45JW!B"^-BMI():I;O!\[^V#BZ1M-Y2$LK:P# ML#@;6!!WJ5X0:01JU8H+1ER^&;ELU, M6]Y<(?8G-O+?!) FW5HL]Q!>Y0F-6EBPP79L/%$WZ*=O2!ZE2( ?E\./7SLD MWP=^I%L<7Q\_+N\7E':M:4G93$)#KTVV2J<@]Y;PB:V*E+M?,@=%9=;7#(NN M!"B])=JZEL0"D4BZ$2I/8^]Y_?\LT>"*W-I75H$K+41/R3EJ=!RQ41=]9U+U M>R+,>F2 .J0%W.2M_PGG8SEPQ?A1 BPDHHL)0T= G^48^^NPG]PP:P+7(2!> MY,>HV#.K#MW_R^O^!]_+T=M')W*8&WMP3[YK/^SI;KTZXWV#Z^N#L;B@%_,6 M(Y!QLD"TVS/>_8\L1X>\@$>FP"&#(%/W?U(ZB_P#&/Q4?O9')L A% [X^VZ/ M%\K:\69<#WH[VD+7_0%3KBBZT52MM<02.XJT_])_^CM]Z%+;/L09#3P8Z',(4GHQAJ!/WX@\1:?SKH$U=;(8[2,3X!#-S90V I3-4X<5 M'YD"AP D8/ [/=Y#W.N1*7"(D#VR(CCKSZ;MA3'O\Z+1=VH"930[R'F\XF\I M'MK\&SG&['9VDK M!TX(=7^14ZR5Z>P4Y7G%][C;RA3M&TT0^!UY7FK;07EM%CQ*EXFLQ2)QS(G$ M/K-_LJC[S/S=B/>/N9=8IH+5J*7=Y0N0.RAV%&FX*#("%4?92 QD_S]P.>[) M,.4V:G)/K38##L]Z?WS M!@0)W!3@IKBCQ9(SP.&@'NIT'/Z015%7 M" *=P 2=*S.1JYE<:%BD/0G*RQ6'Z+$)&@>&?F>#WEP-U:>"0%O%E?1#M96S MBC_W;B$B?N% SRU*]&-&=9)?<@=&9I]Y6S[6(PV9-(M4G>#9 DK S%K5<$_I M"70OB%G[/%Y'[*1N0(P@.$ P[-7803X])9+7RXK=\>N82E@L')@"CWBVCGKD4Y<+QA4PQZMT&$SYJ<6V,ZG@9[DN:84VA1I,L M$56J'UM<23NV]TRN>Z@N&2F>'WU?'"MPHQ]=7?(5^3FV$+/"Z4('V=HW*!L! M 8:7 $/_.^,GRY@P(D75=;QC52,=E)VM%1UB>&)M,TNV(8NZ&@HPE#1G0\\8 M9P!Y"*!N)%N@ C)M0#;P7=>-W#:#@]J%.SI,@%97=]@#!G]H!@>U"X#![YS! M0>T"X/#[YG!0NY U#K^Y5/R7N@0O]IG[S\U/W\[&]\5M\D,\%28>4)>+?I'R MM(NQR_$SKO;[R]S*6DK^YZ'XP:*U( $S8+@L3I8BQ&DL M LUHTY^T>@(,)V,F8)CZFX@NP.,;EOVKIVFGM@8&0222S\C+P//C]_'Z2C+, M=^C\.0! 4VXR:Y5K6VCI-/-0#\S(^(1,0"DP#^> M3I8U#@3)[8 %K\R"(&W]7C2A$^>MGU:#&:XG4W9BRJXQ[I +Z)R%>4RLN#_.=VKEE&W\LW*C$360Q0["HR"E&J14 PX'28KW MD5*=90?619O%O%(!A\X;WWQ< WQ=V-A7H@UY$4<,%'>C2\JAK*FO2(YFZV^H MBX,=WX,IV]X8!.*L^>D&:L$X(\!(W&.&R,/XW0R_ 1GPX'(!EPO(@ <,#C+@ M008\8'"0 0\X_-$Y'&3 /Y0%?+[ Q86MUGK?];I#;2KQ5;/-::I>YHU=+[9: M#Y.@WS=;;Z[*(":=JRPBZND;)6X;BRXA8.B[_"JVW.%.'JFXWO%GGD+/X0X@((]Y_ =?U'5/_Y)1#\#GMWZ,$#A& %?@ M.G_?_P[DXS&/_^!Y!_+Q._=]=N4C1;%LU_+T%5_4;45F1=>.NQ8\YT!T@\7> M*HS("DL8P6:P9/L;;?GG.1 _.3GJMN182D?Q.74H;I]R7D3'Z'G'>K"N2UA] MU29$J+E&.]ZBS];J,B/ J 33]]0&OVK>AV 0K\)CSR 5?$<*P%P(>$?QGA%'GG"6)<1F!+0SCL M3"=X8;Q+=(TX[$2CZ?D0=U99\Y_Y3]\0*C&C1.]MRM$OBZ(93Z7V\KFVZ$J+ M@W2@O8OBF]/W'6$\@5-/.#.B02,3GPC-GJ&,'+XV<\?P MN/>W#4:XP/?BO>EQPX(4/%#U,KK9T-6F0; H9)F[=D,=1_" Q>,@4"I_S!BY M47&X >7A\N5+F2?*;90]G5BSR#JPQ(^.ZWP5USN\R1%D<8N5<27LXJ@Q4"N+ MW=339(;78F3!G[X1 %3N-ZD_\S1YR$JSO\.4]TO+R%5ULR5-=&^,IT.((OX27O7DA1AT:7"&%^HIV\8!4>J"W0O* /JP#*MR;_= M.(PP*PSJ>:T)OUXWZJ-"6U$(_B^FP'U HU^M<-&JCO$VBP@65;)F6KTM)')Q MZ >8)ZF[D8O,WS3@]KV-4KSS.PMO!6&.7;UO.AJ?+M0 ).O:]8V9ITD6ZR*SCC9O)$\4BLU%8Z,['EMH MD]9@/]H9=/W$6OZ;4-.'NEK%6JT\@YBCC8$"<[-9HY= #?'TC:;R&)KN= R0 MYHX*33-/E"P6J&8=:CZ>6&'CG"LI=;IN[-2"&8:5KM;1F0NA#V&S] 9W6K"! MS+M%1APA+8TY*#KTTSG.5O77/ M"^*DB7A\F)28HKDWAX)Q6<<;V=(]\ YY]E%OF*7 7(^ @[\;3'AD M F1PP-RY4HI/<56^'[.W<+/1G)>7A*&74+F)S,*".?Y+>SI];8Y$,U ^>FNN M5$TMMB:#D3&VAA3'DV61Y\/XUHP;NY+@VCR/4&5N0B"X-&[GTGB<:7: 3\\> MN[P//KV#B6N 3]^/?-T#H][%7#; J.]'2>Z!4:\^O>W:9I^['8Q8'-U5#!%9 M3MJ07JSW!W\9UOA+4VV\]*7&+)C76*6HBL;H0 329GIWA%CW/4G/]!W"Y]'Y MP0*_ETEZOQ@+WD7R^B.RX-UD&&8PO1PDQ-QUHG/&X\MO=QU:>ZL6BP2DS>K] M975(-WKD!/Z+.'.RP;A*H>*X0W$[_J'"11\ZXQG(4"3!Y:GYVQD_$CR]7#ER5=/3,]19'SC3JX*5AY->R[KR0]1H;.GZ.+ M#-M!8SBQZCS"5::%;8^IN?'4)C)I=H81YVP_],CB=>[*@,P3X"XJ"AZ,F4&M M0/98$$ LJ!6X?UWLQ,4"I]6A5HU2.&VU^04O]OKVF""&G9K6BW6HN&S@-SK4 M/10.)#IO81Z3*FZ>])U6.64;_ZS<:# 2U V<3CUZT##RU?+3+QSAN#_>S1(0 M98:=,Y2YF7F:W$9^>I9=:A=M]?-*)1PZ;WSS<8WP=75I7XDVY$4<,5#6Z,5]B5OJC:Y4A]I.(&07B>)-)SC0&.G3.: MEG69!9<9N,RN$@T"@O'03 FL8"R!R 8&2E[R#Q10+D$8 )0+G%]#K^70,V% MK7*V; 1;ON;V#:55,0I6K]TWXBF 5!+4^9U9?G,E*3^-*,KIR8RBW+],Q_-N M(M_GTJ$:QY45MW!8_!5>;7.>8^IR[K^@Y+]L 0#(*3AYJZ'K'7_F*?0<#P(" M\IC'?W">7??T+UA7 _C\YH\1 L<(X IQUE M68!V?&51MF90R]5[ DPG0]KA/ GAH ;SC&$5@#Z_B[%D%WU2%,MV$>?'![<[ M2+@V3*SB0+IAE^NS!>:+FG8F1-+?FN!>\KQ*E\$#"*K.D6Y/J>RX8'Z )OKI M&XH0H'KSG&&M!W!S/,>XLHLPU]9O3ASP^IQJ,@V[2VK9\!BHZMCHOD\5&BTS MD?\X2 7G49*^\YDE_YG_] VA$O-']-ZF'/VR*)KQ3'^VU?GO-"T- :CD84O+IP<+;P);W*A19!Y;XT7$5M.IZQSJ'=3FR8 M#7(?FL*^-JI-T&F#LHDKXXM2;C:B;]NL=(D=& Q&4(=]N1_C2_'+-[Q(/:#( M:Y9-KE &#-G)M";_'W?8#OT>AYBAF0A#8> MZFIYWS0ZR&CCB,F]FS2#1!XH^HH-(<%- V[?'!8*7C\(D1>$.7?UOAA<.!R@ M0[E?[Y?A/5$GNOU=Z!!=)L$:+,(:@GB B^DAIY<+, #) M67.:R^S#K:O)!B M4>TL F46C&AX/&']XHQK:[;[45!C'&I#EB*K#8$K*>BA7:*FM+A,H(;\\HTF M'R@LK=8 I 'EK/==SIIUJ'E_.H5%+T>K)5;:PX&\[8BSKB42RS\<\?YN]$&8 M$M^?5@.3)1L[=H-CUOB )LZ&)(OB 272"5X ?&ZH8CCS1+G+2N.?L<=60][2 MYJX JWVUM^?FBHQT+JRA_ P-]6F5VG5*AB^T-H<>U-$19.3O%PK>=Y_D5G^AI;'A>$"=,Q&/IY,0.+;PXE$XU'J^IIA7,::5=P M#,G*0X[9/4^AN^*$'NI)DA1]L1!G@UYH^\EF6(8A:Z(C<^O?S_].'ATS MNZI$+QZ=Q;$AP-$!RYX8.UGT.*FQ%W&U=P8?QE4#WHYJ8A6&&+S8L2&2Z,?^ M6"3.L"A>L7'?/=^&8#P@J)[*!:."(8*??H?]#3+? J&", MW(TS*A@C=R-6W&R)!=!^O6D(7 /93>8&)6W6?QAEO(#EI74PI#I@@CTK<69% MGT!C$6>.3D3T;=/K-T(,VH82_]]Z<^&5B,-2AB2ZMFY3:54Z@G/O7+17)N07I!V4B^8C2#[RR=+&/"B!0UU_;.58W 4V._*$_W M'#S&S#I)+SN59:N"CMUL$>S.4O1!+!)DC8.L<<#A M(",PMUGC^69PD+^^+3?=C9@I;4;J\WI#U7P,(HZ\#SX_?Q!FK2Q7QH_SZ^T"V_I!P: M4%4PBSS1PNO8IL>&";Y@<9=Q&@/#5$#N/LC=!PP. %BPI]3 M0_')3/*Y-19 0H"$O)5;>P\"\F*-!A"0F]07P&$#- 1H^,N5"$! @("\E2=_ M'P+R0AY]K@0DRYD) ]67-$M56,FUXA82IY2$J3='[;VS.PB\$!8I3NPP2_?W M4Q*>>5L:B;.EJ_K<8BCMSKBF'-UI$FU<0&"^OYOWX14GR.501$D1(>-AG"A, M@D+ SRYBN ?X>;'( <#/I1*C9#DP@R3SF_-7JGL&*$Z(-# /RJ+C5KHL'XH+ M>5>VB$;M]QM)_QHBR1"I0.T <5EH$!H.5JYC&XM)$(G^\@UY@&$,(-)G%YW< M R*]6)0"$.FC0G:_AAQHT-I C>EB*?!LM210!@HMO 0YCC4I*$S_49CMD6$R M4I7RS_S9-X1JS S12QI*],N29,1#QKV' J\Z?@+K1\' X(?CA_B\_OGO'&2% MG@F[/1-P+!)PQ0[FAIIK"?^%QBB,)W*+"PZF&&_K'1@.W"E,MINM@6X%J^AK M_[ #"A?X7KRWB/AGL.!@H:@_[>\F[+XZ&LKK.2]WQY%=0\4S)[#B T5>48NX M;Y4AB4E^L@2]1J'_N5SP\19QXKV:0-9!(GYT7-BJNM[Q3;QQ86U"B MW+)[\*+WAY.NWL**]D*M>3O"K+ HQ&(09J^]U: ?8T7QRS><)A]0@L@E8GQT MC/H6A>+#E.N7NX$=_ #G)T2]KN]9R_$'!VVUA\*K*ME=UJX-L6F7@"6EY7JZ M+A_$;2(2QQZ"#S2<3Y$ EV@6+M%3R#[#>)':]L5[Q.0%+<[=H!')HL>>1(1I-K%IB)!P7N![_'VG)[V K-Q1!(ZR7HBTNW/ 9!<,*/@QH'DE#J0 M82#YX86"UGG)A@^-G,=_75T5G,CV485Y;ZCRE'DS( M2<0<32;/PP\XF6Y3^5-*P']]*3JS2\GFDS.1(_14W>-/-"N2-__K<^E]65PC M_HI^G0K['__I]\04]/U"_<>;*[ZY-Z3XZYM+?O0 M]E\3=OSIJ+'D':._KX[?C$0&4/23$^3"\/_&;_WDL<^>!D*V$[!#AKJ(SN7XSQY_EJ#RU^2Q?SNVEP0\OKIQ<]Y(6_KIR$X'[MO.5S32 MQI^?-QY9]43JP*^B36 _#N,!C+$DJ\GLQ)-,2$_EXKQ$G$B24!:*2/OC;4^4_?'#YT>2(O7QEQ'WR_^. M5Q3^7P%-_N5_?CJ$GP[SQ[U]^L+CCUYX_&6/)04T+XH5?"Y;[!7$^O*M5ZD6 M>*XM#!MI=^[S]0IMYY<4N)LBDN)%F:XP@L2@N5$G$% M)D5:E5%1D>;SHHQ@F(P17XZP)CVJIY+;M&K0C$!AU2)*18]V#,'NQWFU/Z\D MBRX\P7DV9,?3^E >SB;&OM0741$IIAXZ[Z ;9\=5=+6G]?1AD1^/!HR(B=3/ M*\WUR+9:*@'!9'2F9)<>2LM)/UJ9?BC4W5K2N#A?".69N&M[8Y8<;N*'HLC/ M2VN]DB<=JH.VOK'8QF8J#E9-CE:DW MW9<8JKHDYP2[MY!:;URJJ%4E7AF'&9\O1:&-II?MD0;SVQH_JW+8H%$*XZ4I M\J\63AG#Q'4(I-J7Z';#45?2Z4ES520%%$0[WX3<\0=3#LTXL: M-Q!4!Z+"Z7J&[93DJ2FBFD0YU%2I,1/&U3*.: VMOM@GE$H1=;R""<7<"HP> MT*NY)7 'KTWT15),[6JX;PM]NSOKZQJG>6TI"*$ZS40K4T0M-;5FL]/8KP45 M'6,-DJF4%7X9K4P+"MJLJ"M(H& 5YXEBJ/%&!PJCE6ZHPZ6YWK$E9I3%.- MA15O/TVI<+Q;LEL$Q_6@V*D,.V5I'H%1EJA MF*2^/5]IP".Y.QA7YT)TNXQ[ACV7@GW\S#13M>N0:^W678(=4ZQ:(3F](4?' M?PSL/5\*NPCKS39<60@J_7(5T66$[25+R9^7=FB?M267 MXM%;]Q-5#\C\(%M% AXW\,F\/MIA,Y41B^G]]RG>+O8V^DAH+;?-68GU-FTS MC%:F]J^MM K'4((>02HLSGO6BA&D>&5Z_ZUE:>T/);,B<%!M,*$G\+B_2Y:F M]F_V2DL=ZD=B91Y(@3C0N\G.CM\TO?^#7,/J87E+Z1K1&G?Z[LY;X_UX:6K_ MNYZ[/BQ(>2!LJ-U6I63=JS_'!2[LZT@<#WF&AE:O\U M0]6FZ+)5UZ%F3ULP"VQ\&(;1RA2CVM)*&RE-G1>X'BJVH2$S4Z)[BCY#J4&W MHT:,A![T13G7J997U%S=Q]^?IE3@U>KC MAM#OPJT6L:R2?=1T!LG2%*7&4W(H.#UOR$I]/ AG+L:$AW@IFI+JV5JL5OOF MT(,A2RK.IM/^U.Z%T:;25%T7#PW)7W0;NF:@RR;;47:E53]>FGIJ:XMV]JXS MG^KC]F'0&(?LHE=)GIHZ <\92!M''R&L-#/AC3%94.-E\M34$;2(T+);""3! M&M3OUW:*<^A,DZ5I:I5QA9);:HW1^6H=DV5YW!VWCFM3Y.*Y\7CH#+F6H-7G MQ5;8L:A9/WI;)$T#M8'1HEKG:BRI;O!VK>E-O&&R-$6#&L&1NX$U@O26 4/" ME*X(TS(3+TW10*AJ0[D,89!@;@>,OC7KF!+TXZ5IY@I6YFH[7?L(6[:JO"D- ME 8D)H]-+#9%/T! MK6L3@W-A=AV]]'%MBF!]*ICL9]:48J%-9VOU*M6J;R6OFR88V>D4*WMA/(4A M;MEN.PUYO&LE:],P/O?L/MI;+4TXX YLT\"0$E>,UIY1(Y=0FQ>"<4#H94'% M$!NIM:WN,EZ:>FI1HA=;W=<&L 0-_,:D,U96=K(T=0Z3TFH2$UJUU$J\(1OW2[-<[S;25Y:II>9 1+>W\*EW2M 57:#*G, M>21,UJ91J3R5^@3FMH0-39>IN5&1M7[T"F<4Q%*QUC):'C07-NL5Y$,ZI6E8 M/UZ:HD&XK!G;N8*T]3(=5-20M1M+.5F:HH%#ME>C;64F">84$Q;X[J#L\>0% MT@PVZ2'Z;L4?IK#&,>TN!W$#&ETF:U,,MB]B-"%K^$X?+\KEO;EAX;9V7)LB MF,2VATR]&0:L%)8I9]W;L3!V?(<4P5K^UMHU2Z6*(&V6ZU5=+LZ]443<,QIE MF5MT&*9!K76H6N;TL#7D>6,9+TT13*PLQ7EGW-H+M5F@=+8F,1RA3+PT13": MFW@"7]][K#38K>LEC65%/7F!%--4M-*HR+>2-TC3%G<7B!)6, $>A_;<* TTAV"BM6>TRG%M![&< MVJ5A7F.TANA,.FLV69HV:_:SI5322H<9#)G[4B]$V5J##$7TC%I5[[2:-6.* M3UD(ADHZ,F5'ZQ(3+TW1BV!"I[1B-@.6XT?[E52BETT]>6J:"(AI022WJKBL M64;13:M3#-#H-HW7IA%,B8!QSA4K^H9%ZHI^8%UCOTS6IAC,A(OX?-I>DRPT M9R;^H6W)>SIYW32#5;RP7"IIM06+!F-ET;6GIK&/WN&,8F69E>6HU2$Q-I#) MXFHO= ;PA(F7GM'9^5FY6_4#=APV.@>C63+%:A@O35.A,>A4ZFA1',&M1=FR M-CX6ELSD#MV))")$O3S&@Q9LU@)CJ[X=&*8=-MRY\OXZ5I M@H4CRAH<.+FC;RJKHJ,M\!&))(]-$VQ1[[9='RXS^J8QQY"(.8OU$9.L31%L M[N^KS(@?N )*6T(7):EF<'S=-,%FWJPNS1?0F"67FT6MV6VCK),0+'WQU MP.V-'FCH'I=T;:QHE-^#-88KLG8&]J(Z3%TB=0T= )HV^ M*PDZM*@O1I,:WZ;AY 7.X+@]M=UZJ5]E-;_#"T);6&A$\@9I>@W7Y*9>'.]] MUAP$1D/M"3.TTX\'5J9IH)+;*D_7$+A%X:A2ZQ=]9<;$2U,;S066+S,I"LC2]L=*VQ5A#>+S6^3*S MW**VN#+=X_#TM 94%B;JDI0Z ND7=72BH9!F)X.@TAN#];';+UF.@"Z8:7T^ MI@>BEBQ-'ZY3*HYVILP*+04E.L9;PT10.?Y\)%(%=; H1PD&[Q^G94 M2KJ;IR5'(XO%7=<+?99;K7:44II)K4@%0\^IC,.A%Y'1URQ84\S&T(&+X]KQ M;=,$0Y!%CQB)PH -*$>W":FZI\+C.Z0(%IJ15B'MMT,X@*;LRIYI'C],VD2D M7I<=P[+J$N6=P.VEQ7P/2X0A)]VQ4@3;P>U1K;^M6G#-7YHZC#3A";^,EZ8( MMJ<<%R]KPXU >CI9-F?$M!,2 J#4\:.5 _:8:3>EF] MX9=&G?;(93>09JU'X= (:\ECT[3M]7R]'D"> $LFOE#1NC$\L$EF3.JQ>XPZ MK/9M+82EHH6S>U%%]\=]MQU?>/)0 ITC9J5& )46ZXI.F(*S.ZY-QU1*D?HY"!$4 M-MM;<\'C2PD=,\G:%'&;S37GZ8:SU@.;V\]IHN?3P;%'P*-?-4F0^)YH<,SG MDFW#D!Q/_?KXX6G0*0[,GX+R<=19/H:UGV&'3X&O![_#L6I;5^/.1-A1(0WDQ5.:2G/HN%29'X9@7^= M:/B[\G-^(&L0-3@( M $WW=1!O3&\%Y_!A2M/KH\?!00!DNJ^#>&ML.#@((!'W=1#@KL[&.;PU*!X< M!$"F>SL("IQ#!L[AV(T'',2G'P1 ILPNGP>CY9T.LFW$/_R_ M+RCRY7=-&OPOE#A+E4\<#G:^!].;C1E>Z'_PY=MPY:HJU(E^L2KTHB^S%:^0 M-&M0"UW-4@O);[P":RFJ\MJ8*>SYF"D@B$ 0+S"CZ^/I\)9L?3IE (<\FT%U M]W0X3:D"D@(DY=4Y$G=/AM.X)B H0%!>GUT$. 1P"(#2=PSM 8("!.75"31W M3X;3C!H@*'<@*#\\CK_K<$20I'/TQQ+ET@[%)]-!+CIY_I98Y4^B=H .I\$; MMPNJP'D.@ (XSP&' .(\'\D VCEP'@,H M WZ6@ .=QHITF\Z2!8GH])H'_@C_8I2XZ6"A55?MJ6#OG1E@Z]F@A=GQKO=N_1 M'^7<2SNW/H8GGLA&,DOWR?<5L.A_\/%_T?<5_M%VT3M;55>2XS*'0F!I_D!= M_-\7(?H@\KYD*9*KB%YB%HA"2"ZTR;"*L>:\QNP:@;YD%^&70C+2=W?\AXPG M<@L1044,$6..$@,/6DJ2$S_,5\U(5H_B%L)O[B1, M*G8#H:9V( %EU;JT&8X7U+#!,%\*BBIKIF1X__<%PKX4%K9K2O[_?=%V_EK1PN,#WXLU%I(^@,3K2:$7TE,=!\AN;9J"3/1S)OI/HEC'-SDC^TA#K; ]7*%TM-.2_%*(',@F(R8S MZTD@]A]6[9-3J4^WS0-2_ZK4_ZBPC)/F&M;)9WU"@(DBM5&\) 8L/ZT,+6FV M1I3=\KH(4-6WFR;>ES%V/ZGM)UQETFL@RP@!BE^^X7AT_2,$P(&/JPO-J_Q\ MG,[\F">8VU+=FK;F@9O M%JM.VUSB1%ON1]*#P%^^(<@#4D2!](!;]%>+7C\=!6+)_W>VKLZ/D_MSUV9$ MI.@Q9Q"@8= 'H>P[BL"C![$.*;*D[1($P"($P+ '"J93$/ ?@ '7*@?.+0;\ M7,\+,""- 0/5ES1+55C)M2)*>"< 6-?(:M-@IAM8;=&[79N>"HWN1P& NM(' M#LV+>Y:K,#W2GVCJ?AV;T @9 0 \%T MPF+ %1-0H+]\0Q\( D?V@LUIY"0;F;ZZ9#PT>XUH]+M]C'4VK$;?U&$V\ZL M1X87EN*?A79:CYJX)J.H:]5]73"B=PY97DJ07' MD*R+(=9';OXQ@>1" >_(O>.HJ@2O%CQ(1,1%'3!S:(G:23>R/ UZFA>QI M>D>,=+Y3'.QJ 6YXP1_*=LS:JA*]>'00QY&%1S<>>V+C9%'OQ,2]B(>]OY]"[LULZ#GWG4O*/P>[L2'Y2I(A> M8F=WR(>)%SF7;'B,OF:'#2^L"U[T]GD]\&JY"-2$YD1#'R/KR>) C4OMT<5O MHI%D!.J+%]&9>VBDE5:5\;@5PAO-0XKX<%2I+/K1/53\\@UY($DLEU?1536R M3 D$P.6[Q.5C/ ^PX4VP81)@RBD;QB$EP(8WPH9D7N'P&-@ ?'@C?(CGE0^/ MWO3L\.''FDM(HXFN!<2W60VK;HH'UK+GG?ZGFSA2C0U7HZV^98-IJ6Z-5']H MEYG8U8:^;>/DLFSMEYSO.]65-2]9:SOQS[V<1@FO[8:_A2#9?7KFDU]R1^9F M3_RNG$$*9J!6;:SDS(7-=KSE?&HX*&N,6!23H!S(LKWI$K4+N^XSC1:7UD_O MG8&SD"9^89]_IOD7A '>H2._]]8+0GH\\#6ZJ$/N>-;WE$BY+H;1K5?\\@W# M;Z8TZ]HQ@4P+# !\ /AY*@X"_'O[-2T7CD( _KTK_LU 2<:%PQ> @>^*@3-0 M0'#AN$>F&?AF0R'O-?.&G;9'.M,2+;2";JV^VRG">)\X-]&W[+SLEQN,5,^/ MOB .8KC11U>3?54Y!3WBD[Y<3".7\@GJ"'(4K1A\9^!D&1-&I*BYMG>NC&!@ M;7-:@CR*@>>5=\F-]\U:S5$>2( M#4$N>P8/!6 #R&4'; ARV0$;9I4-02X[X,,L\"'(9;\6'^8R-?LQ5]V+797^ MJ=_DR]G9OK1+/L3]9.)N=(7H%RD'IQ1[B$#6=@ZSMD%4#202@T1BP,"WF5>6 M@T3B?//O7:>T9CR&^'(O<6,Z6,@F6^VSW(04^GR]T5G,_R W(-E@G&M>M=VA MM!O_4!>C'R2_+44*IQ*_IVIYR0[/1!+E>L@PS+1JZY*S9L?X6+2;9%]$X..< M >R*C6 Z-\0Z&CRZOILL$,K OW_ '!$[73((6Q""%&Z1P _X%*=R @7//P""%^];T MM@OG;5]6W\*]11-J'PXPS.E[?2["2TRUF%C?BE.XW]2WLI_%G>B_T#PF1=RW MYCLM"NHN_JSF(09Y/TG<(# ,4HH!'^:<#_.;-IBUE.(L.Y@^M"?)$Z5G:+_P MS>=UGJ>E; ,UVI 7G3VONEM-5H\5,@-5MI>6]H*"='!*DY&LC2188R<65Y[( MD_TD4I"09-+T0[&(Y[(@!F2 9_!0 )2##'# AB #'+!A5MD09( #/LP"'X(, M\%Q:6-=S!7^P5607W=FV5=JRPCCLUVFS5[?+5#^VBHYNX]?-HEQFV3\;V5S0 MDIG-.8U[?4)^_-QV%=6%CO_^*^+L"IYM:$KA7W#R7X80 80T/RA__I-9XH/S MZX$ W*L O)2*>9/\_V)^/N#_&[C;P=$":+M;:'LQ"QWP_[WR_TOYTC?*_R_D M4^>'_[,<3Q^HOJ19JL)*KA67Y9\"Z0YD'JB.8HSA(%2,$F%ZM4KX^X'T9UZ, M1N+$Z*H^MQA*NS-NGDU%I!;5>@]AS65C,-W8(X;9,R*"B@CYY1M&W,P@CRQ" MRPNI[#>)+2^FN@-LN4BNCBP'9I D"W/^2G7/H, );A:[#=3?"F9/( 7>HW<$ M75+7S ?!C8(LA":"6*I :OTJ3TQIV,#Z"=S07[ZA) 7@YL,+#VX2;EXL3 !P M\R&!JU^#A1;:@QLJR2JPBJOL6&$5FG$3+20.-I$HFNLV\__,GSTR5..#C][* M4*)?EB0C'KKK/10ZDBNOC@* (0_'#_'1_//?.4@XS%0-P^6;2#">R"TNV'G> MKHS=B;?P%BQ),TMWY6SX8N4M>HG82, MNF$8E$,1P>*N\ACU4,1 8_F<5(%D;\M9JQZY\-V<=?&/'QV7'JJN=WR3,_+/ M&;[;'S3\@=XRG7#8] F3CNL,,9&(KG @^KG(UL[>CF^\8.?/)/_U"IU!5>7D MJ=::PSR&;5;HA%B-AK]OZ;\+!>HCF5[WIR+,2HO=F(*:_G;@)R@0%],0^ ,& M7]'&SZMVFT<._S#M]N4^1T5::7F0K5&Z*D^,L-^Q&#M87E7+G<^4MKA;&T.A M5=OY(T/@?!I*M-RDX1GR@"%7=)G?%?+?WUWWV15-?U^A=49>9/_5)<)"F!QV\/(VD7@*W8QNRNIN'9I6/9V_-DE M9=G#@1="YV:PG\R&*L+"ZEJW1739JM?L/QR8^FX0$)H!9:^W+*.;EEJ1AC8I MED='$" C$(#A!XI.ZP( !+)9F)>]+7]V05_V4.#]06ZE7>FO2*7=$S;-U=9' M#%?VW0L[P%X$AH'/B7"$326]14]+-9.1N$[]:"/$0>X'M)ANBPQ@(9MUDMG; M\HW75_Z,$..^W%JSLVY=;Q6YEE@QB=)^?F57]DKS&"/8^BXLD+&%-0NXE M3JPX'(TBV ..7G[R^2=7$<2#I>-(=#QB2$XLK<*+ X;4T\3X>*U]K#'-:9[. M70\2NN(P!/Q)D@DI8O!EXEHMKMNFM)!7V3'&3A0W7)C,[@^-_I<&JC\MH&9/ M_*Z<:Q]E!":J5)8U&$*GI]KQCW OEL8&H3*"W),0/?U "/ M'$QMNE8^Y26NNM<#NQ7JXRACR=5TM#:(3G9_:&;*WWMC20C4-][Z\TG M&WP+^W&U+J^W%O9N_9.8I>&DE,N4# MH[<6;987G:9;KC&)2/7\Z OB((8;?70UV5>54] C/NG+Q31R M*9^W7W5W0]&*P7<&3I8Q842*FFM[WAFA=A"-\!M0=0OS5H6VZ/YPO%TO180X M5NJ!].5\5.F!64V #S.01G\_LYIRQ(;W4ZV4HT,!V "&_P V_(0*#S#\![!A M%FH,P/ ?P(=92&J_G^$_*3[,96IV+W#EE>1%_]Y>%/Q32>S+V=F^M$L^G(;% M1__*2CLXI=A#!+*V@9YYI7;7F],+1_ M'S&:UD#:5-N\JIMLK:?OIV6763 )8F!?ON%D\8J=$>X=,T#^-M 3\\V_('\; M,'"N&1CD;]^:UG;AI.W+:EO6LM?:=]H!)9C*9#(JS6I"45S&VE:=7=:K)Z+(X9J+*]M+07U"-M-JA! MZL(8PV4,';+=X8"T9$9$J&18Q0-)I?6C/* &2/[.X*$ * ?)WX -0?(W8,.L MLB%(_@9\F 4^!,G?N;2PKN<(_F"KB-OUMH;3919Z;3V:#^")N+21Q"I*G,9O MF$6Y3+!_-DBBH"63) K_-FS/RVOVP2=DR,]M5U%=Z/COOR+.KN#9AJ84_@4G M_V4(&$!<\X,RZ#^9)3XXPQX(P+T*P$O9F#?)_R]FZ /^OX&['1PM@+:[A;87 M$]$!_]\K_[^4-'VC_/]"4G5^^#_+8?47IMC6IENSV6U8"KO16-87!YMEW_O] M>/J9J9A=U><60VEWQMNC8SMA@>*]D:#R&PW62+=972Q%I)A,L24?BM@5Y]D# M<'DAH_TFT>7%C/?LHDOFR\#>/Q)WBC9TB"J.3'C<4[?*OK/!&9RY$LIH+\W& MG:"DN&RUIY*PGY4/&WS5DHOZ$6[H+]^P,QVE\^J!S2+:O%!^<)-H\V)Y0G;1 MYJ8"6+^FAC#]$-N/]L.2SO-.9V4O%\Q6"6-0Z$96.I1 C#XX?@A/IM__CL'F8>9*F:X?".)X^#K MRW6?+\E2AVAXS8X@X8;2&Y8V&*']0??Y9"=Y-=M;83N2?N.HH[+N2@VNG;6=OQS=>N?-G MDO]ZJ4X9:D&-91/:":V^J:"E*NOM]3^<'/P6"JQ;4E2W:9OJWZHQ76 M2U @KJHAZ >80@$67$@RLE6/DS6M^.4F20C2[PR\IJX*ID-5Q[-U>750_K2? MVNO:<96<39/_< MI?BB [SJ41O'K30,5MJH]2)?.TSV9)B@ !:A %9\0,_D5U_."7Y74G'MVK+L M[?BS:]*RAP,O!-V'E-5'UVMAP;9@G15"&#Z!)&&! 7@O[_N<&:OJR)\?OCW1OED%/Q1:$!VOKDCB'A4'/ M&O]^I/O71+N/P=BF[-AM74(VN_YL6N_U3"81;?K+-_2!I(!DYZ54,GM;OO$2 MRY\18EHSV7F;1Q>PV=CI*\/>BQ![92=V66XMUL.PL]3+G?XTK(U6LQV>W,UQ M)!I%\0?DC CGO R'BL=AZ#C 4-R8BL57APOI)I.=!"J>EKAG(83%1Q#LG*: MJW/7\X2N.!.!>I)H0E\LM(7X1$.AB=6:Y=W6IB16%F%-_L/[_:6YZNR)V9-% MCW.X>A&GGQNL#@4-PFWOEYJ@2>46M9(0=K[J1YN.X]\("A)IP0PG,,,),/#- MS_/(P0RG:Z567N+&>SVD6]%]6N@YI2$LX49M52;D%@=?_/8;24:@OGCYG;G[ M_&"A.XV.6M=-;+CP76=(HL4POON*L=F+D%=,_;H=N+\5#=JHK:UZRUCZVW03Q7%#C M=^.!D:==9MF3!"AGD,(>A[NYO%9AMB8:C$N48&6V#D44B6,BH X E />2#D@ M:'J>X7Q],%4*Q#6>:+KOO;LJY8UF$@Y/PGM^4&'*\L#8D4Q\=Q7C>O9<7EY@ M.%0&#P4@,A@.!=CP$PIXP' HP(:9K"$!PZ$ 'X+A4#=C*'V@&_^]QHW>;F]V MZ+##")L225DU<_/OS+ M.>UO)1@':A?R[:(??&?S9!D31J2HN;9WKG0!KV+RW"^U:$'"&HT&I\'^SHS0 M $W<]&>JD7,J+5F\TT'I0JXUT'MGX)M*8QYDSP/^!=GS@(%O@H%!]OSG,G#V<\$?4^&]V'7LG[J*OIP.[DN[Y$/<9RCN M-UB(?I%R."]=R;J@QSF7W)JU=&\0F'] MY+1F/-[YJN4E.SP3]91@4C9V[+C"MA8J96Z]&C*J,6*T[V0D PSJD^X=E3\[ MF_CO:PX@SI7(,\HZ\/SX?;R!FK2!'MJ_+_EX?8SI:F.R%?:,*:,'#A8'3)A( M/O;E&_Y D.E9+*!-,\CA!BI9?MD0Y' #/LP"'X(<[OPH0Q=.W+ZL$F-S\VK3 MK3F&;HYU&REI(BH&_5B)B5.XWU1BGK3UL3SN2DQO,%Y@C(CB288W0H[VCDHGYA8<5")PC%@9-U2*47VB !*,.[NR$$)!F#@G#/PQY=@9(\* M&2S=R'^T[7=TN'H-=IR&9W5U'BMK&X]0UC1Q=).C;^IPV2]F24@"S6-JQ,&S M[]'%@KJ+/ZMYB.F#DI0,'DKV(!64I ^S (?YC?Y.6LE*5EV3'UH<_LG:41# M^X5O/I]%]+0[Y$"--N1%9\^K[E:3U:-B-%!E>VEI+Z0S%T'_'^O M_/]2!O:-\O\+F=;9Y?_,UW8,5%_2+%5A)=>*.R>?8N<$U+?G<%VP]-K&#!0/ MX]!AX_<+.YXY+AJ6;)MJ5_6YQ5#:O58^S[1VK?F,LR=Z(%)MFNMC$%=9BB@I M(F3<:X.FTLT"077'U;/<;Q)<7LR"!^#R^_DYLAR80=)RA_-7JGL&!DYXLX>; M[)XF(8B%Y(I.!92KK83?]TK_)MY,\!XT+]49BC7+ASTF3?##[, D>$-_^480 MZ?FL &VN7I)PDVCS8ND!0)OKQ:I^$Q6) M$_% H'2^ZQ/^F3][9*C&)Q^]E:%$ORQ)AF3)JO=0X%7'3]#Z* 48_'#\$!_5 M/_^=@YS#./#T3'RQ2'P5.Y@;:@;D]_I=+!A/Y!87;.6%D0>BX:A%'=:<:IW< M0I4N8_Y!*Z]D)US@>_'>(LJ?JT0*L!K3ZNHH6V9XJEO6('HD]$64BAMV8<4' M%"=RF6N;Q?L^BL8$#\Z[OJINM[Q3-\@ROJ+WERO[#0N6WH.!0,XA5$1L).C3#_HLMY%V*OI3$Z%8IL-<5R$>+;@EO,3K MO*ZV5]-@Z'E]4US& I!,ZT$><#QM_>9! ,"-^#$WXBEHG5TXN(9?*R\ <.X* M?-$/5FW(-#0\5%K1QF>&O]A.^DPS48OC3FL(CCT0Q6MZR.\*#(Z!_=L#@R2" M#\#@CP/TJ#4@')A=FX*DR]7A:LDMF%W_@Y" 5S>5YH;OLKIFC"6ALIK7QO.C M4D!^^487'VCLFH'Y.P,"\A;5@E.X'2#!-:+IHDEJK;Y26[,!NI+)AFO6ZL4_ M;,OZ;G#@FIXA'CJM(JRI\_:N5F_4!"LQF>,@.O: HD!)N&S,_-:PX10]XS-]NU"V+25NAZC$GY*LE_BJ*U0U2[)D33(*WZ])K_!OP9(")<(/Y3\7 M/9PW,/Z]J*YHV\<_HS\>_[5LJ)(;H]_J;T7S'$/:?TT$Y/2%WZ$N>8?H[ZLC ML9#(:HI^//;9LR!9-8R_7TLP>7S"E842Q7]@Y DGR11QDC__ MOZ>;^9$2!D.UTST"&NHC.Y?C/'G^6 M7!)?D\?^[=A>$LCXZL8#!R/U[*>&3[$ZD#OS1K)^>" M_3B.9,)]^].7;,&; >$)@.;[,(C']+A/2 M4[DX+Q$GDB24A2+2_GC;$V5__/#YD:1(??QEQ/WRO^,5A?]70)-_^9^?#N&G MP_RA1IR^\/BC%Q[_>"Q2=Q)<"SV3GVCQ1>A_3=]%O["Q9S=D;EY:LPK^R@Z\2&/V/ON] M4PCX]%V?7]D(^GZ3[X08M(07*8D@17F!SD4<+A)B$:$Q48Y^B"\4>4$3U$F* MI.\>>%4;:+0[[0IETAP,.'BLRQTF3IW]>:58&KAU?"XRL,G@\'Z_E^>E8J2^ MIU<6)T-,+N_&E XU51>&62O$EF&TDOAYY:8^KRW]R7H/0_42;1Q:PHHI+D5, MA']>.2L+H3>QV F\V=J]1INOZ*(7BGAZ):9Y1!=GS8X>B/WYGH>6?&76%_'T M>\*.+-*,A77@8#GJ('U[OG V\RYWW-Z>5$9%N%8GG79I5/1K2Y%*KYQP M\HJ#K+8LH K)#A;UR.BB&+&87MEP[2JW&S$"BZ[;G-/64D20,V\:E"LN MOUL,6:TO*ZVQ+*^VA^BI:'KI8HEBE87=IH7-NCTH]?N$TT%"$3ES]OVP.VU2 MJ-IC ZG)'V9#T;:DB$?/'#ZOC@T^+*UE>-^>5C7,5C;J)'K7,R<5MIL+=R<+ M(FM.:QVZBA_(#A^]P)FCZEAUH>[/]84 $4/6[-OF B:BI6?.JJHST&ZY*DFL MVF1T6:\P7.T0O>N9P_+F[ KQA$Y5;WDSHTV51LW6*"+6F=.2AGZ?7O8JGLY/ M/&^W9O&V8BTC4_X,"RAPC3STU+I>0_LB;>VW]H1F1/3,:84C>0FW=N)>KPU\ MVIPMF;UN1D\]^5ODMWX?*@=R#P/8*L2"8>49U::FOUE3FSMCM66]>6 M!\4S'7BWC#OOIY:2C9Z]'Y8H2]C("S'4MTRI%B9=:%-+H%[RE(:C94>0)V%T*I7<7@8 =69(T#Q=6<"ZQP-:VZI-@JP MG1?THZ5GCJ"U.H3]50GKZ=P.J6SWH\V$M,+8H9):2CC,K%:TYF.X'+ .KZP& MH2PMXZ5D"EBZG8-+=6J\T"+[N_XA#*5:!!?8F=,:->=3UQ[S4[@VW0YHGFEU M5[-HZ9G3PH=DJ3QK>Y8N#2N5*E6(H)RVBEC'+\'*[Y6Z9L$-UB%8W> M]JJ-P1M[4^':.KFC9Z,A-*757K3T MC,0.:MO]U%/F&@Q%&%/L#0;-=2=Z@3,\@%&TLSBP540G!]-@ <.UB=&-EI[A M 45H^9/J>$6Q:+>]\&L>1XUL)KIISRPM#AJ3$KG$V?UXWFF7!^2N%:$[?N9@ M?<[IM6=XJO1PQO1TC,'JT'[(K38%CG!Q.G0;VTDHA^]*W[F8$/# MZ$QK&H7KDKHK3_8KH;JH1N]ZY@CLB5VD)K5:6T"[373$=_:[DA'=@V?HNFG, M2&W?[H]@2:W![2ZAL43$+O@9,81*HM3I^D*=#2(M9(1[JX5F1TO/' %A:@+J M;EU#&+,^WM5JJ[*J,/'2U)V-K,SF@#%@1>>Y482SDWTU["1/?;RT$Y_%=]O_ MZ/&-['Y# M5Z1#4G^]6J/SQ,I\\G@[>N3"L,-']?#Q[U#L^_YZ]&*$$0W>=!^*'X^"\&Q#YA2#(4X_0'T4.7ATD @[EDP[EC6[LX%P^ MYUP0Y"_ZU8@I.)C/$A@<"$P6SP4<2O8.!:#8=0_F%\O7W]*,/X,&OQ'EOR)0 M7#\9X@V:_"()(BLL_N'_?2&^_"8Y,/@O+)6G]*&M+7Z'9*\U1>AJEEKH1#]? M>0764E3EQ>8(SQLC &&Z 6$Z'FSZS_-2@_ZNU"#87_1M20T*H_B%&H6\I2+? M.%\4;XTOL O@Y*=VT/K%+9:R\TOVU[WIGZGZZH.N8^P&!!=<>M/DWW^?TA M3K?#XAH^ BE>H^G'QUAU&9-/()SY%,Z?>M56MS8Z$?MT6Y"\2:VU-G@%1W^_ M.]6KPKF3IP[1'5%-?5-QF;4&U2<6O8R$DXR,Z0?T5>&\!=/ZR=#)@F\77#4Z M)UDSU(+U756(?Q[_38X-;<>UMUKLI9WO7[*T@>I\JU;VQ1J;W;IA (SG6T, MP/JW9Q.3R5=45">Z];1$(2E$BDQ!,NWH?0_)#_*OE=ZCF7QI8;TS=?RZMO)3 M>8L^&VK\@;$4YHG8G5'4J1[DNH[3$@42=VQR6&R7"3LN,,-B1;U(7Z69/+"B M@>SF2W:O:TK_INQRK<%2FY)S5)>&2G/9&DC#G;F,9)>,/6 4=;M&]E'%2-H$ M07,I;L@2-Y)1+>^H;JB[^/.%G/&9V32PF>_'<+@Y]23IY%V*1;7\1%+/>0Z% MEC+1=9-63+3*=LP1(U*Q0H(4'P@!PX"(.=Y4V7>+>>'KLG/ M.79FZ>46M:HEG1 M>2ZUN,98\CPU[DB5=U,#N$: >94IW>.I\'$+)A:]8QE4V?;\<]'+^*7I79ABV.SQ9;&+!2( MU5GMX"RE9AA);9)S0!*O30&Z!7?(SSJ&'-.I(!\GE$5/4.*, WL>#VLHN.I6 MM0(U.=Z8&A=2.S)#$> K 394;O65\@^1+9_D,\:\-[S!.Q*:TX$&M81] X:9 MYL$/Y.4R?LO(H'J@\=?L*> WN37H S*?+VWG]V2^W2^5[1ED!0('U79NA5)= M4V2BMXR=* \X_>;\@SSY4.(J"TF67?51P5$T3XXX,E)RHK][JXA2D!\1H*!9 M6_64?)E_&^4>O2F?5E*5J5RQBP]W^F"ORZ.H/C?D*H]"RUA*SU5-+3"]Q@^! M/0-R/T6FNTN8[F/M!L*2^LV_[DQ?\Y372>PEH'D2M&A MJDK!53U-"23CHB&CS.P>^&ZR (D9,_AN13MRE(7W-;)DO@LWMQ">B/;@)-E, M(MAG0%$3\"!Z]VE9(%?&N$4L,+*\2Z8G1,H07DRG_%U.%;I[R0 @"=#ANCK4 MGZ+#>#7?X'-5H'1H.:/ML+X82D88HT.D,A%I#_"?:DR?6V"T4-TXA<:7=BIP M].32T7-+ ?A;T5!^%"4LXMWLH[=AC5GU)M=2%YK\V8+N_-)?#Q0&&=$TH M.LV@>_#*2AC/;8I[(=4O2>W,!I;?%]V>I75>UB;%T48.%9GR% M%Z:C:5M*I#92'G#LQK-G.'^ENL!(N%U/RHU'Q&]-_4CDL6M;<7N<(X:= .P, M<@7EJ<[VJ^16WQ@S4@P#;B\QRWCX8Z1OD, G>S>>-6NR)%[X_@5Y95D+:.G:=;3AF")XR=IIV)H4B+< MEVL.=F? !9P?F6QT!!P ^9%:P,$7:]65&27J>^[!,;/25655V\8S<&]26;R\ MR)K1OS346[6-W]H=T)D_PC:.]&17E3RUHA[_OV$]RNO@N[B>ZQ=$[K9L6-,5 M?;]B+&2UVG!%,5*?B6,B)77&Q_<>2_EMCK\+2_E-,F2.!CW.+II=AS!PRC,+'\)^4B2/&U9G\Y,J"/*DS/51U)4QZ;@1VM M9COV-A3DP'55RP<=-X#UG$W;X^;TDY,P/@8E3RX^QE(2]]_+^4SE,J.X]*&A M0X2^)..[N+9C:1W$^^460H1TL:0^K6][.6;99W&<<@.BQY+3_DZL M4FVO3$9&%W6J7@5].4!V D" S.H^%T J8'P!CI>KW334L-A8$\];94@0*3U MT/!-]>A(]+]"M!D(^%B C^6^C;*/]K%\SZ0Z2MZ+5MC"E:#0W".XKFTWJ@2O M3+7,A"*2M#=%D ?\S. (X%7))6@! G.-(>9*8 CPFPE[*LECQ*:^\HK.<:_8A">3INT0.!;&EV M;\UM*L/814(?^ZW3UQQ"ES%V!RZ2FQ?YV]=CTA+_8DK*QN!XT5_(FM[RNYR* M*&2Q6^W'HG]LVDY3-U+4\:.E5_#SM+HX+\55#J^K@*'OM'P55KR'6NEN94EA_7=4Y!-UM'5$]J.U^],K'> X) ^<) M<)X :?YPI>/WI'FE%DF(:96FK+;S%,FO!P':7,;2'%>4/F X>@?.E$0E^9$= M^Z2R]";M"^!9 6;6+>@O)\E])])5EJI5;W?I)KRI*_!V[]:[DA A7=(X%$E/ MM ,],H"+):^R?W-9*.\4_I]EGO5+?89FZ*6^P8C^D$#:@^F4B64^TFXP^N(M MO3Y3C_G>#O0TV@ZX4( +Y?YZ"GZT#O(XJVJL^:MRX$4GHKJ/F+0_@TA%;JUB MRZW+P37:Y-3U!ND8U4@+08^A'HJZ8C;LG8DRD.,VDE MLW8OJX9D9O? A7(_9M2MN%"2J0IIS'L4X8;%)@+,+0;?Q7=PDM[7/"JN(>BB MS(06RTF&8D^HB:=0H8ABQT@03EUS+EW&) $X50 :Y$0)NA(:%$N[[7;J>$6= M[!1' ;WJ;_M,@@9)*W0L[+&IY;>BP G\1-D&^PJ,Z'%X)I\0!KH=!\! M''XJ9#[3/0HDOOR^;@.@X$ZAX,.KCGX="EJ]+>>UMA0GJ!.NV*BU&RPY6L90 M$.DZQ=>'4.;;^7/ZBOFSKPC5F&NB]S:4Z)==U2_$S>P+CFMO-25.ZMT_;>$> M461[TI/FMVD(9<@[]-G0\LGVXF=O/V->]>MJ69'@ER.Y[YW$OK07O'C\UG=\ M9;Y+_KGT'+TVKP_7[$JH8>%BQ.CPR%]&VA5Q['0'GRF$ +ZDZ_J2/EMX '9D M"3NNJY;]$7:L#4(*U[M:E2WWG5D-$4F/=1+LB%U/Z /Q:E0]=ZZG9_AP7 @9 MZL)/WN >8NOWF!?T:9/.[VO3=^IMN:\-YYFS;]Y]$*L!A85AAUYAX=IF0;.V MJO>3Y^ K'E(+W#EE>1=7T7)S+Z!_7ZGQDJVLJ>NK .=$'%H,_(FT%PU <3AFX!8WS"A M1PS,!KM'^P1IK7"Z7F-$-.EPBF,/,)&> @%J18 W P!$WG2IWP2($KYJU-3E M 66#)4X5:]O=8E1EYX8:YTR:FN?9 M[KY@V?Z%.KO?EZ!_OAOG9B.:V4*R#U9UNI$\/A\T_C.(35?%F3M<#VU![346 M7'S M$^UDGX1?U @2G!@?@'8.O!BW;J3<="B'C\2;6_1.PMTS),MG+(5]E.\SU[S" M4$IM*&T-O778;#VS O?WD:V")9U$"3"K!?@Q $3<5%#HUR%B$=!KOK2D>RS: M$H(J2OF[-L_$$!%7),"O841N71G>M96D^Y)SX,8 ;HQKN#%^!<80IB+A;!?> MP9 ]JV[PXJ$F0Q&,H:=)N025;J$,/!H X("P9R3Z\BO"#E$EF5470X7=4[M* MS^XT)'.XC(4];FH1R?JK(=K;\/L\IOS$)"_X*[7@/(G3 <0< #=IW5W*TI1 MTOKP26)?U7:_6R\_#+PW<%(:T94*6=GY<.!OZFUO*"[&G5#$DK:G&'G-+F!W M+QX *0%$?$!WU#^%B!5;=-R&/!RQK;#9./ L-VM9_1@BXFP6_%6C*=_^'\V* MCG69I+)(GJ>"0B3@^LF--?BN^#;P:0#)S307W\I%_*)/H_']BF&2&^;,_>LT M[4E],VP=8'2T7\RZIZ*D _O]]>G%DR8SZ;3I^M(P )RB1;9(M&^12?FU=. M2J?;5O6ZJL\MXF96I]\HYZ;(#?#&C*;P*BRA2Z)"NIHA3?LB=FQ<^5!$;\53 MP^\(.,&PE2YAX<]FU+_3R;3Q*\*N]?'&: M[]14T^X0O-DBSY:GW#0$'7XF# MCYO[>8OOOV%>VFO&[+)S_2'4G>K*VK%$P/-M62_83FR-@@:7-VR/?<#\.>"3 MOE;'AUA(N:.,LB?A/1>=5*F0K4HV92*W5J82SPY)=O.$G?5->&YSJ,Z1CV M7E5/"LSWJD?'D*S\:][ 7LZWM7'[VDA(0J(:YYTB9?$=3FJ[D1KT$+9<T!$U$RC,4U MKOM[*&+HK8_]..5#'OLG2+OHP:YJ2+ZJ%'P[*3KP5I(;J1FJ[QMJ4J-@+Y)> M"G%;A3!B > U 5Z3O!I1J?WFM$W"S]G-@Z,(#^VAM!MK_FIE&S%AJ[;+Q])< MBBP%I6R;CFIYR=N=0<91,&XA7,_JL'N70"%;+\]*8E_$DYZ9Q0>$)D';!.!. M 4B050WH" HZD8<39^($W>V MX4_/ZKG9CH;9VO2=^E;N:\-YYNQ;( MM)9C>TI+.7Z(TT2VT25O7:JK=,8( EP&0-G/9';==7T&1QS@%NP)!081"'!6 M; #$_V-_"/U ]7Q7DWU52=KJ6&8="AYN01Q>]&D^<7Y+VC4!^%0! MR#Q=Y PQ+^+_>S+0+U>QK'U.WM'=)K48/K5+;,/J3L>DVMH\IH BANJ!4@^) MYYLYA!Z@^Y&!H3RX79WH=N2!EEI33MP,MTNI--R)]:C06I!?I(G]OA]L62J,&'O?FBQMWC9KPJ+3GC5FXW@* MJE^9]$,F=<6*[*',N4F."P7.#0D<:BSGZ_4632D[=FU.TT15&S63VR]2]7Y? MX!0?Q^5ILE$WB:3*JADA9Z2)QQ84.+#L.YEY2%+/%=ZZ.Q?7RS5M+ZEZ(OC< MI^2%A6T_*I^,!B)%4"W8P_@61.I_7RNAY O.>1.R\^ U&S!MLB>MHF56K)A[ MHBS3Q:9PMZ*SJCQ56\1N3;&5;N.I%N?+W7J)&JR)I+WO3BVS)^[2Q7I^:=36_=:]RHQIN2UIDFVKK%A@^G&R;)3CG1F4 M&4C=(H&Z%72PGZA;_S$Y0 ]70#>^4"!25XI,N[C?$!K=#$/0^@4,'E$XV9B[$CZ"=+&_2_XCSL] M+XN<#@7#_!\!4)3,V3\1;D^ 1B/Q _Z>XW7)5"P#/G'$!D'\&V[;-^W17%%> ME.5_GE/*W1FN!6\'O%3[$@%@(/^^U_^PQPLTBBORJK^TY6#/N Y<*&0 M2)R)T8DNGY$TW[#Y 6J!/X3U2>2]J()RAS$&ZJ MVD^*C"6/\1TG8ZE$ .%7N=7H W+^EXO,=2B1_]5MY"[SA0(EKWS$%\Y'/WYU M(0%"HPFR"(X<<'B"\_/%>8YP0((@&P6@/>S6@>SAPV.4!$"-OP34S_\%1T3^ M)T*A7_Y]@H039!XN6&=!_-&%Z3\6+0$Q"+RW$0_?C7SA4BG4>UU MRXUZYP%[D,KU7,RS:6__"+E&/<_6.VP^ OX%SE+.,UWP1Z<+_E=CZ]U.I%&( MY)A.*5*H-@8=W#*<_ >.[I;K/3;_P6=]_I(A G?,&X[Z5T_A@,X!E)&_[VC3 MDA(QYZIE .7/N/Z^?^L"?Z4VPB$5;DP*="I!TN)8%#($T-LH?IPFTM.Q0,;3 M\0Q!D.G4] <6<)RK]-4R3RMVG#"CRT$_MZ<&W' I%UKP'?ET9(/.1>V>:)<) M.UVT1**SV,\59DP%1UK[S,+8$M5RKR$GI[.GIZ%I3UI@9.)TI*$ND]O,0)NR MG:>T,)'SM"AKLS$])DY'S@I69_&TW#J9%)(@]WR2U:L M<.ELBDBJ47L[3@='ZA.VII5' X-8+_1>95VSZC2,*1@7U:@\=Y?9HGTFQEHM65TD15%M46L)<"JT?!A==L]8C\,KH5 M5J2JRN5U=@M&!E8G""6]Z]5S93;9G%9'+:!K%'9PSL#J\Z)62_?[VR8A2H^Y MEC4?9NS.=DP2P>4?B27U**P?,X2HM>>Y.BVV]$$+#@VLWR^DQ')OO074-*3X M%"VNE[4ZFC6P@5IB)'!:NQIGBX0VW5+MQR510$.3IT.I7'-B6IU>LS?(\HU< MH9Q/+ %&23*XU_*:7VX,6C99RJZGS+@DI989-#2X5[:U7*24W@T,#>]7(="PJ&!#4P>X[6^8J1HPMZE$E%+BM(\AX8&-A MY"?C8I_*$(URLVGW3:70 M6K?@4!=8R$+P-&WL>0!:MLQIAOC3_8=?_D+-U-%*H=K%8[WN6 T.*DY$0'DU M=7=5UZ;!LON5SPB96"+^G _,I]3YYE?!G+!CG2OGW;^CT OS$QL-6P"$%[5U MQRX[4@>YB:'*EGD==?#5WCC?[UYO:!\98+_EPP(;>_9])\3+U^#EI>CC$"]? M@Y<70R=#Q'P5PSS_R!+BY8OP$B+E]I 22K'K(N8#VGJ^I#!_!5S<57+@#!-= M K.61'DCPG/!%3C%B#K+?,H;\TNZZ[<"$;#MX(?_]R/QXYW@HHD8G;FIFJD! M9^!;"VA*BABI@<_G1H15!%&(=$3-%%<34<=. MRYXD'[>'T87MU7J^@/H@GZO0/9+WUO+ M?GCNS!U+TW _+TZ.")+!RZIAZ>BI'84N0S4Z(BDX*@JJPQ_$.%@(WQJD;BH9_/'V$::S?GT?>=]=^>3ZWQ@%E1[!TF+EMSL6(+7(Z:J(I M*;RZ$G$OS>]GM80Y/GB),%[_3@OEE!%[=B%W-@$+GXFP[YJ]NE0N4<)2,LSV M=+E;$7)R-H[C^C5$\KELQALW*&^,S6^ ]D,>_X;MOU_F\7:VPO/+X:#4RRW' MZ<3CADS7XC#\$+7]3B2?R[O[%LZ!@PX#=19N!39F&E!WD2T!-W^"2LU*Y*!7 MP&W[K>+$)*#QR+ @4$26."0DI _4=&X,3C?D&OAR&?)9LO(&CWYCXO.Z*E+# M9?,JY'*WS]ZYMD^3!57/7DFP?1/;?6^2X^EUNDBS^NO-0],\*W<$R\-VH!:! H<.&/ MC%FX2=%Q\R$.MPBUKWOMO2TY?/M6_BU23Q@O\>TXZ/YLX*8.WPE,&]5!A250 M-?1^H(N\*&U$ 7W,\;QNX7<&\$_\^*!Q-DHF]W\/_ZV:9P MEX011E>$+Z\W]W20XS18)8?=::(B2";0S6')0\BZ0M8RZZKY))H7GF0KZ7A2 M'VV:F9[-\MO]9%*REI79&-5"C3^D4F'811AV$3+_+;\)_ ;S2P6EH_=):T.L MR 0S81X7\?93:XR*FB8SJ>\>C<$(&T[AP70P&$.S='X.PRM@K?CSNI2I \MB M*D+(1J:ZN@+C1!3,P1F&"%0I4[WPRS_"&Q*&:81/L#=&8%J2=*#!(!'0/$J( !$03RP?G.]4UT1A%8%W1<$8J9XO1X89+3:=+ M<9OEVHML2UX2L <4,G2F3"X(PSN""7+=U+D/D^R+*NTP0@CID:LE7HON6.L M:K4$"T9"?2_YK4)"&I>#9B.<#J0)^ ;I<.K$Y"34"1)16%2=1BTP'JMTH:\K M]'6%YNY-Z%^NN=N&)VQ,>X:(A%\#L:\HE!6W/RZ0H,=ATS$E$8Y9*< MULOUEJMY9:++Q4V?VJ.ZM$#92J:NJ&W]81+A!M@D% ?GQ0$JLD_]\\V<.Q?> MP_P^'%.-&$ >&%'3UD2L)X09-:&K)C2H[EQ50 95'4>FG3>ANFH',GX7\#U2 M$+*,9K['YI@.&6^:\GB@H]KRZ&6,H,C0$Q-Z8D+!\>T\,;\K.*J+ MIM'?9PK;9;0\9U5B$S5K"08*#NAE>2 (ZELY6CJFRB^C$P +6.9NI8F*@3 5 MX?&[))@$/I!%-$Y'V?E#Y:*5U2G$)OG M?/R=.[!W63FXK%_IB9X_MG>5N[Q)V"?[D\^&Y('[^><6!@<(CBBAZ>@5FL@$1X7*_==44#?Q/4X5]4\$& MH$H$_H4J]'(F^*,@*9S"2YP< :+>1!E51N2H4>1'P^>WD/N.O@=ADV2/O]-A MDV1O6H3PL$GRW3=)=IJITBDA'4\*DW&&FB3&<3)%C#-)01C'TY,D3R?)5#+E M=BJ\_9[$+[95QH>N-[IL!Q"+V\'8W\"X4*XS]5R9J8X3]->=&]$XO(+/Y_0^ M"P1T.GSV;B-RH4VS=TQ_P^:_>G6FER^#[P_]@K'N7K=6X%#\1U@LQT_ 6T MK-_%,1F+9)E.&?78;K;9#D ? XD^PM3SD4ZO5F/:3_"[3KE8+Q?*.:;>C3"Y M7*,'>V\7(TU ![DRV_ED+)_@TL;_#>)S6".8VE-26!#)2J>57.=J46,\NR:& M7J,9G\79!1T4MU)%QX;7BI^\KZHX+RS#E*;V/MY.[ B2W+!;&("0 MX4INA8]%_H).1JBI4L0_.:RHH[_(?_Z&R(_*6[D2.@1%NG FX]UG .X5:JEA0#D""/ M9W;6;EF<#L DVY&VJ*G0/ZI$"D"_P-LAB6@+K-B.=Z# 6 MR0$5F . \M5A0#^=JJJI -/$5[;!B& 5!JSJ+SS)*8H%D/ R;CP,.%FDN@ # M%R-;R9R[6:7PS)H.9IMF;Q*E]#M!?LUP=D1O!DD3#@? MP@]DH^H1=269X >QR.^3&-#^9)$W']RMJ)JD0*B!30#^ 8HV=D6#;4 WD]^& $8 [LSO?U+"/T" M@#54\UQ2=RN<"T%1=Y!R!$1-27+ ^ [VM+1CY$X.O5 ]B6#+[UM@ZD M")I4G.@6I#0JA0;&8W_H-8#QZ2:L.Z3JX 1A3P(?;^$P4E1I!#V/AMW"/GW<9P# M CB'R/%?6CI\ M'W0N_H^Z9H[0^I\C??8.-,4>3E9D ?&LX,'NCT:Q*N'QXP49 "D(:C62:7^P MEN'0E.&[\:%JMN*60%:X8,65,0S#6FF.\@8O1VXZ!;>B5D MA,*?^C(/'M#XD[Y?R-Z<(7W@[(\B'%X&,I K_"[>8Y?VHXL;$1BU>!"\T0'K M&_Y&*OA'"*3H4H]%?/:T#Q@8I(;X+CGN[ +J1RJ8'((3@\2=7XA8A@C4"'#^ M#4;5A51<)/6!<:3,)%2\!$'N >M3&TZV,&A=CGB6$%4%^8_A-$A3QA53H'/O M53]_.**-%2>(6)OF9-LQY !-JELD5:%>P ,9)ID10 &) @)R&A)=[6_F:H* M6PFJG) &5.BNP\5;G/,!C4>6]A[#"*(;RC3@![8WOG 9SQ0BR'0S$/#MS=5CO@/N&QX>%91QXY0Z]++,+PIH448JQ7 M\DAU$R3 /+I[4ZC&*;-!Q1/_ H(2?JY#@A(1RQE0-3JGE 55860 >?3H^C:/ MA/Z5?1A U/K\%[JJJ!!BB"F>]V;DXE4RQQ3%R9(K+V:",=_:U)H)>J?.C[N^ M=^HZ-UI;A$Y-K%@AZK5.96)S"Z][5W5A6 M(G5U@Y0NQT* !']X/3P'FTA6!?_SV+_ =+*>ST,"$@JP]-F?]31TL;B_8SH] M[V=U-8:6CQ+ .F(,R2EVMY%\5<7V,Q\A$H3?_^,E%= 4F\<>0_N4#P,/9&X MO\P?M+D'H*Y+_/QP 1_?B4#"Z&Z]2H+%!M8E.+4ZG=5FG/7;"S"):S2!;YS*7F"\""],+#F1QP$,X;U0/04PA.$0BRMY7V=2HR^P&G.^H6U@R/_MP MZ*A<%W_UK*)V)SJ)=ZGY=!*@9GCJ!;AP#RI#YB&"&X)%4$1 M?BWA^"*'US#RHD('+?X]V@+RT\$7"86W'>7!-4_\_J.)[=R^2'4A_XXX[GNH M6X"K5YRINFO#S(#0@9_J+^/ MFI(ZK4L/4V)7U@*8X(8@(3=C+%(&EJUL> YH<$L[[SK8[PYL"T7P@.8'@J?E M**)A7(8"U@(<'0]93;XIX1/!L;:D6< ZY",3RY#0O& 8=DG@1P:D?KDJRHL: M$%!/W)_#E3S-!!Y%/"@NZ#B>Q@$7E-HH0 KAV4-/C HQ_K;;+]<.2*QI:[ M[ ML75YH SH8%(-S(R>1(,0\SS2$U&61*BE*[:#!\-YVKFX"-KAG$,+(*I M,D= M?!DN6CT4.KZT(P?]\V@-.*_]U\[7(/09'!ZN_'?$"@=/=V6_31L[*F&E':CP MP"2$ 9 (.0 "(%7UH+]FRBQVBDJ3(S9)2DI=>)1S5FD6]-><'W>/T414+-)F M^VR]QT8*[48-1HIUVTRNVXD,RMU2)-?K=!LUMOUIX4(OH.R2HXW:IJ5D?]^F MEE9CW4\W]7G&6FR#B#L_[FJ((W];F/HO&/PV9WC^=^1Y?64ND@:NBO'^J;*, M;M+I;J_RR(YF0GM?GM:8#TY&(HYRD:*&R,-\I"VP\ Q1.4[1M*!FT9@Z..^H MELZ+AS9H!,9NG=/U\C7*U;8GARGFAWCHK^-Z+]U>:9 8^M2<9IBX[$E,\-. MHI=4N&IJMRMM]2GS%:DPT_>%R3,<+EXM@\S!)))W @K9?5KD2'3M?(ZY0-QZ\ M\ ]7O_79,W_QJBQ[ROM24;<*C&@XK U7<]>/.7MW/X5_J)8)WQ2 AV!]>)D M$3V*Z>(I"UOC '$A MLIWC&#A@=LC.>ZA@H5