0001406666-23-000034.txt : 20230724 0001406666-23-000034.hdr.sgml : 20230724 20230724163054 ACCESSION NUMBER: 0001406666-23-000034 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 69 CONFORMED PERIOD OF REPORT: 20230701 FILED AS OF DATE: 20230724 DATE AS OF CHANGE: 20230724 FILER: COMPANY DATA: COMPANY CONFORMED NAME: CALIX, INC CENTRAL INDEX KEY: 0001406666 STANDARD INDUSTRIAL CLASSIFICATION: COMMUNICATION SERVICES, NEC [4899] IRS NUMBER: 680438710 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-34674 FILM NUMBER: 231105382 BUSINESS ADDRESS: STREET 1: 2777 ORCHARD PARKWAY CITY: SAN JOSE STATE: CA ZIP: 95134 BUSINESS PHONE: 408-514-3000 MAIL ADDRESS: STREET 1: 2777 ORCHARD PARKWAY CITY: SAN JOSE STATE: CA ZIP: 95134 FORMER COMPANY: FORMER CONFORMED NAME: CALIX NETWORKS INC DATE OF NAME CHANGE: 20070713 10-Q 1 calx-20230701.htm 10-Q calx-20230701
0001406666false2023Q212/31http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent63900014066662023-01-012023-07-0100014066662023-07-17xbrli:shares00014066662023-07-01iso4217:USD00014066662022-12-31iso4217:USDxbrli:shares00014066662023-04-022023-07-0100014066662022-04-032022-07-0200014066662022-01-012022-07-020001406666us-gaap:CommonStockMember2023-04-010001406666us-gaap:AdditionalPaidInCapitalMember2023-04-010001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-04-010001406666us-gaap:RetainedEarningsMember2023-04-0100014066662023-04-010001406666us-gaap:AdditionalPaidInCapitalMember2023-04-022023-07-010001406666us-gaap:CommonStockMember2023-04-022023-07-010001406666us-gaap:RetainedEarningsMember2023-04-022023-07-010001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-04-022023-07-010001406666us-gaap:CommonStockMember2023-07-010001406666us-gaap:AdditionalPaidInCapitalMember2023-07-010001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-010001406666us-gaap:RetainedEarningsMember2023-07-010001406666us-gaap:CommonStockMember2022-04-020001406666us-gaap:AdditionalPaidInCapitalMember2022-04-020001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-04-020001406666us-gaap:RetainedEarningsMember2022-04-0200014066662022-04-020001406666us-gaap:AdditionalPaidInCapitalMember2022-04-032022-07-020001406666us-gaap:CommonStockMember2022-04-032022-07-020001406666us-gaap:RetainedEarningsMember2022-04-032022-07-020001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-04-032022-07-020001406666us-gaap:CommonStockMember2022-07-020001406666us-gaap:AdditionalPaidInCapitalMember2022-07-020001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-07-020001406666us-gaap:RetainedEarningsMember2022-07-0200014066662022-07-020001406666us-gaap:CommonStockMember2022-12-310001406666us-gaap:AdditionalPaidInCapitalMember2022-12-310001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001406666us-gaap:RetainedEarningsMember2022-12-310001406666us-gaap:AdditionalPaidInCapitalMember2023-01-012023-07-010001406666us-gaap:CommonStockMember2023-01-012023-07-010001406666us-gaap:RetainedEarningsMember2023-01-012023-07-010001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-07-010001406666us-gaap:CommonStockMember2021-12-310001406666us-gaap:AdditionalPaidInCapitalMember2021-12-310001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310001406666us-gaap:RetainedEarningsMember2021-12-3100014066662021-12-310001406666us-gaap:AdditionalPaidInCapitalMember2022-01-012022-07-020001406666us-gaap:CommonStockMember2022-01-012022-07-020001406666us-gaap:RetainedEarningsMember2022-01-012022-07-020001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-07-020001406666us-gaap:CashMember2023-07-010001406666us-gaap:CashMember2022-12-310001406666us-gaap:CommercialPaperMember2023-07-010001406666us-gaap:CommercialPaperMember2022-12-310001406666us-gaap:USGovernmentDebtSecuritiesMember2023-07-010001406666us-gaap:USGovernmentDebtSecuritiesMember2022-12-310001406666us-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-07-010001406666us-gaap:USGovernmentAgenciesDebtSecuritiesMember2022-12-310001406666us-gaap:MoneyMarketFundsMember2023-07-010001406666us-gaap:MoneyMarketFundsMember2022-12-310001406666us-gaap:CorporateDebtSecuritiesMember2023-07-010001406666us-gaap:CorporateDebtSecuritiesMember2022-12-310001406666calx:ShortTermMarketableSecuritiesMemberus-gaap:USGovernmentDebtSecuritiesMember2023-07-010001406666calx:ShortTermMarketableSecuritiesMemberus-gaap:USGovernmentDebtSecuritiesMember2022-12-310001406666us-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-07-010001406666us-gaap:USGovernmentAgenciesDebtSecuritiesMember2022-12-310001406666us-gaap:CommercialPaperMember2023-07-010001406666us-gaap:CommercialPaperMember2022-12-310001406666us-gaap:CorporateDebtSecuritiesMember2023-07-010001406666us-gaap:CorporateDebtSecuritiesMember2022-12-310001406666us-gaap:MunicipalNotesMember2023-07-010001406666us-gaap:MunicipalNotesMember2022-12-310001406666calx:ShortTermMarketableSecuritiesAndCashEquivalentsMemberus-gaap:USGovernmentDebtSecuritiesMember2023-07-010001406666us-gaap:CommercialPaperMembercalx:ShortTermMarketableSecuritiesAndCashEquivalentsMember2023-07-010001406666us-gaap:USGovernmentAgenciesDebtSecuritiesMembercalx:ShortTermMarketableSecuritiesMember2023-07-010001406666us-gaap:CorporateDebtSecuritiesMembercalx:ShortTermMarketableSecuritiesMember2023-07-010001406666calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember2023-07-010001406666calx:ShortTermMarketableSecuritiesAndCashEquivalentsMemberus-gaap:USGovernmentDebtSecuritiesMember2022-12-310001406666us-gaap:CommercialPaperMembercalx:ShortTermMarketableSecuritiesAndCashEquivalentsMember2022-12-310001406666us-gaap:USGovernmentAgenciesDebtSecuritiesMembercalx:ShortTermMarketableSecuritiesMember2022-12-310001406666us-gaap:CorporateDebtSecuritiesMembercalx:ShortTermMarketableSecuritiesMember2022-12-310001406666us-gaap:MunicipalNotesMembercalx:ShortTermMarketableSecuritiesMember2022-12-310001406666calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Member2023-07-010001406666us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMember2023-07-010001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMember2023-07-010001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Memberus-gaap:USGovernmentDebtSecuritiesMember2023-07-010001406666us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentDebtSecuritiesMember2023-07-010001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentDebtSecuritiesMember2023-07-010001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CommercialPaperMemberus-gaap:FairValueInputsLevel1Member2023-07-010001406666us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:CommercialPaperMember2023-07-010001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CommercialPaperMember2023-07-010001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2023-07-010001406666us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-07-010001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-07-010001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2023-07-010001406666us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMember2023-07-010001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMember2023-07-010001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2023-07-010001406666us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-07-010001406666us-gaap:FairValueMeasurementsRecurringMember2023-07-010001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Member2022-12-310001406666us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Memberus-gaap:USGovernmentDebtSecuritiesMember2022-12-310001406666us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentDebtSecuritiesMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentDebtSecuritiesMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CommercialPaperMemberus-gaap:FairValueInputsLevel1Member2022-12-310001406666us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:CommercialPaperMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CommercialPaperMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2022-12-310001406666us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2022-12-310001406666us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMember2022-12-310001406666us-gaap:MunicipalNotesMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2022-12-310001406666us-gaap:FairValueInputsLevel2Memberus-gaap:MunicipalNotesMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001406666us-gaap:MunicipalNotesMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2022-12-310001406666us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001406666us-gaap:FairValueMeasurementsRecurringMember2022-12-310001406666us-gaap:EquipmentMember2023-07-010001406666us-gaap:EquipmentMember2022-12-310001406666us-gaap:ComputerEquipmentMember2023-07-010001406666us-gaap:ComputerEquipmentMember2022-12-310001406666calx:SoftwareMember2023-07-010001406666calx:SoftwareMember2022-12-310001406666us-gaap:LeaseholdImprovementsMember2023-07-010001406666us-gaap:LeaseholdImprovementsMember2022-12-310001406666us-gaap:FurnitureAndFixturesMember2023-07-010001406666us-gaap:FurnitureAndFixturesMember2022-12-310001406666us-gaap:ComputerSoftwareIntangibleAssetMember2020-12-310001406666us-gaap:ComputerSoftwareIntangibleAssetMember2023-07-010001406666us-gaap:ComputerSoftwareIntangibleAssetMember2022-12-310001406666calx:SanJoseCaliforniaMember2023-07-01xbrli:pure0001406666us-gaap:InventoriesMember2023-07-010001406666us-gaap:InventoriesMember2022-12-310001406666us-gaap:InventoriesMember2023-01-012023-07-010001406666calx:A2019EquityIncentiveAwardPlanMember2023-07-010001406666us-gaap:ShareBasedCompensationAwardTrancheOneMemberus-gaap:EmployeeStockOptionMembercalx:A2021PerformanceTargetsMember2023-01-012023-07-010001406666us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMembercalx:A2021PerformanceTargetsMember2023-01-012023-07-010001406666srt:ExecutiveOfficerMembercalx:PerformanceBasedStockOptionsMembercalx:A2021PerformanceTargetsMember2023-02-012023-02-280001406666srt:ExecutiveOfficerMembercalx:PerformanceBasedStockOptionsMemberus-gaap:ShareBasedCompensationAwardTrancheOneMembercalx:A2021PerformanceTargetsMember2023-02-012023-02-280001406666srt:ExecutiveOfficerMembercalx:PerformanceBasedStockOptionsMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMembercalx:A2021PerformanceTargetsMember2023-02-012023-02-2800014066662023-02-280001406666srt:ExecutiveOfficerMembercalx:PerformanceBasedStockOptionsMembercalx:A2021PerformanceTargetsMember2023-04-022023-07-010001406666srt:ExecutiveOfficerMembercalx:PerformanceBasedStockOptionsMembercalx:A2021PerformanceTargetsMember2023-01-012023-07-01calx:plan0001406666us-gaap:EmployeeStockMember2023-07-01calx:period0001406666us-gaap:EmployeeStockMember2023-01-012023-07-010001406666us-gaap:EmployeeStockMembercalx:A2017NonqualifiedEmployeeStockPurchasePlanMember2023-07-010001406666us-gaap:EmployeeStockMembercalx:A2017NonqualifiedEmployeeStockPurchasePlanMember2023-01-012023-07-010001406666us-gaap:CostOfSalesMember2023-04-022023-07-010001406666us-gaap:CostOfSalesMember2022-04-032022-07-020001406666us-gaap:CostOfSalesMember2023-01-012023-07-010001406666us-gaap:CostOfSalesMember2022-01-012022-07-020001406666us-gaap:SellingAndMarketingExpenseMember2023-04-022023-07-010001406666us-gaap:SellingAndMarketingExpenseMember2022-04-032022-07-020001406666us-gaap:SellingAndMarketingExpenseMember2023-01-012023-07-010001406666us-gaap:SellingAndMarketingExpenseMember2022-01-012022-07-020001406666us-gaap:ResearchAndDevelopmentExpenseMember2023-04-022023-07-010001406666us-gaap:ResearchAndDevelopmentExpenseMember2022-04-032022-07-020001406666us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-07-010001406666us-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-07-020001406666us-gaap:GeneralAndAdministrativeExpenseMember2023-04-022023-07-010001406666us-gaap:GeneralAndAdministrativeExpenseMember2022-04-032022-07-020001406666us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-07-010001406666us-gaap:GeneralAndAdministrativeExpenseMember2022-01-012022-07-0200014066662022-07-012022-07-3100014066662022-07-310001406666country:US2023-04-022023-07-010001406666country:US2022-04-032022-07-020001406666country:US2023-01-012023-07-010001406666country:US2022-01-012022-07-020001406666srt:EuropeMember2023-04-022023-07-010001406666srt:EuropeMember2022-04-032022-07-020001406666calx:AmericasNonUSMember2023-01-012023-07-010001406666calx:AmericasNonUSMember2022-01-012022-07-020001406666calx:AmericasNonUSMember2023-04-022023-07-010001406666calx:AmericasNonUSMember2022-04-032022-07-020001406666srt:EuropeMember2023-01-012023-07-010001406666srt:EuropeMember2022-01-012022-07-020001406666calx:MiddleEastAndAfricaMember2023-04-022023-07-010001406666calx:MiddleEastAndAfricaMember2022-04-032022-07-020001406666calx:MiddleEastAndAfricaMember2023-01-012023-07-010001406666calx:MiddleEastAndAfricaMember2022-01-012022-07-020001406666srt:AsiaPacificMember2023-04-022023-07-010001406666srt:AsiaPacificMember2022-04-032022-07-020001406666srt:AsiaPacificMember2023-01-012023-07-010001406666srt:AsiaPacificMember2022-01-012022-07-0200014066662023-07-022023-07-010001406666us-gaap:AccountsReceivableMembercalx:CustomerOneMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-07-010001406666us-gaap:AccountsReceivableMembercalx:CustomerOneMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-31
UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, DC 20549
FORM 10-Q
(Mark One)
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period ended July 1, 2023
OR 
TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from             to             
Commission File Number: 001-34674
Calix, Inc.
(Exact Name of Registrant as Specified in Its Charter)
Delaware 68-0438710
(State or Other Jurisdiction of
Incorporation or Organization)
 (I.R.S. Employer
Identification No.)
2777 Orchard Parkway, San Jose, CA 95134
(Address of Principal Executive Offices) (Zip Code)
(408) 514-3000
(Registrant’s Telephone Number, Including Area Code)
Securities registered pursuant to Section 12(b) of the Act:
Title of Each Class
Trading SymbolName of Each Exchange on Which Registered
Common Stock, par value $0.025 per share
CALXNew York Stock Exchange
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:  x    No:  o
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:  x    No:  o
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 FilerAccelerated Filer
Non-accelerated filerSmaller 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. o


Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    Yes:     No:  x
As of July 17, 2023, there were 66,320,013 shares of the Registrant’s common stock, par value $0.025, outstanding.


CALIX, INC.
FORM 10-Q
TABLE OF CONTENTS
 
3

PART I. FINANCIAL INFORMATION
 
ITEM 1.Financial Statements
CALIX, INC.
CONDENSED CONSOLIDATED BALANCE SHEETS
(In thousands, except par value) 
July 1,
2023
December 31,
2022
 (Unaudited) (See Note 1)
ASSETS
Current assets:
Cash and cash equivalents$90,187 $79,073 
Marketable securities173,941 162,642 
Accounts receivable, net96,980 93,804 
Inventory153,394 149,160 
Prepaid expenses and other current assets84,782 62,691 
Total current assets599,284 547,370 
Property and equipment, net28,836 25,834 
Right-of-use operating leases10,754 9,283 
Deferred tax assets166,331 167,031 
Goodwill116,175 116,175 
Other assets20,388 19,142 
$941,768 $884,835 
LIABILITIES AND STOCKHOLDERS’ EQUITY
Current liabilities:
Accounts payable$35,358 $41,407 
Accrued liabilities85,275 90,474 
Deferred revenue41,814 33,541 
Total current liabilities162,447 165,422 
Long-term portion of deferred revenue25,425 25,072 
Operating leases9,504 8,442 
Other long-term liabilities2,622 6,332 
Total liabilities199,998 205,268 
Commitments and contingencies (See Note 6)
Stockholders’ equity:
Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of July 1, 2023 and December 31, 2022
  
Common stock, $0.025 par value; 100,000 shares authorized; 66,320 shares issued and outstanding as of July 1, 2023, and 65,735 shares issued and outstanding as of December 31, 2022
1,658 1,644 
Additional paid-in capital1,112,434 1,070,100 
Accumulated other comprehensive loss(1,589)(2,473)
Accumulated deficit(370,733)(389,704)
Total stockholders’ equity741,770 679,567 
$941,768 $884,835 




See accompanying notes to condensed consolidated financial statements.
4

CALIX, INC.
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME
(In thousands, except per share data)
(Unaudited)
 Three Months EndedSix Months Ended
July 1,
2023
July 2,
2022
July 1,
2023
July 2,
2022
Revenue$261,016 $202,042 $511,024 $386,990 
Cost of revenue124,546 101,862 $246,503 $195,018 
Gross profit136,470 100,180 264,521 191,972 
Operating expenses:
Sales and marketing54,596 41,138 106,461 77,229 
Research and development45,341 30,430 88,514 60,247 
General and administrative24,722 18,911 47,799 34,942 
Total operating expenses124,659 90,479 242,774 172,418 
Operating income11,811 9,701 21,747 19,554 
Interest income and other income (expense), net:
Interest income, net2,255 240 3,895 275 
Other income (expense), net163 (272)(4)(340)
Total interest income and other income (expense), net2,418 (32)3,891 (65)
Income before income taxes14,229 9,669 25,638 19,489 
Income taxes4,856 2,148 6,667 3,849 
Net income$9,373 $7,521 $18,971 $15,640 
Net income per common share:
Basic$0.14 $0.12 $0.29 $0.24 
Diluted$0.13 $0.11 $0.27 $0.23 
Weighted-average number of shares used to compute
net income per common share:
Basic66,271 64,836 66,157 64,662 
Diluted69,657 68,169 69,684 68,285 
Net income$9,373 $7,521 $18,971 $15,640 
Other comprehensive income (loss), net of tax:
Unrealized gain (loss) on available-for-sale marketable securities, net(141)(306)921 (1,467)
Foreign currency translation adjustments, net(141)(403)(37)(474)
Total other comprehensive income (loss), net of tax(282)(709)884 (1,941)
Comprehensive income$9,091 $6,812 $19,855 $13,699 











See accompanying notes to condensed consolidated financial statements.
5

CALIX, INC.
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY
(In thousands, unaudited)

Common StockAdditional Paid-in CapitalAccumulated Other Comprehensive LossAccumulated DeficitTotal Stockholders’ Equity
SharesAmount
Balance as of April 1, 202366,244 $1,656 $1,097,596 $(1,307)$(380,106)$717,839 
Stock-based compensation— — 17,844 — — 17,844 
Issuance of common stock under equity incentive plans, net of forfeitures276 7 5,806 — — 5,813 
Repurchases of common stock(200)(5)(8,812)— — (8,817)
Net income— — — — 9,373 9,373 
Other comprehensive loss— — — (282)— (282)
Balance as of July 1, 202366,320 $1,658 $1,112,434 $(1,589)$(370,733)$741,770 

Common StockAdditional Paid-in CapitalAccumulated Other Comprehensive LossAccumulated DeficitTotal Stockholders’ Equity
SharesAmount
Balance as of April 2, 202264,612 $1,616 $1,014,336 $(1,552)$(422,595)$591,805 
Stock-based compensation
— — 10,007 — — 10,007 
Issuance of common stock under equity incentive plans, net of forfeitures629 15 8,490 — — 8,505 
Net income— — — — 7,521 7,521 
Other comprehensive loss— — — (709)— (709)
Balance as of July 2, 202265,241 $1,631 $1,032,833 $(2,261)$(415,074)$617,129 

Common StockAdditional Paid-in CapitalAccumulated Other Comprehensive LossAccumulated DeficitTotal Stockholders’ Equity
SharesAmount
Balance as of December 31, 202265,735 $1,644 $1,070,100 $(2,473)$(389,704)$679,567 
Stock-based compensation
— — 34,064 — — 34,064 
Issuance of common stock under equity incentive plans, net of forfeitures810 20 18,264 — — 18,284 
Repurchases of common stock(225)(6)(9,994)— — (10,000)
Net income— — — — 18,971 18,971 
Other comprehensive income— — — 884 — 884 
Balance as of July 1, 202366,320 $1,658 $1,112,434 $(1,589)$(370,733)$741,770 

Common StockAdditional Paid-in CapitalAccumulated Other Comprehensive LossAccumulated DeficitTotal Stockholders’ Equity
SharesAmount
Balance as of December 31, 202164,274 $1,607 $997,855 $(320)$(430,714)$568,428 
Stock-based compensation
— — 20,475 — — 20,475 
Issuance of common stock under equity incentive plans, net of forfeitures967 24 14,503 — — 14,527 
Net income— — — — 15,640 15,640 
Other comprehensive loss— — — (1,941)— (1,941)
Balance as of July 2, 202265,241 $1,631 $1,032,833 $(2,261)$(415,074)$617,129 







See accompanying notes to condensed consolidated financial statements.
6

CALIX, INC.
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS
(In thousands, unaudited)
 Six Months Ended
July 1,
2023
July 2,
2022
Operating activities:
Net income$18,971 $15,640 
Adjustments to reconcile net income to net cash provided by operating activities:
Stock-based compensation34,064 20,475 
Depreciation and amortization7,915 7,671 
Deferred income taxes884 1,034 
Net accretion of available-for-sale securities(1,897) 
Changes in operating assets and liabilities:
Accounts receivable, net(3,176)(909)
Inventory(4,234)(9,445)
Prepaid expenses and other assets(26,123)(23,268)
Accounts payable(6,305)(6,060)
Accrued liabilities(502)4,222 
Deferred revenue8,626 8,725 
Other long-term liabilities(2,647)(3,721)
Net cash provided by operating activities25,576 14,364 
Investing activities
Purchases of property and equipment(10,107)(5,866)
Purchases of marketable securities(105,888)(103,286)
Maturities of marketable securities97,223 81,452 
Net cash used in investing activities(18,772)(27,700)
Financing activities:
Proceeds from common stock issuances related to employee benefit plans18,284 14,527 
Repurchases of common stock(10,000) 
Payments related to financing arrangements(4,088)(632)
Net cash provided by financing activities4,196 13,895 
Effect of exchange rate changes on cash and cash equivalents114 (376)
Net increase in cash and cash equivalents11,114 183 
Cash and cash equivalents at beginning of period79,073 51,333 
Cash and cash equivalents at end of period$90,187 $51,516 










See accompanying notes to condensed consolidated financial statements.
7

CALIX, INC.
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS
(Unaudited)
1. Company and Basis of Presentation
Company
Calix, Inc. (together with its subsidiaries, “Calix” or the “Company”) was incorporated in August 1999 and is a Delaware corporation. The Company is the leading global provider of a platform (cloud, software and systems) and managed services that focus on the subscriber-facing network, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers. This platform and managed services enable broadband service providers (“BSPs”) of all sizes to innovate and transform their businesses. The Company’s BSP customers are empowered to utilize real-time data and insights from the Calix platform to simplify their businesses and deliver experiences that excite their subscribers. These insights enable BSPs to grow their businesses through increased subscriber acquisition, loyalty and revenue, thereby increasing the value of their businesses and contributions to their communities.
Basis of Presentation
The accompanying unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (“GAAP”) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company’s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December 31, 2022 has been derived from the audited financial statements at that date.
The results of the Company’s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022.
The Company’s fiscal year begins on January 1st and ends on December 31st. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31st. As a result, the Company had one less day in the six months ended July 1, 2023 than for the six months ended July 2, 2022. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.
2. Significant Accounting Policies
The Company’s significant accounting policies are disclosed in its Annual Report on Form 10-K for the year ended December 31, 2022. The Company’s significant accounting policies did not change during the six months ended July 1, 2023.
Newly Adopted Accounting Standard
The Company did not adopt any new accounting standards during the six months ended July 1, 2023 that were significant to the Company.

Recent Accounting Pronouncements Not Yet Adopted
There have been no additional accounting pronouncements or changes in accounting pronouncements during the six months ended July 1, 2023 as compared to the recent accounting pronouncements described in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022, that are significant or expected to be significant to the Company.
8

3. Cash, Cash Equivalents and Marketable Securities
The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as commercial paper, corporate debt securities, municipal securities and U.S. government securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent commercial paper, U.S. government agency securities, corporate debt securities, municipal securities and U.S. government securities with maturities greater than 90 days at date of purchase. Cash equivalents are stated at amounts that approximate fair value based on quoted market prices. Marketable securities are recorded at their fair values.
Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.
The Company’s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of accumulated other comprehensive loss in the stockholders’ equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific identification method and are reclassified from accumulated other comprehensive loss to results of operations as other expense, net. There were no realized gains and losses for the three and six months ended July 1, 2023 and July 2, 2022, respectively.
Cash, cash equivalents and marketable securities consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Cash and cash equivalents:
Cash$45,984 $39,189 
Commercial paper25,270 33,199 
U.S. government securities14,914 5,990 
U.S. government agency securities2,954  
Money market funds1,065 555 
Corporate debt securities 140 
Total cash and cash equivalents90,187 79,073 
Marketable securities:
U.S. government securities99,173 106,750 
U.S. government agency securities40,306 23,632 
Commercial paper29,916 28,992 
Corporate debt securities4,546 3,168 
Municipal securities 100 
Total marketable securities173,941 162,642 
$264,128 $241,715 
The carrying amounts of the Company’s money market funds approximate their fair values due to their nature, duration and short maturities.
9

The amortized cost and fair value of marketable securities were as follows (in thousands):
As of July 1, 2023Amortized CostUnrealized LossesFair Value
U.S. government securities$114,541 $(454)$114,087 
Commercial paper55,228 (42)55,186 
U.S. government agency securities43,703 (443)43,260 
Corporate debt securities4,570 (24)4,546 
$218,042 $(963)$217,079 

As of December 31, 2022Amortized CostUnrealized LossesFair Value
U.S. government securities$114,119 $(1,379)$112,740 
Commercial paper62,262 (71)62,191 
U.S. government agency securities23,876 (244)23,632 
Corporate debt securities3,312 (4)3,308 
Municipal securities101 (1)100 
$203,670 $(1,699)$201,971 
4. Fair Value Measurements
The Company measures its cash equivalents and marketable securities at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. The Company utilizes the following three-tier value hierarchy, which prioritizes the inputs used in measuring fair value:
Level 1 – Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.
Level 2 – Observable inputs other than quoted prices included in Level 1 for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-driven valuations in which all significant inputs and significant value drivers are observable in active markets.
Level 3 – Unobservable inputs to the valuation derived from fair valuation techniques in which one or more significant inputs or significant value drivers are unobservable. The fair value hierarchy also requires the Company to maximize the use of observable inputs, when available, and to minimize the use of unobservable inputs when determining inputs and determining fair value.

The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands):
As of July 1, 2023Level 1Level 2Total
Money market funds$1,065 $ $1,065 
U.S. government securities114,087  114,087 
Commercial paper 55,186 55,186 
U.S. government agency securities 43,260 43,260 
Corporate debt securities 4,546 4,546 
$115,152 $102,992 $218,144 

10

As of December 31, 2022Level 1Level 2Total
Money market funds$555 $ $555 
U.S. government securities112,740  112,740 
Commercial paper 62,191 62,191 
U.S. government agency securities 23,632 23,632 
Corporate debt securities 3,308 3,308 
Municipal securities 100 100 
$113,295 $89,231 $202,526 
5. Balance Sheet Details

Accounts receivable, net consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Accounts receivable$97,321 $94,201 
Allowance for doubtful accounts(341)(397)
$96,980 $93,804 
Inventory consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Raw materials$7,447 $640 
Finished goods145,947 148,520 
$153,394 $149,160 
Prepaid expenses and other current assets consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Supplier deposits    $51,391 $39,064 
Prepaid expenses and other current assets33,391 23,627 
$84,782 $62,691 
Property and equipment, net consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Test equipment$48,407 $44,106 
Computer equipment14,143 13,396 
Software11,396 10,389 
Leasehold improvements1,925 1,730 
Furniture and fixtures1,266 1,153 
Total77,137 70,774 
Accumulated depreciation and amortization(48,301)(44,940)
$28,836 $25,834 






11

Accrued liabilities consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Compensation and related benefits$26,089 $27,813 
Component inventory held by suppliers11,484 10,280 
Professional and consulting fees8,311 7,307 
Customer advances or rebates7,888 5,653 
Revenue share payments7,585 7,210 
Current portion of warranty and retrofit5,786 6,377 
Taxes payable4,425 4,581 
Operating leases3,895 3,949 
Product returns2,394 2,961 
Freight995 3,649 
Business events 3,167 
Other6,423 7,527 
$85,275 $90,474 
In March 2018, and as amended in December 2020, the Company entered into an agreement with a vendor to develop a certain software product and related enhancements pursuant to which the Company is obligated to make revenue-share payments under the program, subject to aggregate fixed revenue-share payments of $15.8 million. The payments are based on a revenue-share rate applied to revenue from the developed-product and the corresponding hardware sales through March 2024. If the minimum revenue-share payments are not achieved by the end of that period, a true-up payment will be due. As of July 1, 2023, the liability, including accrued interest, was $7.6 million, which is included in “Accrued liabilities” in the accompanying Condensed Consolidated Balance Sheet. As of December 31, 2022, the liability, including accrued interest, was $11.4 million, of which $7.2 million was included in “Accrued liabilities” and $4.2 million in “Other long-term liabilities.”
Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):
 Three Months EndedSix Months Ended
July 1,
2023
July 2,
2022
July 1,
2023
July 2,
2022
Balance at beginning of period$8,445 $9,570 $8,386 $9,594 
Accruals for product warranty and retrofit
802 (351)1,817 177 
Cost of warranty and retrofit claims
(941)(565)(1,897)(1,117)
Balance at end of period$8,306 $8,654 $8,306 $8,654 
6. Commitments and Contingencies
Lease Commitments
The Company leases office space under non-cancelable operating leases. Certain of the Company’s operating leases contain renewal options and rent acceleration clauses. Future minimum payments under the non-cancelable operating leases consisted of the following as of July 1, 2023 (in thousands):
PeriodFuture Minimum Lease Payments
Remainder of 2023$2,232 
20244,668 
20254,470 
20261,490 
2027 and thereafter1,790 
Total future minimum lease payments14,650 
Less imputed interest(1,251)
$13,399 

12

As of July 1, 2023, the operating lease liability consisted of the following (in thousands):
Accrued liabilities - current portion of operating leases$3,895 
Operating leases9,504 
$13,399 
The Company leases its headquarters office space in San Jose, California under a lease agreement that expires in December 2025. The future minimum lease payments under the lease are $6.1 million and are included in the table above.
The weighted average discount rate for the Company’s operating leases as of July 1, 2023 was 5.4%. The weighted average remaining lease term as of July 1, 2023 was 3.5 years.
For the three and six months ended July 1, 2023, total rent expense of the Company was $1.2 million and $2.4 million, respectively. For the three and six months ended July 2, 2022, total rent expense of the Company was $1.1 million and $2.2 million, respectively. Cash paid within operating cash flows for operating leases was $2.3 million for the six months ended July 1, 2023 and July 2, 2022 for each respective period.
Purchase Commitments
The Company’s suppliers, including contract manufacturers (“CMs”) and original design manufacturers (“ODMs”), place orders for certain component inventory in advance based upon the Company’s build forecasts in order to reduce manufacturing lead times and ensure adequate component supply. The components are used by the CMs and ODMs to build the products included in the build forecasts. The Company generally does not take ownership of the components held by CMs and ODMs. The Company places purchase orders with its CMs and ODMs in order to fulfill its monthly finished product inventory requirements. The Company incurs a liability when the CMs and ODMs convert the component inventory to a finished product and takes ownership of the finished goods inventory. In the event of termination of services with a manufacturing partner, the Company has purchased, and may be required to purchase in the future, certain of the remaining components inventory held by the CM or ODM as well as any outstanding orders pursuant to the contractual provisions with such CM or ODM. As of July 1, 2023 and December 31, 2022, the Company had approximately $253.9 million and $340.6 million, respectively, of outstanding purchase commitments for inventories to be delivered by its suppliers, including CMs and ODMs, within two years.
The Company has from time to time, and subject to certain conditions, reimbursed certain suppliers for component inventory purchases when this inventory has been rendered excess or obsolete, for example due to manufacturing and engineering change orders resulting from design changes, manufacturing discontinuation of products by its suppliers, or in cases where the Company has committed inventory levels that greatly exceed projected demand. The estimated excess and obsolete inventory liabilities related to such manufacturing and engineering change orders and other factors, which are included in accrued liabilities in the accompanying balance sheets, were $11.5 million and $10.3 million as of July 1, 2023 and December 31, 2022, respectively. The Company records the related charges in cost of revenue in its Condensed Consolidated Statements of Comprehensive Income.
Litigation
From time to time, the Company is involved in various legal proceedings arising from the normal course of business activities. The Company is not currently a party to any legal proceeding that, if determined adversely to the Company, in management’s opinion, is currently expected to individually or in the aggregate have a material adverse effect on the Company’s business, operating results or financial condition taken as a whole.
7. Stockholders’ Equity
2019 Equity Incentive Award Plan
Employees and consultants of the Company, its subsidiaries and affiliates, as well as members of the Company’s Board of Directors, are eligible to receive awards under the 2019 Equity Incentive Award Plan (“the 2019 Plan”). The 2019 Plan provides for the grant of stock options, including incentive stock options and nonqualified stock options, stock appreciation rights, restricted stock, restricted stock units, other stock or cash-based awards and dividend equivalents to eligible individuals. At the Company’s 2023 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the 2019 Plan by 1.5 million shares. As of July 1, 2023, there were 5.7 million shares available for issuance under the 2019 Plan.
13

During the three months ended July 1, 2023, stock option awards exercisable for up to an aggregate of 0.2 million shares of common stock were granted with a grant date weighted-average exercise price of $42.79 per share. During the six months ended July 1, 2023, stock option awards exercisable for up to an aggregate of 0.6 million shares of common stock were granted with a grant date weighted-average exercise price of $48.75 per share. These stock option awards vest 25% on the first anniversary of the vesting commencement date and on a quarterly basis thereafter over an additional three years.
In February 2023, performance-based stock option awards exercisable for up to an aggregate of 1.2 million shares of common stock were granted to certain Company executives with a grant date exercise price of $51.57 per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net operating income for 2023 (collectively, the “2023 Performance Targets”) during the one-year performance period. These performance-based stock option awards will vest, subject to certification by the Compensation Committee of the Company’s Board of Directors upon the achievement of the 2023 Performance Targets, as to 25% of the shares of common stock earned on the one year anniversary of the date of grant, and as to the remaining 75% of the shares of common stock earned, in substantially equal quarterly installments over the subsequent 36 months, subject to the executive’s continuous service with the Company through the respective vesting dates. If the non-GAAP net operating income target and the bookings target are each achieved below 80% of target, no shares would be awarded, and the performance-based stock option awards would be forfeited in full. If either target is achieved at the minimum threshold of 80% of target, then the shares are awarded at 50% of the granted shares, with an increasing percentage of shares awarded above the minimum thresholds up to 125% of the granted shares for each target. Each target result is then weighted by 50% and the combined total determines the percent of target shares. The maximum combined award is 100%. The probability of meeting the performance conditions related to these performance-based stock option awards was assessed to be probable as of July 1, 2023 based on adjusted targets, and stock-based compensation expense of $4.5 million was recognized for the three months ended July 1, 2023. For the six months ended July 1, 2023, stock-based compensation expense of $6.9 million was recognized.
During the three months ended July 1, 2023, 31,000 shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $16.30 per share. During the six months ended July 1, 2023, 0.3 million shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $12.56 per share. As of July 1, 2023, unrecognized stock-based compensation expense of $95.0 million related to stock options, net of estimated forfeitures, is expected to be recognized over a weighted-average period of 2.2 years.
Employee Stock Purchase Plans
The Company maintains two employee stock purchase plans - the Amended and Restated Employee Stock Purchase Plan (the “ESPP”) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the “NQ ESPP”).
The ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 15% of their eligible compensation subject to certain Internal Revenue Code limitations.
The offering periods under the ESPP are two six-month offering periods from August 15th through February 14th and February 15th through August 14th of each year. The price of common stock purchased under the ESPP is 85% of the lower of the fair market value of the common stock on the commencement date and the end date of each six-month offering period. As of July 1, 2023, there were 4.6 million shares available for issuance under the ESPP. During the six months ended July 1, 2023, 0.1 million shares were purchased under the ESPP. As of July 1, 2023, unrecognized stock-based compensation expense of $0.3 million related to the ESPP is expected to be recognized over a remaining service period of 0.1 years.
The NQ ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 25% of their eligible recurring compensation. Eligible employees have the right to (a) purchase the maximum number of whole shares of common stock that can be purchased with the elected payroll deductions during each offering period for which the employee is enrolled at a purchase price equal to the closing price of the Company’s common stock on the last day of such offering period and (b) receive an equal number of shares of the Company’s common stock that are subject to a risk of forfeiture in the event the employee terminates employment within the one year period immediately following the purchase date. The NQ ESPP provides quarterly offering periods from February 8th through May 7th, May 8th through August 7th, August 8th through November 7th and November 8th through February 7th of each year, with a maximum of 0.25 million shares allocated per purchase period.
At the Company’s 2023 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the NQ ESPP by 1.2 million shares. The maximum number of shares of common stock currently authorized for issuance under the NQ ESPP is 7.5 million shares. As of July 1, 2023, there were 3.8 million shares available for issuance under the NQ ESPP. During the six months ended July 1, 2023, 0.4 million shares were purchased and issued. As of July 1, 2023, unrecognized stock-based compensation expense of $10.9 million related to the NQ ESPP is expected to be recognized over a remaining weighted-average service period of 0.8 years.
14

Stock-Based Compensation
The following table summarizes stock-based compensation expense (in thousands):
 Three Months EndedSix Months Ended
July 1,
2023
July 2,
2022
July 1,
2023
July 2,
2022
Cost of revenue$780 $650 $1,580 $1,266 
Sales and marketing5,053 2,848 9,484 5,330 
Research and development4,860 2,259 9,172 6,004 
General and administrative7,151 4,250 13,828 7,875 
$17,844 $10,007 $34,064 $20,475 
Income tax benefit recognized$2,955 $2,546 $7,107 $6,127 
Stock Repurchase Program
In July 2022, the Company’s Board of Directors authorized a one-year stock repurchase program for up to $100 million of the Company’s common stock. Under the repurchase program, repurchases can be made from time to time using a variety of methods, which may include open market purchases, privately negotiated transactions or otherwise, all in accordance with the rules of the SEC and other applicable legal requirements. The specific timing, price and size of the purchases depends on prevailing stock prices, general economic and market conditions, and other considerations consistent with the Company’s capital allocation strategy. The repurchase program does not obligate the Company to acquire a particular amount of common stock, and the repurchase program may be suspended or discontinued at any time at the Company’s discretion. In May 2023, the Company’s Board of Directors amended the repurchase program to remove the one-year end date. As of July 1, 2023, the remaining authorized amount for stock repurchases under this program was $90.0 million. For the six months ended July 1, 2023, the Company purchased 0.2 million shares of common stock for $10.0 million at an average price per share of $44.53.
8. Revenue from Contracts with Customers
The Company develops, markets and sells a broadband platform and managed services, and there are no segment managers who are held accountable for operations, operating results and plans for levels or components below the Company unit level. Accordingly, the Company is a single reporting segment and operating unit structure. The Company’s chief operating decision maker is the Company’s Chief Executive Officer, who reviews financial information presented on a Company-wide basis, for purposes of allocating resources and evaluating financial performance.
The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):
Three Months EndedSix Months Ended
July 1, 2023July 2, 2022July 1, 2023July 2, 2022
United States$232,423 $183,932 $460,362 $349,563 
Europe14,737 2,954 27,106 9,527 
Americas ex U.S.11,329 10,808 18,866 19,679 
Middle East & Africa2,375 4,099 4,148 7,717 
Asia Pacific152 249 542 504 
$261,016 $202,042 $511,024 $386,990 
Contract Asset
Contract assets include amounts recognized as revenue prior to the Company’s contractual right to bill the customer. Amounts are billed in accordance with the agreed-upon contractual terms. The closing balance as of July 1, 2023 was $4.3 million of which the Company expects to bill 54% of the balance during the remainder of 2023. The contract asset balance may fluctuate depending on the timing of fulfilling the related performance obligations with the Company's customers.
Contract Liability
Deferred revenue was $67.2 million, $69.6 million and $58.6 million as of July 1, 2023, April 1, 2023 and December 31, 2022, respectively. The decrease in the deferred revenue balance for the three months ended July 1, 2023 was the result of revenue recognized of $11.3 million that was included in the deferred revenue balance at the beginning the period offset by cash payments received or due in advance of satisfying the Company’s performance obligations. The increase in the deferred revenue balance for the six months ended July 1, 2023 was driven by cash payments received or due in advance of satisfying
15

the Company’s performance obligations and balances reclassified to contract assets during the period offset by $20.0 million of revenue recognized that was included in the deferred revenue balance at the beginning of the period.
Revenue allocated to remaining performance obligations (“RPOs”) represents contract revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods but excludes variable consideration where the monthly invoicing is based on usage or where actual usage exceeds the minimum commitment. RPOs were $213.0 million as of July 1, 2023, and the Company expects to recognize as revenue 38% of this amount over the next 12 months and the remainder thereafter.
Contract Costs
The Company capitalizes certain sales commissions related primarily to multi-year subscriptions and extended warranty support for which the expected amortization period is greater than one year. As of July 1, 2023 and December 31, 2022, the unamortized balance of deferred commissions was $10.4 million and $11.2 million, respectively. For the three and six months ended July 1, 2023, the amount of amortization was $1.5 million and $2.9 million, respectively, compared to $0.9 million and $1.6 million for the three and six months ended July 2, 2022, respectively. There was no impairment loss in relation to the costs capitalized for either period.
Concentration of Customer Risk
No customer accounted for more than 10% of the Company’s revenue for the three or six months ended July 1, 2023 and July 2, 2022.
One customer represented 14% of the Company’s accounts receivable as of July 1, 2023. One customer represented 11% of the Company’s accounts receivable as of December 31, 2022.
9. Income Taxes
The following table presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):
 Three Months EndedSix Months Ended
July 1,
2023
July 2,
2022
July 1,
2023
July 2,
2022
Income before income taxes$14,229 $9,669 $25,638 $19,489 
Income taxes$4,856 $2,148 $6,667 $3,849 
Effective tax rate34.1 %22.2 %26.0 %19.7 %
The Company’s income taxes for the three and six months ended July 1, 2023 and July 2, 2022 were determined using an estimated effective tax rate adjusted for discrete items that occurred during the respective periods. The Company’s effective tax rate for the three and six months ended July 1, 2023 and July 2, 2022 differed from the statutory federal corporate tax rate of 21% primarily due to state taxes, the inclusion of income from certain foreign operations and the effect of non-deductible stock-based compensation for executive officers offset by U.S. federal research tax credits and excess tax benefits from stock-based compensation.
The Company has net deferred tax assets that have arisen primarily as a result of temporary differences, net operating loss carryforwards, capitalized research and development costs and tax credits. The Company’s ability to realize a deferred tax asset is based on its ability to generate sufficient future taxable income within the applicable carryforward period and subject to any applicable limitations. Management believes that it is more likely than not that the Company will utilize a significant portion of its deferred tax assets.
The Company maintained a valuation allowance for the three and six months ended July 1, 2023 and July 2, 2022 of $29.9 million on certain U.S. federal and state deferred tax assets that the Company believes are not more likely than not to be realized in future periods.
The Company considered scheduled reversals of deferred tax liabilities, historic profitability, projected future taxable income, ongoing tax planning strategies and other matters, including the period over which its deferred tax assets will be recoverable, in assessing the need for and the amount of the valuation allowance. In the event that actual results differ from these estimates, or if the Company decides to adjust these estimates in the future periods, further adjustments to its valuation allowance may be recorded, which could materially impact the Company’s financial position and net income in the period of the adjustment.
16

10. Net Income Per Common Share
The following table sets forth the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):
 Three Months EndedSix Months Ended
July 1,
2023
July 2,
2022
July 1,
2023
July 2,
2022
Numerator:
Net income$9,373 $7,521 $18,971 $15,640 
Denominator:
Weighted-average common shares outstanding used to compute basic net income per share66,271 64,836 66,157 64,662 
Effect of dilutive common stock equivalents3,386 3,333 3,527 3,623 
Weighted-average common shares outstanding used to compute diluted net income per share69,657 68,169 69,684 68,285 
Net income per common share:
Basic net income per common share$0.14 $0.12 $0.29 $0.24 
Diluted net income per common share$0.13 $0.11 $0.27 $0.23 
Potentially dilutive shares excluded, weighted average4,714 2,617 3,786 2,196 
Potentially dilutive shares have been excluded from the computation of diluted net income per common share when their effect is antidilutive. These antidilutive shares were from stock options.
17

ITEM 2.Management’s Discussion and Analysis of Financial Condition and Results of Operations
This report includes “forward-looking statements” within the meaning of Section 27A of the Securities Act and Section 21E of the Securities and Exchange Act of 1934, as amended, or the Exchange Act. All statements other than statements of historical facts are “forward-looking statements” for purposes of these provisions, including any projections of earnings, revenue or other financial items, any statement of or concerning the following: the plans and objectives of management for future operations, proposed new products or licensing, product development, anticipated customer demand or capital expenditures, anticipated growth and trends in our business and industry, future economic and/or market conditions or performance and assumptions underlying any of the above. In some cases, forward-looking statements can be identified by the use of terminology such as “could,” “may,” “will,” “would,” “expects,” “believes,” “intends,” “plans,” “anticipates,” “estimates,” “projects,” “predicts,” “potential,” or “continue” or the negative thereof or other comparable terminology. Readers are cautioned that these forward-looking statements are only predictions and are subject to risks, uncertainties and assumptions that are difficult to predict. Although we believe that the expectations reflected in the forward-looking statements contained herein are reasonable, there can be no assurance that such expectations or any of the forward-looking statements will prove to be correct, and actual results could differ materially from those projected or assumed in the forward-looking statements. Our future financial condition and results of operations, as well as any forward-looking statements, are subject to inherent risks and uncertainties, including those identified in the Risk Factors discussed in Part II, Item 1A, of this report on Form 10-Q, as well as in other sections of this report and in our Annual Report on Form 10-K for the year ended December 31, 2022. All forward-looking statements and reasons why results may differ included in this Quarterly Report on Form 10-Q are made as of the date hereof, and we assume no obligation to update these forward-looking statements or reasons why actual results might differ.
Overview
We are the leading global provider of a broadband delivery platform (cloud, software and systems) and managed services that enable service providers of all types and sizes to innovate and transform their businesses. For our customers to successfully transform their businesses into the innovative BSPs of the future, they require actionable data for critical business functions such as network operations, customer support and marketing. However, this data is often trapped in disparate systems or departmental silos. Our Calix platform, which includes Calix Cloud, Revenue EDGE and Intelligent Access EDGE, gathers, analyzes and applies machine learning to deliver real-time insights seamlessly to each key business function. Our customers utilize these insights and data to simplify network operations, marketing and customer support and deliver experiences that excite their subscribers. This enables BSPs to grow their brand through increased subscriber acquisition, loyalty and revenue and to reduce their operating costs, creating value for their businesses and the communities they serve.
We market our Calix platform and managed services to communication service providers globally through our direct sales force as well as select resellers. Our customers range from smaller, regional service providers to some of the world’s largest service providers. Customers are defined into small (less than 250,000 subscribers), medium (250,000 to 2.5 million subscribers) or large (greater than 2.5 million subscribers). We have enabled approximately 1,900 customers purchasing directly and through partners to deploy passive optical, Active Ethernet and point-to-point Ethernet fiber access networks.
Our revenue and potential revenue growth will depend on our ability to develop, market and sell our platform and managed services to strategically aligned customers of all types such as WISPs, fiber overbuilders, cable MSOs, municipalities and electric cooperatives in the United States and internationally. Our growth is also highly dependent on the speed and willingness of customers to adopt the Calix platform and managed services.
Revenue fluctuations result from many factors, including, but not limited to: increases or decreases in customer orders for our products and services, market, financial or other factors that may delay or materially impact customer purchasing decisions, non-availability of products due to supply chain challenges, including component and labor shortages and increasing lead times as well as disruptions as a result of pandemics or natural disasters, contractual terms with customers that result in delayed revenue recognition and varying budget cycles and seasonal buying patterns of our customers. More specifically, our customers have in the past spent less in the first quarter as they are finalizing their annual budgets, and in certain regions, customers are challenged by winter weather conditions that inhibit fiber deployment in outside infrastructure. Our revenue is also dependent upon our customers’ timing of purchases, capital expenditure plans and decisions to upgrade their networks or adopt new technologies, including adoption of our software and cloud platform solutions, as well as our ability to grow our customer base.
Cost of revenue is strongly correlated to revenue and tends to fluctuate due to all of the above factors that may cause revenue fluctuations. Factors that have impacted our cost of revenue for the three and six months ended July 1, 2023, or that we expect will impact cost of revenue in future periods, also include: changes in the mix of products delivered, customer location and regional mix, changes in the cost of our inventory, including higher costs due to materials shortages including components, supply constraints, investments to support expansion of cloud and customer support offerings as well as our customer success organization, changes in product warranty, incurrence of retrofit costs, amortization of intangibles, support fees for silicon-related development work for our products, changes in trade policies, allowances for obligations to our suppliers and inventory
18

write-downs. In addition, we periodically elect to ship by air versus by ocean in order to meet delivery commitments to our customers, which is more costly. Cost of revenue also includes fixed expenses related to our internal operations, which could increase our cost of revenue as a percentage of revenue if our revenue declines.
Our gross profit and gross margin fluctuate based on timing of factors such as changes in customer mix and changes in the mix of products demanded and sold (and any related write-downs of existing inventory or accrual for supplier commitments) and have in the past been and may be negatively impacted by increases in mix of revenue from channel sales rather than direct sales or other unfavorable customer or product mix, shipment volumes and any related volume discounts, changes in our product and services costs, pricing decreases or discounts, new product introductions or upgrades to existing products, customer rebates and incentive programs due to competitive pressure or materials shortages, supply constraints, investments to support expansion of cloud and customer support offerings, tariffs or unfavorable changes in trade policies.
Our operating expenses fluctuate based on the following factors among others: changes in headcount and personnel costs, which comprise a significant portion of our operating expenses; variable compensation due to fluctuations in shipment volumes or level of achievement against performance targets; timing of research and development expenses, including investments in innovative solutions and new customer segments, prototype builds and outsourced development resources; investments in marketing programs; asset write-offs; investments in our business and information technology infrastructure; and fluctuations in stock-based compensation expenses due to timing of equity grants or other factors affecting vesting.
Further, as a result of factors contributing to the fluctuations described above among other factors, many of which are outside our control, our quarterly operating results fluctuate from period to period. Comparing our operating results on a period-to-period basis may not be meaningful, and you should not rely on our past results as an indication of our future performance.
Critical Accounting Policies and Estimates
Our financial statements are prepared in accordance with U.S. GAAP. These accounting principles require us to make certain estimates and judgments that can affect the reported amounts of assets and liabilities as of the date of the financial statements, as well as the reported amounts of revenue and expenses during the periods presented. Management bases its estimates, assumptions and judgments on historical experience and on various other factors that are believed to be reasonable under the circumstances. To the extent there are material differences between these estimates and actual results, our financial statements may be affected. Our management evaluates its estimates, assumptions and judgments on an ongoing basis.
Our critical accounting policies and estimates, which are revenue recognition, inventory valuation and supplier purchase commitments and income taxes, are described under “Critical Accounting Policies and Estimates” in “Management’s Discussion and Analysis of Financial Condition and Results of Operations” included in our Annual Report on Form 10-K for the year ended December 31, 2022. For the six months ended July 1, 2023, there have been no significant changes in our critical accounting policies and estimates.
Recent Accounting Pronouncements
There have been no additional accounting pronouncements or changes in accounting pronouncements during the six months ended July 1, 2023 as compared to the recent accounting pronouncements described in our Annual Report on Form 10-K for the year ended December 31, 2022 that are significant or expected to be significant to us.
Results of Operations
Comparison of the Three and Six Months Ended July 1, 2023 and July 2, 2022
Revenue
The following table sets forth our revenue (dollars in thousands):
 Three Months EndedSix Months Ended
July 1,
2023
July 2,
2022
Variance
in
Dollars
Variance
in
Percent
July 1,
2023
July 2,
2022
Variance
in
Dollars
Variance
in
Percent
Revenue$261,016 $202,042 $58,974 29 %$511,024 $386,990 $124,034 32 %
Our revenue increased by $59.0 million and $124.0 million for the three and six months ended July 1, 2023, respectively, as compared to the corresponding periods in 2022. The increase in revenue was primarily due to higher revenue from our growing base of small and medium BSP customers and the continuation of BSPs seeking to provide their subscribers a better experience by adopting our platform and managed services. During the second half of 2022, we added a new medium-sized customer that began to receive significant shipments during the second half of 2022 and the six months ended July 1, 2023.
19

For the three and six months ended July 1, 2023, revenue generated in the United States was $232.4 million and $460.4 million, or 89% and 90% of our revenue, compared to $183.9 million and $349.6 million, or 91% and 90% of our revenue for the same periods in 2022. International revenue was $28.6 million and $50.7 million, or 11% and 10% of our revenue, for the three and six months ended July 1, 2023, as compared to $18.1 million and $37.4 million, or 9% and 10% of our revenue, for the same periods in 2022.
No customer accounted for more than 10% of the Company’s revenue for the three and six months ended July 1, 2023 and July 2, 2022.
Gross Profit and Gross Margin
The following table sets forth our gross profit and gross margin (dollars in thousands):
 Three Months EndedSix Months Ended
 July 1,
2023
July 2,
2022
Variance
in
Dollars
Variance
in
Percent
July 1,
2023
July 2,
2022
Variance
in
Dollars
Variance
in
Percent
Gross profit$136,470 $100,180 $36,290 36 %$264,521 $191,972 $72,549 38 %
Gross margin52.3 %49.6 %51.8 %49.6 %
Gross profit increased to $136.5 million and $264.5 million for the three and six months ended July 1, 2023, from $100.2 million and $192.0 million during the corresponding periods in 2022. The increase in gross margin of 270 and 220 basis points for the three and six months ended July 1, 2023, respectively, compared to the corresponding periods in 2022, was mainly due to increased contributions from our platform and managed services, product mix and an easing of the excessive prices paid from purchases made on the secondary market during the supply-chain disruption partially offset by excess and obsolete inventory charges.
Operating Expenses
Sales and Marketing Expenses
The following table sets forth our sales and marketing expenses (dollars in thousands):
 Three Months EndedSix Months Ended
 July 1,
2023
July 2,
2022
Variance
in
Dollars
Variance
in
Percent
July 1,
2023
July 2,
2022
Variance
in
Dollars
Variance
in
Percent
Sales and marketing expenses$54,596 $41,138 $13,458 33 %$106,461 $77,229 $29,232 38 %
Percent of revenue21 %20 %21 %20 %
Sales and marketing expenses for the three months ended July 1, 2023 increased by $13.5 million compared with the corresponding period in 2022 primarily due to increases in personnel expenses mainly related to sales headcount and higher sales incentive compensation of $9.4 million, stock-based compensation of $2.2 million and travel expenses of $0.9 million.
Sales and marketing expenses for the six months ended July 1, 2023 increased by $29.2 million compared with the corresponding period in 2022 primarily due to increases in personnel expenses mainly related to sales headcount and higher sales incentive compensation of $20.0 million, stock-based compensation of $4.2 million, travel expenses of $2.3 million and marketing expenses of $0.9 million.
We expect our investments in sales and marketing will increase in absolute dollars, but be relatively consistent as a percentage of revenue, as we extend our market reach and grow our business in support of our key strategic initiatives.
Research and Development Expenses
The following table sets forth our research and development expenses (dollars in thousands):
 Three Months EndedSix Months Ended
 July 1,
2023
July 2,
2022
Variance
in
Dollars
Variance
in
Percent
July 1,
2023
July 2,
2022
Variance
in
Dollars
Variance
in
Percent
Research and development expenses$45,341 $30,430 $14,911 49 %$88,514 $60,247 $28,267 47 %
Percent of revenue17 %15 %17 %16 %
Percentage of gross profit33 %30 %33 %31 %
20

Research and development expenses for the three months ended July 1, 2023 increased by $14.9 million as compared with the corresponding period in 2022 mainly due to increases in personnel expenses of $9.0 million, stock-based compensation of $2.6 million, prototypes and test equipment expenses of $1.0 million, outside services of $0.8 million and depreciation and amortization of $0.8 million.
Research and development expenses for the six months ended July 1, 2023 increased by $28.3 million as compared with the corresponding period in 2022 mainly due to increases in personnel expenses of $17.2 million, stock-based compensation of $3.2 million, outside services of $2.6 million, prototypes and test equipment expenses of $2.3 million and depreciation and amortization of $1.6 million.
We expect our investments in research and development to increase in absolute dollars, but remain relatively consistent as a percentage of gross profit, as we seek to expand the functionality and capabilities of our platforms.
General and Administrative Expenses
The following table sets forth our general and administrative expenses (dollars in thousands):
 Three Months EndedSix Months Ended
 July 1,
2023
July 2,
2022
Variance
in
Dollars
Variance
in
Percent
July 1,
2023
July 2,
2022
Variance
in
Dollars
Variance
in
Percent
General and administrative expenses$24,722 $18,911 $5,811 31 %$47,799 $34,942 $12,857 37 %
Percent of revenue%%%%
General and administrative expenses for the three months ended July 1, 2023 increased by $5.8 million as compared with the corresponding period in 2022 mainly due to increases in stock-based compensation of $2.9 million and personnel expenses of $2.5 million. We plan to continue to invest in our information technology infrastructure and headcount due to the growth of our business.
General and administrative expenses for the six months ended July 1, 2023 increased by $12.9 million as compared with the corresponding period in 2022 mainly due to increases in stock-based compensation of $6.0 million, personnel expenses of $5.8 million and outside services of $1.1 million.
We expect our general and administrative investments to increase in absolute dollars but decline slightly as a percentage of revenue over time in relation to increased revenue.
Interest and Other Income (Expense), net
The following table sets forth our interest and other expense, net (dollars in thousands):
 Three Months EndedSix Months Ended
 July 1,
2023
July 2,
2022
Variance
in
Dollars
Variance
in
Percent
July 1,
2023
July 2,
2022
Variance
in
Dollars
Variance
in
Percent
Interest and other income (expense), net$2,418 $(32)$2,450 7,656 %$3,891 $(65)$3,956 6,086 %
Percent of revenue%— %%— %
Interest and other income (expense), net increased by $2.5 million and $4.0 million as compared with the corresponding periods in 2022 mainly due to a higher rate of interest earned on our cash, cash equivalents and marketable securities as well as a growing cash balance.
Income Taxes
The following table sets forth our income taxes (dollars in thousands):
 Three Months EndedSix Months Ended
 July 1,
2023
July 2,
2022
Variance
in
Dollars
Variance
in
Percent
July 1,
2023
July 2,
2022
Variance
in
Dollars
Variance
in
Percent
Income taxes$4,856 $2,148 $2,708 126 %$6,667 $3,849 $2,818 73 %
Effective tax rate34.1 %22.2 %26.0 %19.7 %
For the three and six months ended July 1, 2023, our income tax expense was $4.9 million and $6.7 million for an effective tax rate of 34.1% and 26.0%, respectively, which differed from the statutory rate of 21% primarily due to state taxes, the inclusion
21

of income from certain foreign operations and the effect of non-deductible stock-based compensation for executive officers offset by U.S. federal research tax credits and excess tax benefits from stock-based compensation. The effective tax rates for the three and six months ended July 1, 2023 are higher than the similar periods in 2022 primarily as a result of a lower excess tax benefits from stock-based compensation.
Our income taxes may be subject to fluctuation during the year and in future years as new information is obtained. This may affect the assumptions used to estimate the annual effective tax rate, including factors such as actual results differing from our estimates of pre-tax earnings in the various jurisdictions in which we operate, which could impact the recognition of our deferred tax assets, further benefits from stock option exercises, investments in our foreign operations, the recognition or de-recognition of tax benefits related to uncertain tax positions and changes in or the interpretation of tax laws in jurisdictions where we conduct business.
Liquidity and Capital Resources
Historically, we have funded our operations and investing activities primarily through sales of our common stock, cash flow generated from operations and various borrowing arrangements. For the past few years, we have generated cash flow from our operations as our business has grown. As of July 1, 2023, we had cash, cash equivalents and marketable securities of $264.1 million, which consisted of deposits held at banks and major financial institutions and highly liquid marketable securities such as U.S. government agency securities and commercial paper.
Operating Activities
Net cash provided by operating activities was $25.6 million for the six months ended July 1, 2023 and consisted of net income of $19.0 million and non-cash charges of $41.0 million offset by cash flow decreases of $34.4 million reflected in the net change in assets and liabilities. Non-cash charges primarily consisted of stock-based compensation of $34.1 million and depreciation and amortization of $7.9 million.
Cash flow decreases resulting from the net change in assets and liabilities primarily consisted of an increase in prepaid expenses and other assets of $26.1 million mainly due to advanced payments to supply chain partners, the renewal of a software contract and reclassification of contract assets from deferred revenue; a decrease in accounts payable of $6.3 million due to the timing of inventory purchases; an increase in inventory of $4.2 million to improve our responsiveness to our BSPs’ subscriber demand; an increase in accounts receivable of $3.2 million in line with our revenue growth; and a decrease in accrued liabilities of $3.1 million due to the payout of incentive compensation and payments related to our Calix ConneXions 2022 Customer Success and Innovation conference. These changes were partially offset by an increase in deferred revenue of $8.6 million primarily due to our platform subscriptions and support contracts and reclassification of contract assets to prepaid expenses and other assets.
Net cash provided by operating activities was $14.4 million for the six months ended July 2, 2022 and consisted of net income of $15.6 million partially offset by non-cash charges of $29.2 million and cash flow decreases of $30.5 million reflected in the net change in assets and liabilities. Non-cash charges primarily consisted of stock-based compensation of $20.5 million, depreciation and amortization of $7.7 million and deferred income taxes of $1.0 million. Cash flow decreases resulting from the net change in assets and liabilities primarily consisted of an increase in prepaid expenses and other assets of $23.3 million mainly due to advanced payments to supply chain partners, an increase in inventory of $9.4 million to improve our responsiveness to customer demand, a decrease in accounts payable of $6.1 million due to the timing of payments related to inventory purchases and an increase in accounts receivable of $0.9 million in line with our revenue growth. These changes were partially offset by an increase in deferred revenue of $8.7 million due to Calix Cloud and Revenue Edge subscriptions, and support contracts.
Investing Activity
For the six months ended July 1, 2023, cash used in investing activities of $18.8 million consisted of net purchases of marketable securities of $8.7 million and capital expenditures of $10.1 million, consisting primarily of purchases of test and computer equipment and software.
For the six months ended July 2, 2022, cash used in investing activities of $27.7 million consisted of net purchases of marketable securities of $21.8 million and capital expenditures of $5.9 million, consisting primarily of purchases of test equipment and computer equipment.
Financing Activities
Net cash provided by financing activities of $4.2 million for the six months ended July 1, 2023 primarily consisted of proceeds from the issuance of common stock related to our equity plans of $18.3 million. This was partially offset by repurchases of common stock of $10.0 million and payments related to a financing arrangement of $4.1 million.
22

Net cash provided by financing activities of $13.9 million for the six months ended July 2, 2022 primarily consisted of proceeds from the issuance of common stock related to our equity plans.
Working Capital and Capital Expenditure Needs
Our material cash commitments include non-cancelable firm purchase commitments, normal recurring trade payables, compensation-related and expense accruals, operating leases and revenue-share obligations. We believe that our outsourced approach to manufacturing provides us significant flexibility in both managing inventory levels and financing our inventory. Furthermore, our Board of Directors has authorized a stock repurchase program for up to $100 million of our common stock of which $90.0 million remains available. During the six months ended July 1, 2023, repurchases of $10.0 million were made under the program. Our stock repurchase program does not require us to purchase a specific number of shares and may be modified, suspended or terminated at any time.
We believe, based on our current operating plan and expected operating cash flows, that our existing cash, cash equivalents and marketable securities will be sufficient to meet our anticipated cash needs for at least the next twelve months. If we are unable to generate sufficient cash flows or obtain other sources of liquidity, we will be forced to terminate our repurchase program, limit our development activities, reduce our investment in growth initiatives and institute cost-cutting measures, all of which may adversely impact our business and potential growth.
Contractual Obligations and Commitments
Our principal commitments as of July 1, 2023 consisted of our contractual obligations under non-cancelable outstanding purchase obligations, operating lease obligations for office space and a revenue share obligation. The following table summarizes our contractual obligations as of July 1, 2023 (in thousands):
Payments Due by Period
TotalLess Than 1 Year1-3 Years3-5 YearsMore Than 5 Years
Non-cancelable purchase commitments (1)
$306,759 $206,516 $86,566 $8,128 $5,549 
Operating lease obligations (2)
14,650 4,556 7,615 2,035 444 
Revenue share obligation (3)
7,694 7,694 — — — 
$329,103 $218,766 $94,181 $10,163 $5,993 

(1) Represents outstanding purchase commitments to be delivered by our third-party manufacturers or other vendors. See Note 6, “Commitments and Contingencies” of the Notes to Condensed Consolidated Financial Statements included in Part I, Item 1 of this Quarterly Report on Form 10-Q for further discussion regarding our outstanding purchase commitments related to our third-party manufacturers.
(2) Future minimum operating lease obligations in the table above primarily include payments for our office locations, which expire at various dates through 2029. See Note 6 “Commitments and Contingencies” of the Notes to Condensed Consolidated Financial Statements included in Part I, Item 1 of this Quarterly Report on Form 10-Q for further discussion regarding our operating leases.
(3) Represents remaining payments related to a revenue-share obligation, including imputed interest associated with developed software product and related enhancements by an engineering service provider. See Note 5 “Balance Sheet Details” of the Notes to Condensed Consolidated Financial Statements included in Part I, Item 1 of this Quarterly Report on Form 10-Q for further discussion regarding our outstanding liability.
ITEM 3. Quantitative and Qualitative Disclosures About Market Risk
Interest Rate Risk
The primary objectives of our investment activity are to preserve principal, provide liquidity and maximize income without significantly increasing risk. By policy, we do not enter into investments for trading or speculative purposes. As of July 1, 2023, we had cash, cash equivalents and marketable securities of $264.1 million, which was held primarily in cash, money market funds and highly liquid marketable securities such as U.S. government agency securities and commercial paper. Due to the nature of these money market funds and highly liquid marketable securities, we believe that we do not have any material exposure to changes in the fair value of our cash equivalents and marketable securities because of changes in interest rates.
Foreign Currency Exchange Risk
Our primary foreign currency exposures are described below.
23

Economic Exposure
The direct effect of foreign currency fluctuations on our sales and expenses has not been material because our sales and expenses are primarily denominated in U.S. dollars, or USD. However, we are indirectly exposed to changes in foreign currency exchange rates to the extent of our use of foreign CMs whom we pay in USD. Increases in the local currency rates of these vendors in relation to USD could cause an increase in the price of products that we purchase. Additionally, if the USD strengthens relative to other currencies, such strengthening could have an indirect effect on our sales to the extent it raises the cost of our products to non-U.S. customers and thereby reduces demand. A weaker USD could have the opposite effect. The precise indirect effect of currency fluctuations is difficult to measure or predict because our sales are influenced by many factors in addition to the impact of such currency fluctuations.
Translation Exposure
Our sales contracts are primarily denominated in USD and, therefore, most of our revenue is not subject to foreign currency risk. We are directly exposed to changes in foreign exchange rates to the extent such changes affect our expenses related to our foreign assets and liabilities with our subsidiaries in China, India and the United Kingdom, whose functional currencies are Chinese Renminbi, or RMB, Indian Rupee, or INR, and British Pounds Sterling, or GBP.
Our operating expenses are incurred primarily in the United States, in China associated with our research and development operations that are maintained there, in India for our center of excellence and in the United Kingdom for our international sales and marketing activities. Our operating expenses are generally denominated in the functional currencies of our subsidiaries in which the operations are located. The percentages of our operating expenses denominated in the following currencies for the indicated periods were as follows:
 Six Months Ended
 July 1,
2023
July 2,
2022
USD91 %92 %
RMB%%
INR%%
GBP%%
100 %100 %
If USD had appreciated or depreciated by 10%, relative to RMB, INR and GBP, our operating expenses for the first six months of 2023 would have decreased or increased by approximately $2.2 million, or approximately 1%.
Foreign exchange rate fluctuations may also adversely impact our financial position as the assets and liabilities of our foreign operations are translated into USD in preparing our Condensed Consolidated Balance Sheets. The effect of foreign exchange rate fluctuations on our consolidated financial position for the six months ended July 1, 2023 was a net translation loss of $37,000. This loss is recognized as an adjustment to stockholders’ equity through “Accumulated other comprehensive loss.”
Transaction Exposure
We have certain assets and liabilities, primarily accounts receivables and accounts payable (including inter-company transactions) that are denominated in currencies other than the relevant entity’s functional currency. In certain circumstances, changes in the functional currency value of these assets and liabilities create fluctuations in our reported consolidated financial position, cash flows and results of operations. Periodically, we use derivatives to hedge against fluctuations in foreign exchange rates. We do not enter into derivatives for speculative or trading purposes. We use foreign currency forward contracts to mitigate variability in gains and losses generated from the re-measurement of certain assets denominated in foreign currencies. These foreign exchange forward contracts typically have maturities of approximately one to two months. Transaction gains and losses on these foreign currency denominated assets and liabilities are recognized each period within “Other income (expense), net” in our Condensed Consolidated Statements of Comprehensive Income. During the six months ended July 1, 2023, the net gain we recognized related to these foreign currency denominated assets and liabilities was approximately $0.3 million.
ITEM 4.Controls and Procedures
Evaluation of Disclosure Controls and Procedures
Based on their evaluation as of July 1, 2023, our Chief Executive Officer and Chief Financial Officer, with the participation of our management, have concluded that our disclosure controls and procedures (as defined in Rules 13a–15(e) and 15d–15(e) under the Exchange Act) were effective at the reasonable assurance level.
24

Limitations on the Effectiveness of Controls
Our disclosure controls and procedures provide our Chief Executive Officer and Chief Financial Officer reasonable assurance that our disclosure controls and procedures will achieve their objectives. The term “disclosure controls and procedures,” as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act, means controls and other procedures of a company that are designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is accumulated and communicated to the company’s management, including its principal executive and principal financial officers, as appropriate, to allow timely decisions regarding required disclosure. Our management, including our Chief Executive Officer and Chief Financial Officer, does not expect that our disclosure controls and procedures or our internal control over financial reporting can or will prevent all human error. Our management recognizes that a control system, no matter how well designed and implemented, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. Furthermore, the design of a control system must reflect the fact that there are internal resource constraints, and the benefit of controls must be weighed relative to their corresponding costs. Because of the limitations in all control systems, no evaluation of controls can provide complete assurance that all control issues and instances of error, if any, within our company are detected. These inherent limitations include the realities that judgments in decision-making can be faulty, and that breakdowns can occur due to human error or mistake. Additionally, controls, no matter how well designed, could be circumvented by the individual acts of specific persons within the organization. The design of any system of controls is also based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated objectives under all potential future conditions.
Changes in Internal Control over Financial Reporting
There was no change in our internal control over financial reporting identified in connection with the evaluation required by Rule 13a-15(d) and 15d-15(d) of the Exchange Act that occurred during the period covered by this report that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.
25

PART II. OTHER INFORMATION

ITEM 1. Legal Proceedings
For a description of our material pending legal proceedings, please refer to Note 6 “Commitments and Contingencies – Litigation” of the Notes to Condensed Consolidated Financial Statements included in Part I, Item 1 of this Quarterly Report on Form 10-Q, which is incorporated by reference.
ITEM 1A. Risk Factors
We have identified the following additional risks and uncertainties that may affect our business, financial condition and/or results of operations. The risks described below include any material changes to and supersede the description of the risk factors disclosed in Part I, Item 1A of our Annual Report on Form 10-K for the year ended December 31, 2022, as filed with the Securities and Exchange Commission on February 21, 2023. Investors should carefully consider the risks described below, together with the other information set forth in this Quarterly Report on Form 10-Q, before making any investment decision. The risks described below are not the only ones we face. Additional risks not currently known to us or that we currently believe are immaterial may also significantly impair our business operations. Our business could be harmed by any of these risks. The trading price of our common stock could decline due to any of these risks, and investors may lose all or part of their investment.
Business and Operational Risks
We face risks associated with being materially dependent upon third-party vendors; certain factors that affect our business as a result of those dependencies have and could continue to disrupt our business and adversely impact our gross margin and results of operations.
We materially depend upon third-party vendors for our complex global supply-chain operations, including for services to develop, design and source components and materials, as well as manufacture, transport and deliver our products. If any of these vendors stop providing their services, for any reason, we would have to obtain similar services from other sources, which may not be available on commercially reasonable terms, if at all. We also have limited control over disruptions that may occur at the facilities of those providers, such as supply interruptions, labor shortages, strikes, shipping backlogs at ports and similar disruptions to transportation infrastructure, design and manufacturing failures, quality control issues, systems failures or even facility closures arising from pandemics or natural disasters. In addition, switching development firms or manufacturers could delay the manufacture and availability of products and/or require us to re-qualify our products with our customers, which would be costly and time-consuming. Any interruption in the development, supply or distribution of our products would adversely affect our ability to meet scheduled product deliveries to our customers and could result in lost revenue or higher costs, which would negatively impact our gross margin and operating results and harm our business.
Particular risks associated with management of our global supply chain operations include the following:
Manufacturing constraints, shortages and other disruptions. We do not have internal manufacturing capabilities and rely solely on a small number of contract manufacturers, or CMs, and original design manufacturers, or ODMs, to manufacture and supply our products. Our business operations and ability to supply our products are highly dependent upon our ability to secure adequate third-party manufacturing capabilities and capacity and to effectively manage those third parties to meet our business needs. Our dependence solely on third-party manufacturers makes us vulnerable to possible supply and capacity constraints and reduces our control over manufacturing disruptions due to component availability, extended lead times delivery schedules, quality, manufacturing yields and increased costs. Some of these risks occur from time to time in our business, including recent increases in component costs. If these disruptions and constraints are prolonged, or if these manufacturers do not have the ability or business continuity plans to fulfill their obligations to us, our business could be disrupted. If we cannot effectively manage our vendors or if we fail to invest adequate resources to manage our supply chain operations, our ability to meet customer orders and generate revenue may be negatively impacted. A substantial portion of our manufacturing is done at facilities outside of the U.S., largely in Asia, which presents increased supply risk, including the risk of supply interruptions, delays, shortages or reductions in manufacturing quality or controls. In addition, these supply interruptions, delays and shortages could impair our ability to meet our customer requirements, require us to pay higher prices or incur expedite fees, which would harm our business and negatively impact our gross margin and results of operations. Our international manufacturing also creates risks and uncertainties associated with regulatory changes or government actions such as local business requirements, trade restrictions and tariffs, economic sanctions or related legislation, which may complicate our export and import activities, be disruptive to the operations of our manufacturers and logistics partners or result in higher product and shipping costs and variability of supply. For example, in 2022, substantially all our silicon suppliers extended their lead times and increased prices. Prices remain high, and while many silicon suppliers have begun
26

reducing their lead-times, we continue to face extended lead times. Manufacturing in Asia further heightens our risk of meeting customer delivery requirements as we rely upon third-party logistics companies to transport and import significant volumes of products to the U.S. where we generate a substantial majority of our revenue. These supply chain risks are further increased by periodic shipping backlogs at ports and similar disruptions to transportation infrastructure.
Limited sources and sole-sourced supply. We are dependent upon sole-source or limited-source suppliers for some key product components such as chipsets and certain of our application-specific integrated circuit processors and resistor components, including certain components sourced solely through suppliers located in China and other Asian countries. Any of these suppliers could stop producing our components, raise the prices they charge us, be subject to higher product tariffs, epidemics or other conditions that disrupt their operations, cease operations or enter into exclusive arrangements with our competitors, consequently affecting our operations and results. For example, we have experienced disruptions in our supply of certain components that we source from suppliers in China and other Asian countries due to production disruptions, factory closures and longer lead times for components and from uncertainty around trade and tariff policies between the U.S. and China, which caused delays in our product supply. Being dependent upon a limited number of suppliers constrains our ability to mitigate these disruptions in our supply chain, particularly if such disruptions are prolonged. This may adversely affect our ability to obtain components and materials needed to manufacture our products at acceptable prices or at all. These risks would adversely affect our ability to meet scheduled product deliveries to our customers, increase costs and in turn harm our business and results of operations.
Limitations on ability to manage third-party risks. Our business with certain third-party manufacturers may represent a relatively small percentage of their revenue. Consequently, our orders may not be given adequate priority if such manufacturers have to allocate limited capacity among competing customers. This could delay supplies of product to us or limit our ability to ramp product volumes within desired timeframes. If any of our manufacturing partners are unable or unwilling to continue manufacturing our products in required volumes and at high quality levels, we would have to identify, qualify and select acceptable alternative manufacturers. The time it takes to qualify new third-party manufacturers could disrupt our ability to maintain continuous supply of product to meet customer requirements. An alternative manufacturer may not be available to us when needed or may not be in a position to satisfy our production requirements at commercially reasonable prices and quality. In addition, we and/or our manufacturers may not be able to negotiate commercially reasonable terms and sufficient quantities of component supplies with component and materials suppliers to meet our manufacturing needs because our purchase volumes may be too low for us to be considered a priority customer for securing supplies, particularly when there are shortages or limited availability of key components and materials. As a result, suppliers could stop selling to us and our manufacturers at commercially reasonable prices, or at all. While we have worked to mitigate the cost impact of recent price increases, those efforts may not be successful. Any such interruption or delay may force us and our manufacturers to seek components or materials from alternative sources, which may not be available, or result in higher prices. Switching suppliers could also force us to redesign our products to accommodate new components and could require us to re-qualify our products with our customers, which would be costly and time consuming. A significant interruption in manufacturing or supply availability for any of these reasons would reduce supply to our customers, which would result in lost revenue and harm our customer relationships.
Ability to forecast and manage inventory liability with vendors. We have experienced increases in demand from many customers, in part as a result of higher consumer demand for internet services and improved Wi-Fi; in turn, this has resulted in our shipments being delayed. If we underestimate product demand from our customers, our manufacturers may have inadequate component inventory to meet our demand. If we are not able to adequately anticipate demand, this could interrupt our product manufacturing, increase our cost of revenue associated with expedite fees and air freight and/or result in delays or cancellation of customer orders. If we are unable to deliver products timely to our customers, we may lose customer goodwill or our customers may choose to purchase from other vendors, all of which may have a material negative impact on our revenue and operating results. If we overestimate our product demand, our third-party manufacturers may purchase excess components and build excess inventory, and we could be required to pay for these excess parts or products and their storage costs. For example, as of July 1, 2023, we have provided inventory deposits totaling $51.4 million. Long lead times for component supply, which have been exacerbated by higher demand for certain components, and demand for our products has and is expected to continue to impact our ability to accurately forecast our production requirements. We may incur liabilities for certain component inventory purchases that have been rendered excess or obsolete, which may have an adverse effect on our gross margin, financial condition and results of operations.
27

Security breaches and data loss may expose us to liability, harm our reputation and adversely affect our business.
As part of our business operations, we collect, store, process, use and/or disclose sensitive data relating to our business, including in connection with the provision of our cloud services and in our information systems and data centers (including third-party data centers). We also engage third-party providers to support various internal functions, such as human resources, finance, information technology and electronic communications, as well as the development and delivery of our products and cloud services, which includes collecting, handling, processing and/or storage of data on our behalf. These internal and external functions involve an array of software and systems (including cloud-based) that enable us to conduct, monitor and/or protect our business, operations, systems and information technology assets. Our cloud-based solutions enable us to host our customers’ subscriber data in third-party data centers. Hackers could steal proprietary or personal information related to our business, products, employees and customers, including information related to customers of our customers; hold data ransom; or otherwise interrupt our systems and services or those of our supply chain partners, vendors, customers or others. There have been increasing instances of cybersecurity attacks and security breaches, including sophisticated supply chain attacks. As we and our third-party providers continue to increase our reliance on virtual environments and communications systems and cloud-based solutions to support our work-from-anywhere culture and overall business needs, our exposures to third-party vulnerabilities and security risks also increase. Despite our on-going enhancement of security precautions, hackers are increasingly more sophisticated and aggressive, and our efforts may be inadequate to prevent all incidents of data breach or theft due, for example, to the increased use by attackers of tools and techniques that are specifically designed to circumvent controls, to avoid detection, and to remove or obfuscate forensic evidence.
We and certain of our third-party providers have been subject to cyberattacks and security incidents. The theft, loss or misuse of proprietary or personal data collected, stored or processed by us or our service providers to run our business could result in significant security and remediation costs, regulatory fines and penalties, and/or litigation costs. Even if we and our third-party providers allocate, implement and manage reasonable security and data protection measures, we could experience data loss, unauthorized data disclosure or a breach of our systems, products or those of our third-party data centers that materially impact our business. The continued growth of our cloud-based platform and managed services portfolio and increased reliance on third-party development partners and third-party software and cloud-based solutions increases the likely risks arising from security breaches or data loss. Any data loss or compromise of our systems that collect and process personal information (including personal information of customers of our customers), or third-party data centers where that personal information is stored, could result in loss of confidence in the security of our offerings and loss of customers or customer goodwill. Such losses also could damage our reputation, lead to liability given the increasing development of strict privacy and data security laws and regulations around the world, and adversely affect our business, financial condition, operating results and cash flows. Although we maintain insurance that may apply to cybersecurity risks and liabilities, there can be no guarantee that any or all costs or losses incurred will be partially or fully insured.
If we do not successfully increase our sales through adoption of our new platform and managed service offerings, our operating results, financial condition, cash flows and long-term growth may be negatively impacted.
We have platform and managed service offerings that are new and early in their life cycles and subject to uncertain market demand. If our customers are unwilling to adopt these new offerings, install our new products or deploy our new services, or if we are unable to achieve market acceptance of our products and platform, our business and financial results may be harmed. Moreover, adoption of our cloud product offerings, such as our Revenue EDGE, is dependent upon the success of our customers in investing, marketing, selling and deploying broader services—including managed services—to their subscribers, and our ability to differentiate our products from competing or substitutive product and service offerings. For example, our managed services include managed Wi-Fi, network security, parental controls and an ecosystem of services from partners including Arlo, Bark and Servify. However, if subscriber demand for such services does not grow as expected or declines, or our customers are unable or unwilling to invest in our platform to deploy and market these services, demand for our products may not grow at rates as we anticipate.
Changing market and customer requirements may adversely affect the valuation of our inventory as well as our supplier purchase commitments.
Customer demand for our products can change rapidly in response to market and technology developments. We may, from time to time, adjust inventory valuations downward or end of life certain of our products in response to our assessment of our business strategy as well as consideration of demand from our customers for specific products or product lines. We also periodically evaluate our supplier purchase commitments, which have increased significantly due to extended lead-times in the current supply-chain environment. We record a liability for excess and obsolete components based on our estimated future demand for our products, potential obsolescence of technology and product life cycles. If we fail to accurately plan our inventory levels, which becomes more challenging as component lead times increase, we may have to write off excess or obsolete inventory, or accrue a liability for component inventory held by our suppliers, both of which could have a material adverse effect on our financial condition and results of operations.
28

Business and operational risks associated with expanding our international operations could harm our business.
We are subject to business and operational risks associated with our international operations, including our global supply-chain operations and our international offices located in Nanjing, China and Bangalore, India. In addition, we are exposed to risk arising from dependence upon third-party development contractors in India and our Bangalore staff, as well as dependence upon our international sales operations. The risks associated with our international operations also include costs of complying with differing and changing laws and regulatory requirements, tariffs, export quotas, custom duties and other trade restrictions; effects of inflation, currency controls and/or fluctuations in currency exchange rates; limited, inadequate or non-existent IP protection; and uncertainties associated with political conflicts and instabilities, variable economic conditions, terrorist attacks or acts of war. Our development operations and activities in China and India involve these and other significant risks, including: local labor conditions and regulations; knowledge transfer related to our technology and exposure to misappropriation of IP or confidential information, including information that is proprietary to us, our customers and third parties; heightened exposure to changes in the economic, security, political and pandemic conditions; international trade agreements and U.S. tax provisions that could adversely affect our international operations; complexities of managing development timelines and deliverables from abroad; and differences in local business practices and customs that may not align with our expectations and standards.
Along with the foregoing risks, our international sales operations involve risks associated with greater costs and complexity localizing and supporting our products and platform in local markets; evolving privacy regulations, trade regulations, compliance requirements and incremental costs applicable to the qualification, production, sale and delivery of our products; longer collection periods, financial instability and other difficulties impacting collection of accounts receivable in certain jurisdictions; more intense competition including from local equipment suppliers; and our reliance on value added resellers to sell and support our products in international markets given our limited presence and infrastructure outside the U.S. To expand our international operations, we will need to invest resources to attract key talent, build operational infrastructure, execute on our international strategy and drive international market demand for our products. If we invest substantial resources to expand our international operations and are unable to do so successfully and in a timely manner, our financial condition and results of operations may suffer.
If we do not successfully execute our business strategy to increase our sales to new and existing BSPs, our operating results, financial condition, cash flows and long-term growth may be negatively impacted.
Our growth depends upon our ability to increase sales to existing and new service providers of all types and sizes, and the execution of our strategy to increase sales to BSPs involves significant risk. The majority of our revenue is not recurring, and our customers generally have no committed purchase requirements, may cancel orders or cease purchasing our products at any time. If our customers stop purchasing our products for any reason, our business and results of operations would be harmed. If we are unable to increase our sales to new and existing BSPs, our operating results, financial condition, cash flows and long-term growth may be negatively impacted. Our strategy includes investing in regional sales teams and select channel partners to sell to smaller regional BSPs. A large portion of our current sales are to customers with smaller regional networks and limited capital expenditure budgets. The spending patterns of many of these customers are generally less formal than larger service providers and often characterized by small and sporadic purchases, and the potential revenue from any one of these customers is limited. We rely primarily on channel partners, including value added resellers, internationally and for certain U.S. markets. We face fierce competition for business with key channel partners. If we are unable to engage channel partners, we may fail to grow our sales or our sales may be reduced. Furthermore, we rely on our channel partners to promote and sell our products. The loss of a key channel partner or the failure of our partners to provide adequate services could have a negative effect on customer satisfaction and could cause harm to our business.
Our selling efforts to larger BSPs require substantial investments of technical, marketing and sales resources through lengthy equipment qualification and sales cycles without any assurance of generating sales. We may be required to invest in costly upgrades to meet more stringent performance criteria and interoperability requirements, develop new customer-specific features or adapt our products to meet required standards. We have invested and expect to continue to invest considerable time, effort and expenditures, including investment in product research and development, related to these opportunities without any assurance that our efforts will result in revenue.
The quality of our support and services offerings is important to sustain and increase our sales to new and existing customers. Our services to customers include services to help them deploy our products within their networks. Once our products are deployed within our customers’ networks, they depend on our support organization to resolve any issues relating to those products. If we do not effectively assist our customers in deploying our products, succeed in helping them quickly resolve post-deployment issues or provide effective support, it could adversely affect our ability to sell our products to existing customers and harm our reputation with potential new customers. As a result, our failure to maintain high quality support and services could result in the loss of customers, which would harm our business.
29

We may have difficulty evolving and scaling our business and operations to meet customer and market demand, which could result in lower profitability or cause us to fail to execute on our business strategies.
In order to grow our business, we will need to continually evolve and scale our business and operations to meet customer and market demand. Evolving and scaling our business and operations places increased demands on our management as well as our financial and operational resources to effectively manage organizational change; design scalable processes; accelerate and/or refocus research and development activities; expand our manufacturing, supply chain and distribution capacity; increase our sales and marketing efforts; broaden our customer-support and services capabilities; maintain or increase operational efficiencies; scale support operations in a cost-effective manner; implement appropriate operational and financial systems; and maintain effective financial disclosure controls and procedures. If we cannot evolve and scale our business and operations effectively, we may not be able to execute our business strategies in a cost-effective manner and our business, financial condition, profitability and results of operations could be adversely affected.
Our business and results of operations have been, and may continue to be, negatively affected global macroeconomic conditions and supply chain constraints, and the demand for broadband products may not be sustained.
Global macroeconomic, financial and supply chain disruptions have impacted most regions in which we sell our products and services and conduct our business operations. We continue to manage through extended silicon lead times and higher supply chain costs, which may have a material negative impact on our ability to supply products to meet customer requirements and could materially adversely affect our business and results of operations. For example, BSPs may not invest in our platform or delay infrastructure improvements due to the resulting uncertainty in the global economy. Although demand for our products has been strong as subscribers sought more bandwidth and better Wi-Fi at home for work and entertainment, there are no assurances that the demand for our products will remain strong, including as a result of return to office policies and initiatives of various employers. To the extent we experience a renewed or worsening disruption to our business and operations and other adverse residual impacts of a pandemic or further future disruptions, it could have a material adverse effect on our business, results of operations and financial condition.
Litigation and regulatory proceedings could harm our business or negatively impact our results of operations.
In the ordinary course of business, we are subject to legal claims, litigation and regulatory proceedings related to disputes over commercial, competition, IP, labor and employment and other matters. Regardless of the merits of any such claims, litigation and regulatory proceedings are inherently uncertain, and can be costly, disruptive to our business and operations, harmful to our reputation, and distracting to management. In particular, as a technology company, we are subject to IP claims asserting patent, copyright, trademark and/or other infringement claims that are costly to defend and could limit our ability to use some technologies in the future. The risk of such claims is heightened as we expand our products and services and rely on more technologies, including third-party IP rights that we license and incorporate into our products and services. Third parties from whom we license IP may be unable or unwilling to indemnify us for such claims or offer any other remedy to us. Increasingly, patent infringement claims are asserted by patent assertion entities and non-practicing entities, or NPEs, that do not conduct business as an operating company and hold and own patents only for the purpose of aggressively pursuing royalties through infringement assertions or patent infringement litigation. Further, in our industry, the number of assertions by NPEs has continued to increase due in part to patent sales by operating companies to NPEs and availability of litigation financing. We have received and expect to continue to receive assertions from NPEs and other third parties alleging that we may be infringing their patents or other IP rights; offering licenses to such IP; and/or threatening litigation. If our products are found to infringe, these claims could also result in the suspension of our ability to import, market and sell our products and services, product shipment delays or requirements to modify our products or enter into costly settlements or licensing agreements. Such royalty or licensing agreements, if required, may not be available to us on acceptable terms, if at all. Furthermore, we may additionally be financially responsible for claims made against our customers, including costs of litigation and damages awarded, under indemnity obligations which could further negatively impact our results of operations. Protracted litigation could cause us to incur significant defense costs, which would negatively impact our results of operations.
We have a history of fluctuations in our gross margin and operating results, which can make it difficult to predict our future performance and could cause the market price of our stock to decline.
We have a history of fluctuations in our quarterly and annual gross margin and operating results, including fluctuations due to factors outside of our control. Factors that impact variability of our operating results include our ability to predict our revenue and reduce and control our costs, our ability to predict product functions and features desired by our customers, the impact of global economic conditions, our ability to effectively manage our global supply chain operations, our ability to effectively manage third parties upon whom we depend to conduct our business, our customers’ spending patterns and purchasing decisions, the impact of competition, customer adoption of our products, our ability to manage our legal, contractual and regulatory obligations and liabilities, and other risk factors identified in the lead-in to “Management’s Discussion and Analysis of Financial Condition and Results of Operations” above and in this “Risk Factors” section. Our gross margin is further impacted by customer, geographic and product mix, the impact of competition on our prices, our ability to manage our costs
30

associated with components and materials, excess and obsolescence, expedite fees and logistics-related activities, contractual commitments and other product costs. Fluctuating results make it difficult to predict our future performance and could cause the market price of our stock to decline. We expect to continue to incur significant expenses and cash outlays as we seek to expand our business and operations and target new customer opportunities. Given our growth objectives and the intense competitive pressures we face, we may be unable to adequately control our operating expenses or maintain positive operating income. Comparing our operating results on a period-to-period basis may not be meaningful, and you should not rely on our past results as an indication of our future performance. If our revenue or operating results fall below the expectations of investors or securities analysts, or below any guidance we may provide to the market, the market price of our stock would likely decline.
We are exposed to customer credit risks that could adversely affect our operating results and financial condition.
We generally extend credit terms for sales to our customers which exposes us to credit risk. If we are unable to collect our accounts receivable balances as anticipated, our operating results and financial condition will be harmed. A number of factors contribute to this risk, including our ability to adequately assess a customer’s creditworthiness and financial condition, changes in a customer’s financial condition and/or liquidity, our ability to timely collect our accounts receivable from customers, disagreements with customers on invoiced balances and economic downturns or other unanticipated events impacting a customer’s ability to pay. Furthermore, some of our international customers operate in countries with developing economies, volatile financial markets or currency regulations that impact their ability to make payments in U.S. dollars. While we take measures to pursue collections on our accounts receivable, we have from time to time written down accounts receivable and written off doubtful accounts and may need to do so in future periods. The determination of allowances for doubtful accounts involves significant judgment, and if we underestimate our allowance for doubtful accounts, we will have to make further write-downs. Such write-downs or write-offs could negatively affect our operating results for the period in which they occur and could harm our cash flow or our financial condition.
If we lose any of our key personnel, or are unable to attract, train and retain qualified personnel, our ability to manage our business and continue our growth would be negatively impacted.
Our success depends, in large part, on the continued contributions of our key personnel who are highly skilled and would be difficult to replace. Competition for skilled personnel, particularly in software and cloud development and engineering, is intense. We cannot be certain that we will be successful in attracting and retaining qualified personnel, or that newly hired personnel will function effectively, both individually and as a group. If we are unable to effectively recruit, hire and utilize new employees to align with our company objectives, execution of our business strategy and our ability to react to changing market conditions may be impeded, and our business, financial condition and results of operations may suffer. We have operated using a “work-from-anywhere” model since the first half of 2020, and if we do not continue to effectively manage our distributed workforce, we could face challenges maintaining our corporate culture, which could increase attrition or limit our ability to attract personnel. None of our key personnel are bound by a written employment contract to remain with us for a specified period. In addition, we do not currently maintain key person life insurance covering our key personnel. If we lose the services of any key personnel, our business, financial condition and results of operations may suffer.
If we experience disruptions with our enterprise resource planning system, we may not be able to effectively transact business or produce financial statements, which would adversely affect our business, results of operations and cash flows.
In January 2020, we migrated our Oracle enterprise resource planning, or ERP, system to Oracle’s cloud platform. In 2022, we implemented a software billing application on Salesforce.com. With these implementations, we are highly dependent upon Oracle and Saleforce.com to host, manage and maintain our ERP system and supporting applications. Any disruptions to their business or processes, or delays in their ability to provide services to us, may in turn disrupt our business operations or increase costs. Furthermore, we receive quarterly system updates and enhancements on the cloud platform according to Oracle’s release timeline and change management processes, which if not managed properly may disrupt our business operations and delay our ability to process transactions and produce reports necessary to conduct our business. We are highly dependent upon our ERP system for critical business functions, including order processing and management, supply chain and procurement operations, financial planning, accounting and reporting; accordingly, protracted disruption in functionality or processing capabilities of the ERP system could materially impair our ability to process transactions timely or produce accurate financial statements on a timely basis. If our systems suffer prolonged interruption, our results of operations and cash flows would be adversely affected.
Risks Related to Our Products
Our products are highly technical and may contain undetected hardware or software defects or software bugs, which could harm our reputation and adversely affect our business.
Our products, including our platform (cloud, software and systems) and managed services, are highly technical and, when deployed, are critical to the operation of many networks. Our products have contained and are subject to defects, bugs or security vulnerabilities, which risks may be exacerbated as we continue to expand our cloud and software portfolio and include
31

services from third-party partners. Some defects in our products may only be discovered after a product has been installed and used by customers and may in some cases only be detected under certain circumstances or after extended use. Any errors, bugs, defects or security vulnerabilities discovered in our products after commercial release could result in loss of revenue or delay in revenue recognition, loss of customers and increased service and warranty and retrofit costs, any of which could adversely affect our business, operating results and financial condition. In addition, we are subject to claims for security and data breach, product liability, tort or breach of warranty. Our contracts with customers contain provisions relating to warranty disclaimers and liability limitations, which may not be upheld. Defending a lawsuit, regardless of its merit, is costly and may divert management’s attention and adversely affect the market’s perception of us and our products. In addition, if our business liability insurance coverage proves inadequate or future coverage is unavailable on acceptable terms or at all, our business, operating results and financial condition could be adversely impacted.
If we are unable to ensure that our products interoperate properly and as required within our customers’ networks, our business will be harmed.
Our products must interoperate with our customers’ existing and planned networks, which often have varied and complex specifications, utilize multiple protocol standards, include software applications and customizations and products from multiple vendors and contain multiple generations of products that have been added over time. As a result, we must continually ensure that our products interoperate properly with these existing and planned networks. To meet these requirements, we must undertake development efforts, including test protocols, that require substantial capital investment and employee resources. We may not accomplish these development goals quickly or cost-effectively, if at all. If we fail to maintain interoperability, we may face substantially reduced demand for our products, which would reduce our revenue opportunities and market share. We rely upon interoperability arrangements with equipment and software vendors for the use or integration of their technology with our products. If these relationships fail, we may have to devote substantially more resources to developing alternative products and processes and our efforts may not be as effective as the combined solutions under our current arrangements. In some cases, these other vendors are either direct competitors or companies that have extensive relationships with our existing and potential customers and influence the purchasing decisions of those customers. Some of our competitors have stronger relationships with some of our interoperability partners, and as a result, our ability to have successful interoperability arrangements with these companies may be harmed, which in turn may harm our ability to successfully sell and market our products.
Our estimates regarding warranty or product obligations are highly subjective. If our estimates change, the liability for warranty or product obligations may be increased, impacting future cost of revenue.
Our products are highly complex, and our product testing may not be adequate to detect all defects, errors, failures and quality issues. Accordingly, our estimates regarding future warranty or product obligations are highly subjective, and if our estimates change, the liability for warranty or product obligations may be increased, impacting future cost of revenue. Quality or performance problems for products covered under warranty could adversely impact our reputation and negatively affect our operating results and financial position. The development and production of new products with high complexity often involves problems with software, components and manufacturing methods. Any significant warranty or other product obligations due to reliability or quality issues arising from defects in software, faulty components or improper manufacturing methods could negatively impact our operating results and financial position due to costs associated with fixing software or hardware defects; high service and warranty expenses; high inventory obsolescence expense; delays in collecting accounts receivable; payment of liquidated damages for performance failures; and loss of customer goodwill and future sales.
Our business and operations depend on proprietary technologies, and our financial performance may suffer if we cannot protect and enforce our IP rights.
Our success and ability to compete depend on proprietary technology. We rely significantly upon patent, copyright, trademark, trade secret and other IP laws, IP registration rights and agreements with our employees, customers, partners, suppliers and other parties, to establish and maintain IP rights necessary for our business and operations. U.S. IP laws afford us only limited protection, and the laws of some foreign countries do not protect proprietary rights to the same extent or at all. Our patent applications may not result in issued patents, and our issued patents may not be enforceable. Our IP rights could be challenged, invalidated, infringed or circumvented, any of which could impair or harm our business and operations and be costly to defend. Our failure to adequately protect our IP rights could result in our competitors offering similar products, resulting in the loss of our competitive advantage and decreased sales.
We and our third-party providers may be unable to adequately prevent unauthorized third-party copying or use of our IP. For example, contractual provisions protecting our IP are subject to breach, and our IP is subject to reverse engineering and unlawful distribution. It may become more difficult to adequately protect our IP as we expand our reliance on third parties for the design, development and/or manufacture of our products. In addition, we may become subject to increased risks arising from or related to security breaches, data loss or theft of our data or our IP, and have greater difficulty protecting our IP as our work-from-anywhere workforce and work product become more distributed. Policing the unauthorized use and distribution of
32

our IP is difficult and costly. Litigation, which could result in substantial costs, diversion of resources and harm to our business, may be necessary to enforce our IP rights, protect our trade secrets or determine the validity and scope of proprietary rights.
If we are unable to obtain third-party technology licenses needed for our products and platform solutions, our business and operations will be impaired, and our operating results could be adversely affected.
We increasingly rely on technology licensed from third parties for our products and platform solutions. We may not be able to secure or maintain necessary technology licenses from these third parties on commercially reasonable terms or at all. Third parties may also choose to not renew licenses with us, demand unreasonable license fees or cease to offer technologies that we require. The inability to obtain necessary third-party licenses or to secure reasonable license terms at a cost acceptable to us could harm the competitiveness of our products and solutions, result in lost revenue and adversely affect our operating results. For example, we may be forced to forego product features or platform offerings, including features and offerings we believe are critical to our strategy, accept substitute technology of lower quality or performance standards or incur higher costs, or the time-to-market of our products or product features could be delayed. Furthermore, our ability to utilize third-party technology may be disrupted by disputes over IP rights, including claims of IP infringement, which could prevent us from offering or selling the products that utilize the disputed technology and adversely affect our operating results.
Our use of open-source software could impose limitations on our ability to commercialize our products.
We incorporate open-source software into our products. The terms of many open-source software licenses have not been interpreted by the courts, and there is a risk that such licenses could be construed in a manner that could impose unanticipated conditions or restrictions on our ability to sell our products. In such event, we could be required to make our proprietary software generally available to third parties, including competitors, at no cost, to seek licenses from third parties in order to continue offering our products, to re-engineer our products or to discontinue the sale of our products in the event re-engineering cannot be accomplished on a timely basis or at all, any of which could adversely affect our revenue and operating expenses.
Macroeconomic and Industry Risks
Adverse global economic, market and industry conditions, geopolitical issues and other conditions that impact our increasingly global operations could have a negative effect on our business, results of operations and financial condition and liquidity.
As a global company, our performance is affected by global economic, market and industry conditions (including the current inflationary economic environment, rising interest rates and disruptions related to the banking industry) as well as geopolitical issues and other conditions with global reach. In recent years, concerns about the global economic outlook have adversely affected market and business conditions in general. Macroeconomic weakness and uncertainty make it more difficult for us to manage our operations and accurately forecast revenue, gross margin and operating expenses. Further, recent bank failures and other adverse developments that affect financial institutions, transactional counterparties, or other third parties, or concerns or rumors about these events, have led to market-wide liquidity problems. While we have no borrowings with or deposit exposure to these recently failed banks and have not experienced an adverse impact to our liquidity or to our business operations, financial condition, or results of operations as a result of these recent events, uncertainty may remain over liquidity concerns in the broader financial services industry, and there may be unpredictable impacts to our business and our industry.
Geopolitical issues, such as the Russian invasion of Ukraine, relations between the U.S. and China, tariff and trade policy changes, and increasing potential of conflict involving countries in Asia that are critical to our supply-chain operations, such as Taiwan and China, have resulted in increasing global tensions and create uncertainty for global commerce. In addition, rising inflation in the United States has affected businesses across many industries, including ours, by increasing the costs of labor, employee healthcare, components and freight and shipping, which may further constrain our customers’ or prospective customers’ budgets. To the extent there is a sustained general economic downturn, and our platform and services are perceived by customers or potential customers as costly, or too difficult to deploy or migrate to, our revenue may be disproportionately affected by delays or reductions in spending. Sustained or worsening of global economic conditions and geopolitical issues may increase our cost of doing business, materially disrupt our supply chain operations, cause our customers to reduce or delay spending and intensify pricing pressures. We cannot predict the timing, strength or duration of any economic slowdown, instability or recovery, generally or within any particular industry. If the economic conditions of the general economy or markets in which we operate worsen from present levels, demand for our products, and our business, financial condition and results of operations, could be adversely affected.
We face intense competition that could reduce our revenue and adversely affect our financial results.
The market for our products is highly competitive, and we expect competition from both established and new companies to increase. Our ability to compete successfully depends on a number of factors, including our ability to successfully develop new products and solutions that anticipate BSP and market requirements and changes in technology and industry standards; BSP acceptance and adoption of our products and solutions; our ability to differentiate our products from our competitors’ offerings
33

based on performance, features, cost-effectiveness or other factors; our product capabilities to meet customer network requirements and preferences; and our success in marketing and selling our products and platform solutions.
Many of our current or potential competitors have longer operating histories, greater name recognition, broader product lines, larger customer bases and significantly greater financial, technical, sales, marketing and other resources than we do and are better positioned to acquire and offer complementary products and services. As the broadband access equipment market has undergone and continues to undergo consolidation, our competitors have merged, grown and been able to offer more comprehensive solutions than they individually had offered. Potential customers may also prefer to purchase from their existing suppliers rather than a new supplier, regardless of product performance or features, because the products that we and our competitors offer require a substantial investment of time and funds to qualify and install. The demand on network capacity due to remote workforces may attract new market entrants with competitive or substitutive products, which may lead to increased sales cycles, cause pricing pressure and impact adoption of our platform due to the broader availability of product offerings. Some of our competitors may offer substantial discounts or rebates to win or retain customers. If we are forced to reduce prices to retain existing customers or win new customers, we may be unable to sustain gross margin at desired levels or profitability. Competitive pressures could result in increased pricing pressure, reduced profit margin, increased sales and marketing expenses and failure to increase, or the loss of, market share, any of which could reduce our revenue and adversely affect our financial results.
Our industry is characterized by rapid technological advancements, and if we fail to develop new products or enhancements that meet changing BSP requirements, we could experience lower sales.
Our industry is characterized by rapid technological change, changing needs of BSPs, evolving industry standards and frequent introductions of new products and platform offerings. We invest significant amounts to pursue innovative technologies that we believe will be adopted by BSPs. For example, we have invested and plan to continue to invest resources in our platform offerings. In addition, on an ongoing basis, we expect to reposition our product and service offerings and introduce new offerings as we encounter rapidly changing BSP requirements and increasing competitive pressures. If we cannot increase sales of our new platform and services, keep pace with rapid technological developments to meet customer needs and compete with evolving standards or if the technologies we choose to invest in fail to meet customer needs or are not adopted by customers in the timeframes that we expect, our financial condition and results of operations would be adversely affected.
Developing our products is complex and involves uncertainties, including pricing risks for key materials, component shortages and limited suppliers. We may experience design, manufacturing, software development quality, support, marketing and other difficulties that could delay or prevent the development, introduction or marketing of new products and enhancements. If we fail to meet our development targets, demand for our products will decline. If we are unable to anticipate and develop new products or enhancements to our existing products on a timely and cost-effective basis, our products may become technologically obsolete more rapidly than anticipated over time, resulting in lower sales which would harm our business. Furthermore, the introduction of new or enhanced products also requires that we manage the transition from older products in accordance with customer requirements. If we fail to maintain compatibility requirements in our customers’ networks, demand for our products would decline, which would reduce our revenue opportunities and market share.
We use third-party development partners both for their key skills and to augment our employee developers. Using third-party development partners for our broadband platform and managed services allow us to accelerate development and leverage the third parties’ expertise, but increases our risks due to reduced direct control over the third party’s work. This product development approach may cause unforeseen issues in product design, as well as challenges arising from integration and support of third-party features in our products. In addition, our revenue based on the third parties’ product development work may take several years to cover our out-of-pocket expenses, if ever.
Our sales cycles can be long and unpredictable, and our sales efforts require considerable time and expense. As a result, our sales are difficult to predict and may vary substantially, which may cause our operating results to fluctuate significantly.
The timing of our revenue is difficult to predict. Our sales efforts often involve educating BSPs about the use and benefits of our platform (cloud, software and systems) and managed services. BSPs typically undertake a significant evaluation process, which frequently involves not only our platform and managed services, but also those of our competitors and results in a lengthy sales cycle. Sales cycles for larger customers are relatively longer and require considerably more time and expense. We spend substantial time, effort and money in our sales efforts without any assurance that our efforts will produce sales. In addition, product purchases are frequently subject to budget constraints, multiple approvals and unplanned administrative, processing and other delays. The timing of revenue related to sales of products and services that have installation requirements may be difficult to predict due to interdependencies that may be beyond our control, such as BSP testing and turn-up protocols or other vendors’ products, services or installations of equipment upon which our products and services rely. Such delays may result in fluctuations in our quarterly revenue. If sales expected from a specific customer for a particular quarter are not realized in that quarter or at all, we may not achieve our revenue forecasts, and our financial results would be adversely affected.
34

Our business depends upon the capital spending patterns and decisions of BSPs, and any decrease or delay in capital spending by BSPs due to the timing and availability of capital and other causes would reduce our revenue and harm our business.
Demand for our products depends on the magnitude and timing of capital spending by BSPs as they construct, expand, upgrade and maintain their access networks as well as BSPs’ adoption of our platform and managed services. Capital spending is cyclical in our industry, sporadic among individual BSPs and can change on short notice, which gives us little visibility into changes in spending behavior in any particular quarter. Capital spending for network infrastructure projects could be delayed or canceled in response to factors outside our control, such as reduced consumer spending, challenging capital markets or declining liquidity trends. BSP spending is also affected by reductions in budgets, including as a result of a general economic downturn, delays in purchasing cycles, access to government funding programs or capital markets, and seasonality and delays in capital allocation decisions. Historically, our customers may spend less or have less deployments in the first quarter due to pending annual budgets or, in certain regions, due to weather conditions that inhibit outside fiber deployment, resulting in weaker demand for our products in the first quarter. Softness in demand in any of our customer markets, including due to macroeconomic conditions beyond our control or uncertainties associated with regulatory reforms, has and could in the future lead to unexpected decline or slowdown in customer capital expenditure. Further, BSPs may pursue capital investment in network technologies other than those offered by us or may choose not to adopt our products and platform solutions in their networks. Reductions in capital expenditures by BSPs would have a material negative impact on our revenue and results of operations and slow our rate of revenue growth. As a consequence, our results for a particular period may be difficult to predict, and our prior results are not necessarily indicative of results in future periods.
Historically, our customer base has been concentrated, and the loss of any of our key customers may adversely impact our revenue and results of operations, and any delays in payment by a key customer could negatively impact our cash flows and working capital.
Historically, a large portion of our sales has been, and in the future may be, to a limited number of large customers. Changes in the BSP market, such as financial difficulties, spending cuts or corporate consolidations that impact purchasing decisions by these customers have and may again negatively impact our revenue, and as a result, revenue from such customers may remain flat or continue to decline. For example, sales to Lumen, our only greater than 10% customer in 2020, declined in 2021 and sales to other BSP customers increased such that Lumen was not a 10% customer in 2021 or 2022. Any decrease or delay in purchases of any of our key customers, particularly if prolonged or sustained, or our inability to grow our sales with them, may have a material negative impact on our revenue and results of operations.
In addition, some larger customers may demand discounts and rebates or desire to purchase their access systems and software from multiple providers. As a result of these factors, our future revenue opportunities may be limited, and we may face pricing pressures, which in turn could adversely impact our gross margin and our profitability. The loss of, reduction in, or pricing discounts associated with orders from any larger customer could significantly reduce our revenue and harm our business. Furthermore, delays in payment and/or extended payment terms from any of our larger customers could have a material negative impact on our cash flows and working capital to support our business operations.
Government-sponsored programs and U.S. federal government shutdowns could impact the timing and buying patterns of BSPs, which may cause fluctuations in our operating results.
We sell to BSPs, including U.S.-based independent operating companies, or IOCs, which rely significantly upon interstate and intrastate access charges and federal and state subsidies in the form of grants and other funding such as the Federal Communications Commission’s, or FCC’s, Rural Digital Opportunity Fund, the CARES Act or the American Rescue Plan Act. The FCC and some states may change such payments and subsidies, which could reduce IOC revenue. Furthermore, many IOCs use or expect to use government-supported loan programs or grants, such as Rural Utility Service loans and grants, to finance capital spending. These government-supported loan programs and grants generally include conditions such as deployment criteria, domestic preference provisions and other requirements that apply to the project and selected equipment as conditions for funding. For example, the U.S. government recently introduced legislation imposing domestic content requirements for infrastructure programs that receive federal funding. Changes to the terms or administration of these programs, including uncertainty from government and administrative change, increasing focus on domestic requirements by the U.S. that may require re-assessment of compliance, potential funding limitations that impact our ability to meet program requirements or delays due to U.S. federal government shutdowns could reduce the ability of IOCs to access capital or secure funding these programs to purchase our products and services and thus reduce our revenue opportunities. Customers may curtail purchases if they receive less funding than planned, are negatively impacted by federal government shutdowns or changes in government regulations and subsidies, or as funding winds down, any of which could have an adverse effect on our operating results and financial condition.
35

Government and Regulatory Risks
Increasing data privacy regulations could impact our business and expose us to increased liability.
Government authorities in the United States and around the world have implemented and are continuing to implement broader and more stringent laws and regulations concerning data protection. The interpretation and application of these data protection laws and regulations are often uncertain and changing, and it is possible that they may be interpreted and applied in a manner that is inconsistent with our data practices. For example, the General Data Protection Regulation, or EU GDPR, adopted by the European Union, or EU, and the UK General Data Protection Regulation, or UK GDPR, adopted by the United Kingdom, or UK, (the EU GDPR and UK GDPR hereinafter referred to as the GDPR) and national data protection supplementing laws in these jurisdictions impose specific duties and requirements upon companies that collect, process or control personal data of individuals located in the EU/UK, including a principle of accountability and the obligation to demonstrate compliance through policies, procedures, training and audit. Although we currently do not have material operations or business in the EU or the UK, we are in the process of expanding in these jurisdictions, and we have incurred and will continue to incur substantial costs in this respect. Furthermore, the GDPR imposes significant penalties for noncompliance which can amount to €20 million (for the EU GDPR) or £17.5 million (for the UK GDPR), or in the case of an undertaking, up to 4% of the total worldwide annual turnover of the preceding financial year, whichever is higher; thus, any non-compliance with the GDPR could result in a material adverse effect on our business, financial condition and results of operations. The EU GDPR and UK GDPR regulate cross-border transfers of personal data out of the European Economic Area, or the EEA, and the UK. Twice, the Court of Justice of the European Union, or the CJEU, has invalidated legal mechanisms designed to facilitate the transfer of data from European countries to the United States and, in July 2020, the CJEU held that transfers must be assessed on a case-by-case basis and reliance on standard contractual clauses (a standard form of contract approved by the European Commission as an adequate mechanism for personal data transfers) may not be sufficient in all circumstances. European court and regulatory decisions subsequent to the CJEU July decision have taken a restrictive approach to international data transfers. In March 2022, the U.S. and EU announced a new regulatory regime intended to replace the invalidated mechanisms and, on October 7, 2022, President Biden signed an Executive Order on Enhancing Safeguards for United States Intelligence Activities. This introduced new binding safeguards to address the concerns raised by the CJEU in its July 2020 decision and formed the basis of the new EU-US Data Privacy Framework, or DPF, which was released on December 13, 2022. The DPF outlines the practices that U.S. organizations must meet when they self-certify their commitment to the DPF once it goes into effect. In order to be effective as an EU GDPR transfer mechanism to self-certified U.S. entities, the European Commission must declare the DPF adequate; the European Commission is expected to adopt its adequacy decision on the DPF in Q3 2023. In the meantime, the new safeguards introduced by the Executive Order and the DPF are expected to facilitate data transfers to the U.S. on the basis of the standard contractual clauses, though the data transfers enforcement landscape and the DPF’s longer term stability remain uncertain. We currently rely on the standard contractual clauses and the UK International Data Transfer Agreement (or Addendum) to transfer personal data outside the EEA and the UK respectively, including to the U.S. As the enforcement landscape further develops, and supervisory authorities issue further guidance on – and revised standard contractual clauses for – international data transfers to the U.S. and elsewhere, our business, operations and financial condition could be adversely affected. Our current contracts may not be sufficient and we could suffer additional costs, complaints and/or regulatory investigations or fines. We may also have to stop using certain tools and vendors and make other operational changes. We have had to and will have to implement standard contractual clauses and/or the UK equivalent mechanism for intragroup, customer and vendor arrangements. Further, our customers may not use our services in a manner that is compliant with applicable data privacy laws and regulations and our services may not be competitive in certain markets.
We and/or our customers are also subject to evolving EU and UK privacy laws on cookies, tracking technologies, e-marketing and electronic communications. Recent European court and regulator decisions are driving increased attention to cookies and tracking technologies. If the trend of increasing enforcement by regulators of the strict approach to opt-in consent for all but essential use cases, as seen in recent guidance and decisions continues, this could lead to substantial costs, require significant systems changes, limit the effectiveness of marketing activities conducted on behalf of our customers, divert the attention of our technology personnel, adversely affect our margins, and subject us to additional liabilities. In addition, new security regulations, such as the EU’s Network and Information Security 2 Directive (NIS2) and the UK’s Telecommunications (Security) Act 2021 together with its implementing regulations impose further security obligations on electronic communications networks and services. We may be required to implement (and contractually commit to) additional security measures to remain a competitive vendor, as customers will need to ensure their vendors are able to meet the obligations that they are themselves subject to, or customers may choose different vendors due to our security measures. This could result in additional costs and require operational changes which could adversely affect our business, operations and financial condition.
In light of the complex and evolving nature of EU, EU Member State and UK privacy laws, there can be no assurances that we will be successful in our efforts to comply with such laws; violations of such laws could result in regulatory investigations, fines, orders to cease/change our use of technologies and/or our processing activities, enforcement notices and assessment notices (for a compulsory audit), as well as lead to civil claims including class actions, and reputational damage.
36

Since 2020, a number of U.S. states, including California, Colorado, Connecticut, Iowa, Utah and Virginia, have enacted laws and regulations to protect consumers’ personal information, and efforts to enact a comprehensive federal privacy law have intensified. Most of the new or proposed laws include restrictions on processing consumer information for targeted advertising, which could negatively affect our marketing cloud product. Complying with new and changing laws could cause us to incur substantial costs in order to market and sell our cloud-based solutions in the U.S. and internationally, deter customers from adopting our cloud-based solutions or require us to redesign our platform in order to meet customer requirements related to such laws. Regulatory actions or claims involving our practices in the collection, storage, processing, use or disclosure of consumer information or other personal data, even if unfounded, could damage our reputation and adversely affect our operating results. The failure or perceived failure to comply may result in government or civil proceedings or actions against us, or could cause us to lose customers, which could have an adverse effect on our business.
If we fail to comply with evolving industry standards, sales of our products would be adversely affected.
Our products are subject to a significant number of domestic and international standards, which evolve as new technologies are developed and deployed. As we expand into new global markets, we are likely to encounter additional standards. Our products must comply with these standards in order to be widely marketable. In some cases, we are required to obtain certifications or authorizations before our products can be introduced, marketed or sold in new markets or to new customers. For example, our ability to maintain Operations System Modification for Intelligent Network Elements certification for our products will affect our ongoing ability to continue to sell our products to large BSPs. In addition, our ability to expand our international operations may be limited by standards in countries or may require us to redesign our products or develop new products to meet local standards. We may not be able to design our products to comply with local requirements, which would impede or prevent our ability to grow our business in those locations. Moreover, as we expand our business and operations globally, we must increase investments to maintain compliance with evolving standards across all of our markets. The costs of complying with evolving standards or failure to obtain timely authorizations or certification could prevent us from selling our products where these standards or regulations apply, which would result in lower revenue and lost market share.
Our failure or the failure of our manufacturers to comply with environmental and other legal regulations could adversely impact our results of operations.
The manufacture, assembly and testing of our products may require the use and disposal of hazardous materials that are subject to environmental, health and safety regulations, or materials subject to laws restricting the use of conflict minerals. We substantially depend upon our third-party manufacturers to comply with these requirements. Any failure by us or our third-party manufacturers to comply with these requirements could result in regulatory penalties, legal claims or disruption of production of our products. In addition, any failure to properly manage the use, transportation, emission, discharge, storage, recycling or disposal of hazardous materials could subject us to increased costs or liabilities. Existing and future environmental regulations and other legal requirements may restrict our use of certain materials to manufacture, assemble and test products. Any of these consequences could adversely impact our results of operations by increasing our expenses and/or requiring us to alter our manufacturing processes.
We are subject to governmental export and import controls that could subject us to liability or impair our ability to compete in additional international markets.
Our products are subject to U.S. export and trade controls and restrictions. International shipments of certain of our products may require export licenses or are subject to additional export requirements. In addition, the import laws of other countries may limit our ability to distribute our products, or our customers’ ability to buy and use our products, in those countries. Changes in our products or changes in export and import regulations or duties may create delays in the introduction of our products in international markets, prevent our customers with international operations from deploying our products or, in some cases, prevent the export or import of our products to certain countries altogether. Any change in export or import regulations, duties or related legislation, shift in approach to the enforcement or scope of existing regulations, or change in the countries, persons or technologies targeted by such regulations, could negatively impact our ability to sell, profitably or at all, our products to existing or potential international customers.
Regulatory and physical impacts of climate change and other natural events may affect our customers and our manufacturers, resulting in adverse effects on our operating results.
As emissions of greenhouse gases continue to alter the composition of the atmosphere, affecting large-scale weather patterns and the global climate, any new regulation of greenhouse gas emissions may result in additional costs to our customers and our manufacturers. In addition, the physical impacts of climate change and other natural events, including changes in weather patterns, drought, rising ocean and temperature levels, earthquakes and tsunamis may impact our customers, suppliers and manufacturers, and our operations. These potential physical effects may adversely affect our revenue, costs, production and delivery schedules, and cause harm to our results of operations and financial condition.
37

Our customers are subject to government regulation, and changes in current or future laws or regulations that negatively impact our customers could harm our business.
The FCC has jurisdiction over our U.S. customers, and FCC regulatory policies that create disincentives for investment in access network infrastructure or impact the competitive environment in which our customers operate may harm our business. For example, adoption of regulations that affect providers of broadband Internet access services could impede the penetration of our customers into certain markets or affect the prices they may charge in such markets. Similarly, changes to regulatory tariff requirements or other regulations relating to pricing or terms of carriage on communication networks could slow the development or expansion of network infrastructures, which could adversely affect the sale of our products and services. Many of our customers are subject to FCC rate regulation of interstate telecommunications services and are recipients of government stimulus payments. Limits or restrictions on access to these programs could affect the ability of IOCs to access capital, which would in turn reduce our revenue opportunities. In addition, many of our customers are subject to state and federal regulation of their businesses, including rates for such services, and may also receive funding from state universal service funds. Changes in state or federal rate regulations or universal service funding rules could adversely affect our customers’ revenue and capital spending plans. Moreover, various international regulatory bodies have jurisdiction over certain of our customers outside the U.S. Changes in any of these standards, laws and regulations, or judgments in favor of plaintiffs in lawsuits against BSPs based on changed standards, laws and regulations could adversely affect the development of broadband networks and services. This, in turn, could directly or indirectly adversely impact the communications industry in which our customers operate.
Risks Related to Ownership of Our Common Stock and Other Risks
Our stock price may continue to be volatile, and the value of an investment in our common stock may decline.
The trading price of our common stock has been, and is likely to continue to be, volatile, which means that it could decline substantially within a short period of time and could fluctuate widely in response to various factors, some of which are beyond our control. These factors include those discussed above and others such as quarterly variations in our results of operations or those of our competitors; failure to meet any guidance that we have previously provided regarding our anticipated results; changes in earnings estimates or recommendations by securities analysts; failure to meet securities analysts’ estimates; announcements by us or our competitors of new products, significant contracts, commercial relationships, acquisitions or capital commitments; developments with respect to IP rights; our ability to develop and market new and enhanced products on a timely basis; our commencement of, or involvement in, litigation and developments relating to such litigation; changes in governmental regulations; and a slowdown in the communications industry or the general economy.
The stock market in general, and the market for technology companies in particular, has experienced extreme price and volume fluctuations that have often been unrelated or disproportionate to the operating performance of those companies. Broad market and industry factors may seriously affect the market price and volatility of our common stock, regardless of our actual operating performance. Historically, following periods of volatility in the market price of a company’s securities, there is increased risk that stockholders may initiate securities class action litigation against the company. Such litigation, if instituted against us, could result in substantial costs and a diversion of our management’s attention and resources.
Provisions in our charter documents and under Delaware law could discourage a takeover that stockholders may consider favorable and may lead to entrenchment of our management and Board of Directors.
Our amended and restated certificate of incorporation and amended and restated bylaws contain provisions that could have the effect of delaying or preventing changes in control or changes in our management or our Board of Directors. These provisions include: (1) a classified Board of Directors with three-year staggered terms, which may delay the ability of stockholders to change the membership of a majority of our Board of Directors; (2) no cumulative voting in the election of directors, which limits the ability of minority stockholders to elect director candidates; (3) the exclusive right of our Board of Directors to elect a director to fill a vacancy created by the expansion of the Board of Directors or the resignation, death or removal of a director, which prevents stockholders from being able to fill vacancies on our Board of Directors; (4) the ability of our Board of Directors to issue shares of preferred stock and to determine the price and other terms of those shares, including preferences and voting rights, without stockholder approval, which could be used to significantly dilute the ownership of a hostile acquirer; (5) a prohibition on stockholder action by written consent, which forces stockholder action to be taken at an annual or special meeting of our stockholders; (6) the requirement that a special meeting of stockholders may be called only by the chairman of the Board of Directors, the chief executive officer or the Board of Directors, which may delay the ability of our stockholders to force consideration of a proposal or to take action, including the removal of directors; and (7) advance notice procedures that stockholders must comply with in order to nominate candidates to our Board of Directors or to propose matters to be acted upon at a stockholders’ meeting, which may discourage or deter a potential acquirer from conducting a solicitation of proxies to elect the acquirer’s own slate of directors or otherwise attempting to obtain control of us. We are also subject to certain anti-takeover provisions under Delaware law, which prohibits a corporation, in general, from engaging in a business combination with any holder of 15% or more of its capital stock unless the holder has held the stock for three years or, among other things, the Board of Directors has approved the transaction.
38

We may need additional capital in the future to finance our business.
While our working capital needs to support our business operations and growth have been funded from operating cash flows in the near term, we may need additional capital if our current plans and assumptions change. In January 2022, we terminated our loan and security agreement with Bank of America, N.A. If our financial position deteriorates, we may not be able to secure a similar source of financing to support our working capital needs on acceptable terms or at all. If future financings involve the issuance of equity securities, our then-existing stockholders will suffer dilution. If we raise additional debt financing, we may be subject to restrictive covenants that limit our ability to conduct our business. If we are unable to sustain positive operating income and cash flows from operations, our liquidity, results of operations and financial condition may be adversely affected. Furthermore, if we are unable to generate sufficient cash flows to support our operational needs, we may need to cease our repurchase program or seek additional sources of liquidity, including borrowings, to support our working capital needs, even if we believe we have generated sufficient cash flows to support our operational needs. There is no assurance that any other sources of liquidity may be available to us on acceptable terms or at all. If we are unable to generate sufficient cash flows or obtain other sources of liquidity, we will be forced to limit our development activities, reduce our investment in growth initiatives and institute cost-cutting measures, all of which would adversely impact our business and growth.
We do not currently intend to pay dividends on our common stock and, consequently, our stockholders’ ability to achieve a return on their investment will depend on appreciation in the price of our common stock.
We do not currently intend to pay a cash dividend on our common stock for the foreseeable future. We currently intend to invest our future earnings, if any, to fund our growth. Therefore, our stockholders are not likely to receive any dividends on our common stock for the foreseeable future.
Our failure to adequately address and resolve risks and uncertainties associated with acquisitions could have a material adverse impact on our financial condition and results of operations.
We may acquire businesses, products or technologies to expand our product offerings and capabilities, customer base and business. We have evaluated and expect to continue to evaluate a wide array of potential strategic transactions. Such investments may involve significant risks and uncertainties, including distraction of management from current operations, unanticipated costs, and legal and regulatory challenges, all of which could have a material adverse impact on our financial condition and results of operations. In addition, the anticipated benefit of any acquisition may never materialize or the process of integrating acquired businesses, products or technologies may create unforeseen operating difficulties and expenditures.
We cannot guarantee that our stock repurchase program will be utilized to the full value approved or that it will enhance long-term stockholder value. Repurchases we consummate could increase the volatility of the price of our common stock and could have a negative impact on our available cash balance.
In July 2022, our Board of Directors authorized a one-year stock repurchase program for up to $100 million of our common stock, and in May 2023, our Board of Directors approved an amendment of the stock repurchase program to eliminate the one-year end date. Under the repurchase program, repurchases can be made from time to time using a variety of methods, which may include open market purchases, privately negotiated transactions or otherwise, all in accordance with the rules of the SEC and other applicable legal requirements. The specific timing, price and size of the purchases will depend on prevailing stock prices, general economic and market conditions, and other considerations consistent with our capital allocation strategy. Stock repurchases could have an impact on our common stock trading prices, increase the volatility of the price of our common stock, or reduce our available cash balance such that we will be required to seek financing to support our operations. The repurchase program does not obligate us to acquire a particular amount of common stock, and the repurchase program may be suspended or discontinued at any time at our discretion, which may result in a decrease in the trading prices of our common stock. Even if our share repurchase program is fully implemented, it may not enhance long-term stockholder value.
39

General Risks
As a public company we are subject to significant accounting, legal and regulatory requirements; our failure to comply with these requirements may adversely affect our operating results and financial condition.
We are subject to significant accounting, legal and regulatory requirements, including requirements and rules under the Sarbanes-Oxley Act, or SOX, and the Dodd-Frank Wall Street Reform and Consumer Protection Act, or Dodd-Frank, among other rules and regulations implemented by the SEC, as well as listing requirements of the New York Stock Exchange, or NYSE. We incur significant accounting, legal and other expenses and must invest substantial time and resources to comply with public company reporting and compliance requirements, including costs to ensure we have adequate internal controls over accounting and financial reporting, proper documentation and testing procedures among other requirements. We cannot be certain that the actions we have taken to implement internal controls over financial reporting will be sufficient. We have in the past discovered, and may in the future discover, areas of our internal financial and accounting controls and procedures that need improvement, particularly as we enhance, automate and improve functionality of our processes and internal applications. New laws and regulations as well as changes to existing laws and regulations affecting public companies would likely result in increased costs to us as we respond to their requirements. We continue to invest resources to comply with evolving laws and regulations, and this investment may result in increased general and administrative expense.
If we fail to maintain proper and effective internal controls, our ability to produce accurate financial statements on a timely basis could be impaired, which would adversely affect our operating results and our stock price.
Our management is responsible for establishing and maintaining adequate internal control over financial reporting to provide reasonable assurance regarding the reliability of our financial reporting and the preparation of financial statements in accordance with U.S. generally accepted accounting principles. Our management does not expect that our internal control over financial reporting will prevent or detect all error and all fraud. A control system, no matter how well designed and operated, can provide only reasonable, not absolute, assurance that the control system’s objectives will be met. Because of the inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that misstatements due to error or fraud will not occur or that all control issues and instances of fraud, if any, within our company will have been detected. If we are unable to produce accurate financial statements on a timely basis, investors could lose confidence in the reliability of our financial statements, which could cause the market price of our common stock to decline and make it more difficult for us to finance our operations and growth.
ITEM 2. Unregistered Sales of Equity Securities and Use of Proceeds
Issuer Purchases of Equity Securities
In July 2022, the Company’s Board of Directors authorized a one-year stock repurchase program for up to $100 million of the Company’s common stock. In May 2023, the Company’s Board of Directors amended the repurchase program to remove the one-year end date. The Company’s repurchases for the three months ended July 1, 2023 are disclosed below (in thousands, except per share amounts):
Total Number of Shares PurchasedAverage Price Paid Per ShareTotal Number of Shares Purchased as Part of Publicly Announced Plans or ProgramsApproximate Dollar Value of Shares That May Yet Be Purchased Under the Plans or Programs
April 2, 2023 to April 30, 2023107 $45.09 107 $94,002 
May 1, 2023 to May 31, 202393 42.96 93 90,000 
June 1, 2023 to July 1, 2023— — — 90,000 
200200
ITEM 3. Defaults Upon Senior Securities
None.
ITEM 4. Mine Safety Disclosures
Not applicable.
40

ITEM 5. Other Information
On May 1, 2023, Michael Weening, President and Chief Executive Officer of the Company, adopted a Rule 10b5-1 trading arrangement (the “10b5-1 Plan”) that is intended to satisfy the affirmative defense of Rule 10b5-1(c) of the Securities Exchange Act of 1934, as amended. The 10b5-1 Plan allows for the contemporaneous exercise of options and sale of up to 284,000 shares of Common Stock, at specific market prices, commencing on July 31, 2023, and continuing until all such options are exercised and the underlying shares are sold, or April 30, 2025, whichever comes first.
41

ITEM 6. Exhibits
Exhibit
Number
Description
3.1
3.2
10.1*
10.2*
31.1
31.2
32.1
101.INSXBRL Instance Document
101.SCHXBRL Taxonomy Extension Schema Document
101.CALXBRL Taxonomy Extension Calculation Linkbase Document
101.DEFXBRL Taxonomy Extension Definition Linkbase Document
101.LABXBRL Taxonomy Extension Label Linkbase Document
101.PREXBRL Taxonomy Extension Presentation Linkbase Document
 
* Indicates management contract or compensatory plan or arrangement.



42

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.
 CALIX, INC.
(Registrant)
Date: July 24, 2023By:/s/ Michael Weening
 Michael Weening
 President and Chief Executive Officer
(Principal Executive Officer)
Date: July 24, 2023By:/s/ Cory Sindelar
 Cory Sindelar
 Chief Financial Officer
(Principal Financial Officer)
43
EX-10.1 2 ex101non-employeedirectorc.htm EX-10.1 Document
Exhibit 10.1
CALIX, INC.

Non-Employee Director Cash Compensation Policy, as last amended February 9, 2023


1.General. This Non-Employee Director Cash Compensation Policy (“Policy”) was adopted by the Board of Directors (“Board”) of Calix, Inc. (“Company”) on August 11, 2021, effective as of July 26, 20211, and amended on February 9, 2023.

2.Annual Cash Compensation. Each member of the board who is not employed by the Company or one of its affiliates shall be entitled to an annual retainer with the amount determined as follows (the net sum for each director, his or her “Annual Retainer”):

 Amount
Base Retainer
$50,000
Board and Committee Chair Service (in addition to Base Retainer)
 
Board Chair
$75,000
Lead Independent Director
$25,000
Audit Committee Chair
$35,000
Compensation Committee Chair
$20,000
Nominating and Corporate Governance Committee Chair
$10,000
Cybersecurity Committee Chair
$10,000
Strategic Committee Chair
$10,000
Non-Chair Committee Service (in addition to Base Retainer)
 
Audit Committee
$12,500
Compensation Committee
$10,000
Nominating and Corporate Governance Committee
$5,000
Cybersecurity Committee
$5,000
Strategic Committee
$5,000

3.Timing of Payment. Annual Retainers shall be paid in quarterly installments in arrears, generally during the first week of the Company’s fiscal quarter following the quarter of service. Installments will be pro-rated for any partial period of service.

4.Policy Subject to Amendment, Modification and Termination. This Policy may be amended, modified or terminated by the Board at any time in the future at its sole discretion.


* * * *
1 The Company’s Lead Independent Director was appointed on July 26, 2021.

EX-10.2 3 ex102non-employeedirectore.htm EX-10.2 Document
Exhibit 10.2
CALIX, INC.

Non-Employee Director Equity Compensation Policy, as amended February 9, 2023


1.General. This Non-Employee Director Equity Compensation Policy (the “Policy”) is adopted by the Board of Directors (the “Board”) in accordance with Section 4.6 of the Calix, Inc. Amended and Restated 2019 Equity Incentive Award Plan (as amended from time to time, the “Plan”). Capitalized but undefined terms used herein shall have the meanings provided for in the Plan.
2.Board Authority. Pursuant to Section 4.6 of the Plan, the Board is responsible for adopting a written policy for the grant of Awards under the Plan to Non-Employee Directors, which policy is to specify, with respect to any such Awards, the type of Award(s) to be granted Non-Employee Directors, the number of shares of Common Stock to be subject to Non-Employee Director Awards, the conditions on which such Awards shall be granted, become exercisable and/or payable and expire, and such other terms and conditions as the Board determines in its discretion.
3.Initial Option Grant to Non-Employee Directors. Each person who is initially elected to the Board as a Non-Employee Director shall be granted, automatically and without necessity of any action by the Board or any committee thereof, on the date of such initial election an Option to purchase that number of shares of Common Stock equal to the product obtained by multiplying (a) the result of dividing (i) $200,000 by (ii) the Black Scholes value of an option to purchase one share of Common Stock as of the date of grant, as determined below, by (b) a fraction, the numerator of which is the number of whole days that will have passed from the date of election through the scheduled date of the Company’s next annual stockholder meeting and the denominator of which is 365, rounded down to the nearest whole share (an “Initial Director Option Grant”). Members of the Board who are employees of the Company and who subsequently terminate employment with the Company and remain members of the Board shall not receive an Initial Director Option Grant. For the purposes of this Policy, the Black-Scholes value of an Option to purchase a share of Common Stock shall be determined using the per share trading price of the Company’s common stock on the date of grant and the volatility, risk-free rate and life expectancy assumptions shall be as set forth in the Company’s then-most recent filing with the Securities and Exchange Commission that discloses such assumptions.
4.Subsequent Option Grants to Non-Employee Directors. Each person who is a Non-Employee Director immediately following an annual meeting of stockholders shall be granted, automatically and without necessity of any action by the Board or any committee thereof, on the date of such annual meeting an Option to purchase that number of shares of Common Stock equal to the result of dividing (i) $200,000 by (ii) the Black Scholes value of an option to purchase one share of Common Stock as of the date of grant, as determined in accordance with the last sentence of Section 3 above, and rounded down to the nearest whole share (“Annual Director Option Grant”). Members of the Board who are employees of the Company and who subsequently terminate employment with the Company and remain on the Board, to the extent that they are otherwise eligible, shall receive, after termination of employment with the Company, Annual Director Option Grants under this Section 4.
5.Terms of Options Granted to Non-Employee Directors
. Each Option granted under this Policy shall have an exercise price per share equal to the Fair Market Value of a share of Common Stock on the date of grant. Each Option granted under this Policy shall vest and become exercisable with respect to 100% of the shares of Common Stock underlying the Option on the earlier of (i) the one-year anniversary of the date of grant or (ii) the day immediately preceding the date of the annual meeting of stockholders that occurs in the year following the year of grant. The Stock Option Agreement evidencing each grant of Initial Director Option Grants and Annual Director Option Grants shall contain such other terms, provisions and conditions not inconsistent with the Plan as may be determined by the Administrator in its sole discretion.



6.Effect of Acquisition. Upon a Change in Control of the Company, all Awards and all other stock options, restricted stock units and other equity awards with respect to the Common Stock that are held by a Non-Employee Director shall become fully vested and/or exercisable.
7.Effect of Other Plan Provisions. The other provisions of the Plan shall apply to the Awards granted automatically pursuant to this Policy, except to the extent such other provisions are inconsistent with this Policy.
8.Incorporation of the Plan. All applicable terms of the Plan apply to this Policy as if fully set forth herein, and all grants of Awards hereby are subject in all respect to the terms of such Plan.
9.Written Grant Agreement. The grant of any Award under this Policy shall be made solely by and subject to the terms set forth in a written agreement in a form to be approved by the Board and duly executed by an executive officer of the Company.
10.Policy Subject to Amendment, Modification and Termination. This Policy may be amended, modified or terminated by the Board in the future at its sole discretion. No Non-Employee Director shall have any rights hereunder unless and until an Award is actually granted. Without limiting the generality of the foregoing, the Board hereby expressly reserves the authority to terminate this Policy during any year up and until the election of directors at a given annual meeting of stockholders.
11.Effectiveness. This Policy, as amended and restated herein, shall become effective as of February 9, 2023.


EX-31.1 4 calx_23q2ex311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION OF CHIEF EXECUTIVE OFFICER
PURSUANT TO SECTION 302 OF
THE SARBANES-OXLEY ACT OF 2002
I, Michael Weening, certify that:
1.I have reviewed this quarterly report on Form 10-Q of Calix, Inc. for the quarter ended July 1, 2023;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
(a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
(b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
 
Date: July 24, 2023  /s/ Michael Weening
  Michael Weening
  President and Chief Executive Officer

EX-31.2 5 calx_23q2ex312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION OF CHIEF FINANCIAL OFFICER
PURSUANT TO SECTION 302 OF
THE SARBANES-OXLEY ACT OF 2002
I, Cory Sindelar, certify that:
1.I have reviewed this quarterly report on Form 10-Q of Calix, Inc. for the quarter ended July 1, 2023;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
(a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
(b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
 
Date: July 24, 2023  /s/ Cory Sindelar
  Cory Sindelar
  Chief Financial Officer

EX-32.1 6 calx_23q2ex321.htm EX-32.1 Document

Exhibit 32.1
CERTIFICATION OF CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER
PURSUANT TO 18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
I, Michael Weening, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that the Quarterly Report of Calix, Inc. (the “Company”) on Form 10-Q for the fiscal quarter ended July 1, 2023 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Quarterly Report on Form 10-Q fairly presents in all material respects the financial condition and results of operations of the Company.
 
Date: July 24, 2023  /s/ Michael Weening
  Michael Weening
  President and Chief Executive Officer

I, Cory Sindelar, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that the Quarterly Report of Calix, Inc. (the “Company”) on Form 10-Q for the fiscal quarter ended July 1, 2023 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Quarterly Report on Form 10-Q fairly presents in all material respects the financial condition and results of operations of the Company.
 
Date: July 24, 2023  /s/ Cory Sindelar
  Cory Sindelar
  Chief Financial Officer
This certification accompanies the Form 10-Q to which it relates, is not deemed filed with the Securities and Exchange Commission and is not to be incorporated by reference into any filing of Calix, Inc. under the Securities Act of 1933, as amended, or the Securities Exchange Act of 1934, as amended (whether made before or after the date of the Form 10-Q), irrespective of any general incorporation language contained in such filing.

EX-101.SCH 7 calx-20230701.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 0000007 - Disclosure - Company and Basis of Presentation link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Cash, Cash Equivalents, and Marketable Securities link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Balance Sheet Details link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Revenue from Contracts with Customers link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Net Income Per Common Share link:presentationLink link:calculationLink link:definitionLink 9954701 - Disclosure - Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 9954702 - Disclosure - Cash, Cash Equivalents and Restricted Cash (Tables) link:presentationLink link:calculationLink link:definitionLink 9954703 - Disclosure - Fair Value Measures and Disclosures (Tables) link:presentationLink link:calculationLink link:definitionLink 9954704 - Disclosure - Balance Sheet Details (Tables) link:presentationLink link:calculationLink link:definitionLink 9954705 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 9954706 - Disclosure - Stockholders' Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 9954707 - Disclosure - Revenue from Contracts with Customers (Tables) link:presentationLink link:calculationLink link:definitionLink 9954708 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 9954709 - Disclosure - Net Income Per Common Share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954710 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - Summary of Cash and Cash Equivalents (Details) link:presentationLink link:calculationLink link:definitionLink 9954711 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - Schedule of Marketable Securities (Details) link:presentationLink link:calculationLink link:definitionLink 9954712 - Disclosure - Fair Value Measures and Disclosures (Details) link:presentationLink link:calculationLink link:definitionLink 9954713 - Disclosure - Balance Sheet Details - Accounts Receivable (Details) link:presentationLink link:calculationLink link:definitionLink 9954714 - Disclosure - Balance Sheet Details - Inventory (Details) link:presentationLink link:calculationLink link:definitionLink 9954715 - Disclosure - Balance Sheet Details - Prepaid Expenses and Other Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954716 - Disclosure - Balance Sheet Details - Property and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 9954717 - Disclosure - Balance Sheet Details - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954718 - Disclosure - Balance Sheet Details - Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954719 - Disclosure - Balance Sheet Details - Warranty Reserve (Details) link:presentationLink link:calculationLink link:definitionLink 9954720 - Disclosure - Commitments and Contingencies - Operating Leases (Details) link:presentationLink link:calculationLink link:definitionLink 9954720 - Disclosure - Commitments and Contingencies - Operating Leases (Details) link:presentationLink link:calculationLink link:definitionLink 9954721 - Disclosure - Commitments and Contingencies - Operating Lease Liability (Details) link:presentationLink link:calculationLink link:definitionLink 9954722 - Disclosure - Commitments and Contingencies - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954723 - Disclosure - Stockholders' Equity - Stock Options (Details) link:presentationLink link:calculationLink link:definitionLink 9954724 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plans (Details) link:presentationLink link:calculationLink link:definitionLink 9954725 - Disclosure - Stockholders' Equity - Stock-Based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954726 - Disclosure - Stockholders' Equity - Stock Repurchase Program (Details) link:presentationLink link:calculationLink link:definitionLink 9954727 - Disclosure - Revenue from Contracts with Customers - Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 9954728 - Disclosure - Revenue from Contracts with Customers - Contract Asset and Liability (Details) link:presentationLink link:calculationLink link:definitionLink 9954729 - Disclosure - Revenue from Contracts with Customers - Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954729 - Disclosure - Revenue from Contracts with Customers - Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954730 - Disclosure - Revenue from Contracts with Customers - Contract Costs (Details) link:presentationLink link:calculationLink link:definitionLink 9954731 - Disclosure - Revenue from Contracts with Customers - Concentration Risk (Details) link:presentationLink link:calculationLink link:definitionLink 9954732 - Disclosure - Income Taxes - (Details) link:presentationLink link:calculationLink link:definitionLink 9954733 - Disclosure - Net Income Per Common Share (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 8 calx-20230701_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 9 calx-20230701_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 10 calx-20230701_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Deferred income taxes Deferred Income Taxes and Tax Credits Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Pay vs Performance Disclosure [Line Items] Summary of accrued liabilities Schedule of Accrued Liabilities [Table Text Block] Accrued liabilities Total accrued liabilities Accrued Liabilities, Current Research and development Research and Development Expense Changes in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Underlying Security Market Price Change Underlying Security Market Price Change, Percent Award Type [Domain] Award Type [Domain] Fair Value as of Grant Date Award Grant Date Fair Value Performance obligations expected to be satisfied, expected timing Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Effect of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Accounts payable Accounts Payable, Current Computer equipment Computer Equipment [Member] Restatement Determination Date: Restatement Determination Date [Axis] Capitalized contract cost, impairment Capitalized Contract Cost, Impairment Loss Corporate debt securities Corporate Debt Securities [Member] Other long-term liabilities Increase (Decrease) in Other Noncurrent Liabilities Total interest income and other income (expense), net Nonoperating Income (Expense) Commitments and contingencies (See Note 6) Commitments and Contingencies Insider Trading Policies and Procedures [Line Items] Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Number of offering periods Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Summary of accrued liabilities Accrued Liabilities, Current [Abstract] Geographical [Axis] Geographical [Axis] Award performance period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Requisite Service Period 2027 and thereafter Lessee, Operating Lease, Liability, To Be Paid, Year Four And After Year Four Lessee, Operating Lease, Liability, To Be Paid, Year Four And After Year Four Income Taxes Income Tax Disclosure [Text Block] Cost of warranty and retrofit claims Standard and Extended Product Warranty Accrual, Decrease for Payments Concentration Risk [Line Items] Concentration Risk [Line Items] Revenue Recognition Revenue [Policy Text Block] Customer [Axis] Customer [Axis] Long-term Purchase Commitment, Category of Item Purchased [Domain] Long-Term Purchase Commitment, Category of Item Purchased [Domain] Current liabilities: Liabilities, Current [Abstract] Short-Term Marketable Securities And Cash Equivalents Short-Term Marketable Securities And Cash Equivalents [Member] Short-Term Marketable Securities And Cash Equivalents Preferred stock, par value (in dollars per share) Preferred Stock, Par or Stated Value Per Share Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of July 1, 2023 and December 31, 2022 Preferred Stock, Value, Issued Summary of inventory, net Inventory, Net [Abstract] Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Diluted (in dollars per share) Diluted net income per common share (in dollars per share) Earnings Per Share, Diluted San Jose, California San Jose, California [Member] San Jose, California PEO Total Compensation Amount PEO Total Compensation Amount Employee termination period following purchase date to receive shares subject to risk of forfeiture Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture Schedule of Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Accounts receivable, net Accounts receivable, net Accounts Receivable, after Allowance for Credit Loss, Current Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Trading Symbol Trading Symbol U.S. government agency securities US Government Agencies Debt Securities [Member] Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Weighted-average grant date fair value (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Total cash, cash equivalents, and marketable securities Cash, Cash Equivalents, And Marketable Securities Cash, Cash Equivalents, And Marketable Securities Net income Net income Net income Net Income (Loss) Total current liabilities Liabilities, Current Fair Value Disclosures [Abstract] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Company Selected Measure Name Company Selected Measure Name Summary of cash and cash equivalents Schedule of Cash and Cash Equivalents [Table Text Block] LIABILITIES AND STOCKHOLDERS’ EQUITY Liabilities and Equity [Abstract] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Employee Stock Purchase Plan Employee Stock [Member] Repurchases of common stock Repurchases of common stock Stock Repurchased During Period, Value Cash and Cash Equivalents [Domain] Cash and Cash Equivalents [Domain] Stockholders’ equity: Equity, Attributable to Parent [Abstract] Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Deferred revenue Contract with Customer, Liability Stock options exercised (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Schedule of net income (loss) per share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Cost of revenue Cost of Goods and Services Sold Amortized Cost Debt Securities, Available-for-Sale, Amortized Cost, Excluding Accrued Interest, after Allowance for Credit Loss, Current Contract with customer, asset, expected to be billed remainder of year, percent Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent Award vesting period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Executive Category: Executive Category [Axis] Disclosure of share-based compensation arrangements by share-based payment award Disclosure of Share-Based Compensation Arrangements by Share-Based Payment Award [Table Text Block] Significant Accounting Policies Significant Accounting Policies [Text Block] Weighted-average exercise price per share, stock options (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Level 1 Fair Value, Inputs, Level 1 [Member] Name Measure Name Name Forgone Recovery, Individual Name 2017 Nonqualified Employee Stock Purchase Plan 2017 Nonqualified Employee Stock Purchase Plan [Member] 2017 Nonqualified Employee Stock Purchase Plan Goodwill Goodwill Summary of property and equipment, net Property, Plant and Equipment [Table Text Block] Equity Components [Axis] Equity Components [Axis] Financial Instruments [Domain] Financial Instruments [Domain] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Accrued liabilities Increase (Decrease) in Accrued Liabilities Shares available for future grant (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant Stock options granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross 2021 Performance Targets 2021 Performance Targets [Member] 2021 Performance Targets Underlying Securities Award Underlying Securities Amount Entity Small Business Entity Small Business Denominator: Weighted Average Number of Shares Outstanding, Basic [Abstract] Local Phone Number Local Phone Number Accounts receivable, net Increase (Decrease) in Accounts Receivable Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Business events Accrued Business Events, Current Accrued Business Events, Current Accounts Receivable Accounts Receivable [Member] Unrealized gain (loss) on available-for-sale marketable securities, net OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax Americas ex U.S. Americas, Non-U.S. [Member] Americas, Non-U.S. Measurement Frequency [Axis] Measurement Frequency [Axis] Operating leases Operating leases Operating Lease, Liability, Noncurrent Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Depreciation and amortization Depreciation Income Statement Location [Axis] Income Statement Location [Axis] Schedule of future minimum rental payments for operating leases Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] Europe Europe [Member] Other Performance Measure, Amount Other Performance Measure, Amount Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Inventory Increase (Decrease) in Inventories Net income per share, target achievement performance threshold, percent Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income, Target Achievement Performance Threshold, Percent Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income, Target Achievement Performance Threshold, Percent Research and development Research and Development Expense [Member] Investing activities Net Cash Provided by (Used in) Investing Activities [Abstract] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Potentially dilutive shares, weighted average (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Award Type [Axis] Award Type [Axis] Freight Accrued Freight Accrued Freight Plan Name [Domain] Plan Name [Domain] Document Quarterly Report Document Quarterly Report Unrecognized stock-based compensation expense Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] General and administrative General and Administrative Expense [Member] Number of shares authorized (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized Property and equipment, gross Property, Plant and Equipment, Gross Trading Arrangement: Trading Arrangement [Axis] Less imputed interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Number of shares purchased (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Purchased for Award PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Schedule of income taxes Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] 2019 Equity Incentive Award Plan 2019 Equity Incentive Award Plan [Member] 2019 Equity Incentive Award Plan [Member] Entity File Number Entity File Number Loss Contingencies [Table] Loss Contingencies [Table] Operating leases Accrued liabilities - current portion of operating leases Operating Lease, Liability, Current Current portion of warranty and retrofit Product Warranty Accrual, Current Licensed Software Computer Software, Intangible Asset [Member] Entity Shell Company Entity Shell Company 2026 Lessee, Operating Lease, Liability, to be Paid, Year Three Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Newly Adopted Accounting Standard and Recent Accounting Pronouncements Not Yet Adopted New Accounting Pronouncements, Policy [Policy Text Block] Restatement Determination Date Restatement Determination Date Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Cash and cash equivalents at beginning of period Cash and cash equivalents at end of period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents 2025 Lessee, Operating Lease, Liability, to be Paid, Year Two Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Rent expense Operating Lease, Cost Weighted-average number of shares used to compute net income per common share Weighted Average Number of Shares Outstanding Reconciliation [Abstract] Common stock, shares issued (in shares) Common Stock, Shares, Issued Gross profit Gross Profit Deferred revenue Contract with Customer, Liability, Current Security Exchange Name Security Exchange Name Total assets Assets, Fair Value Disclosure Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Award vesting rights, percentage Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage Stock Options Employee Stock Option [Member] Recognition period Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Cash equivalents Cash Equivalents, at Carrying Value Document Type Document Type Tabular List, Table Tabular List [Table Text Block] Entity Address, Address Line One Entity Address, Address Line One Outstanding purchase commitments Purchase Commitment, Remaining Minimum Amount Committed Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Purchases of marketable securities Payments to Acquire Debt Securities, Available-for-Sale Remaining performance obligation, percentage Revenue, Remaining Performance Obligation, Percentage Allowance for doubtful accounts Accounts Receivable, Allowance for Credit Loss, Current ESPP, maximum employee payroll deduction percentage Share-Based Compensation Arrangement by Share-Based Payment Award, Maximum Employee Subscription Rate Customer Concentration Risk Customer Concentration Risk [Member] Inventories Inventories [Member] Cash Cash [Member] Income Statement [Abstract] Income Statement [Abstract] Supplier deposits Deposits Assets, Current Raw materials Inventory, Raw Materials, Net of Reserves Title of 12(b) Security Title of 12(b) Security Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Money market funds Cash and Cash Equivalents, Fair Value Disclosure Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Numerator: Net Income (Loss) Attributable to Parent [Abstract] Issuance of common stock under equity incentive plans, net of forfeitures Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture Middle East & Africa Middle East And Africa [Member] Middle East And Africa Customer advances or rebates Accrued Customer Rebates Accrued customer rebates. Income Tax Disclosure [Abstract] Income Tax Disclosure [Abstract] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Summary of accounts receivable, net Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block] Entity Tax Identification Number Entity Tax Identification Number Inventory Total inventory Inventory, Net Capitalized contract cost, amortization Capitalized Contract Cost, Amortization Balance Sheet Location [Domain] Balance Sheet Location [Domain] Financial Instrument [Axis] Financial Instrument [Axis] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Debt Securities, Available-for-sale [Table] Debt Securities, Available-for-Sale [Table] Royalty payment commitment Royalty Guarantees, Commitments, Amount Total Shareholder Return Amount Total Shareholder Return Amount Repurchases of common stock Payments for Repurchase of Common Stock Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Accruals for product warranty and retrofit Standard And Extended Product Warranty Accrual, Increase For Warranties Issued, Net Of Adjustments Standard And Extended Product Warranty Accrual, Increase For Warranties Issued, Net Of Adjustments Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Accumulated deficit Retained Earnings (Accumulated Deficit) Measure: Measure [Axis] Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Name Outstanding Recovery, Individual Name Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets: Assets, Current [Abstract] Accounts receivable Accounts Receivable, before Allowance for Credit Loss, Current Entity Address, State or Province Entity Address, State or Province Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] Operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] Operating lease, payments Operating Lease, Payments Common stock, shares outstanding (in shares) Beginning Balance (in shares) Ending Balance (in shares) Common Stock, Shares, Outstanding Maturities of marketable securities Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale Capitalized contract cost, gross Capitalized Contract Cost, Gross Software Software [Member] Software Net income per common share: Earnings Per Share, Basic [Abstract] PEO PEO [Member] Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Foreign currency translation adjustments, net Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Customer [Domain] Customer [Domain] Summary of inventory Schedule of Inventory, Current [Table Text Block] Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Effective tax rate Effective Income Tax Rate Reconciliation, Percent Operating lease liability Operating Lease, Liability Total liabilities Liabilities Company and Basis of Presentation Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Shares award weighting percent Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent Stockholders' Equity Shareholders' Equity and Share-Based Payments [Text Block] Vesting [Domain] Vesting [Domain] Balance Sheet Related Disclosures [Abstract] Balance Sheet Related Disclosures [Abstract] Prepaid expenses and other assets Increase (Decrease) in Prepaid Expense and Other Assets Accumulated Other Comprehensive Loss AOCI Attributable to Parent [Member] Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Measurement Frequency [Domain] Measurement Frequency [Domain] All Executive Categories All Executive Categories [Member] Long-term portion of deferred revenue Contract with Customer, Liability, Noncurrent Title of Individual [Axis] Title of Individual [Axis] Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Plan Name [Axis] Plan Name [Axis] Property, Plant and Equipment, Type [Domain] Long-Lived Tangible Asset [Domain] Income tax benefit recognized Share-Based Payment Arrangement, Expense, Tax Benefit Net income per common share: Earnings Per Share [Abstract] Sales and marketing Selling and Marketing Expense Common stock, $0.025 par value; 100,000 shares authorized; 66,320 shares issued and outstanding as of July 1, 2023, and 65,735 shares issued and outstanding as of December 31, 2022 Common Stock, Value, Issued U.S. government securities US Government Debt Securities [Member] General and administrative General and Administrative Expense Average price paid per share (in dollars per share) Stock Repurchased During Period, Average Cost Per Share Stock Repurchased During Period, Average Cost Per Share Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Professional and consulting fees Accrued Professional Fees, Current Number of shares granted if no-GAAP income below 80% and bookings below 90% of target (in shares) Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Total current assets Assets, Current Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] All Individuals All Individuals [Member] Other income (expense), net Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Other liabilities Other Liabilities Statement [Table] Statement [Table] Current Fiscal Year End Date Current Fiscal Year End Date Stock repurchase program, authorized amount Stock Repurchase Program, Authorized Amount Repurchases of common stock (in shares) Shares repurchased (in shares) Stock Repurchased During Period, Shares Cash, Cash Equivalents and Marketable Securities Cash, Cash Equivalents, and Marketable Securities [Text Block] PEO Name PEO Name Concentration risk, percentage Concentration Risk, Percentage Asia Pacific Asia Pacific [Member] Preferred stock, shares authorized (in shares) Preferred Stock, Shares Authorized Preferred stock, shares outstanding (in shares) Preferred Stock, Shares Outstanding Purchase commitment period Long-Term Purchase Commitment, Period Summary of prepaid expenses and other current assets Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block] Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Other Other Accrued Liabilities, Current Furniture and fixtures Furniture and Fixtures [Member] Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Balance at beginning of period Balance at end of period Standard and Extended Product Warranty Accrual Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Total stockholders’ equity Balance at beginning of period Balance at end of period Equity, Attributable to Parent Commercial paper Commercial Paper [Member] Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Unrealized Losses Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain (Loss), before Tax Deferred revenue Increase (Decrease) in Deferred Revenue Valuation allowance Deferred Tax Assets, Valuation Allowance Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Contract with customer, liability, revenue recognized Contract with Customer, Liability, Revenue Recognized Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Concentration Risk Type [Axis] Concentration Risk Type [Axis] Income before income taxes Income before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Property, Plant and Equipment, Type [Axis] Long-Lived Tangible Asset [Axis] Preferred stock, shares issued (in shares) Preferred Stock, Shares Issued Level 2 Fair Value, Inputs, Level 2 [Member] Entity Emerging Growth Company Entity Emerging Growth Company Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Product warranty activities Schedule of Product Warranty Liability [Table Text Block] Component inventory held by suppliers Accrued customer rebates/prepayments Accrued Excess and Obsolete Inventory At Contract Manufacturer Accrued excess and obsolete inventory at contract manufacturer. Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Marketable securities Fair Value Debt Securities, Available-for-Sale, Excluding Accrued Interest, Current Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Document Fiscal Period Focus Document Fiscal Period Focus 2024 Lessee, Operating Lease, Liability, to be Paid, Year One Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Title Trading Arrangement, Individual Title Stock-based compensation Share-Based Payment Arrangement, Noncash Expense Revenue from external customers by geographic areas Revenue from External Customers by Geographic Areas [Table Text Block] Common Stock Common Stock [Member] Stock repurchase program, period authorized Stock Repurchase Program, Period in Force Individual: Individual [Axis] City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Net Income Per Common Share Earnings Per Share [Text Block] Income Statement Location [Domain] Income Statement Location [Domain] Document Fiscal Year Focus Document Fiscal Year Focus Geographical [Domain] Geographical [Domain] Maximum combined payout percent Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Maximum Combined Payout, Percent Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Maximum Combined Payout, Percent Property and equipment, net Property and equipment, net Property, Plant and Equipment, Net Exercise Price Award Exercise Price Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Cash Cash Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] ASSETS Assets [Abstract] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Product returns Product Return Reserve, Current Product Return Reserve, Current Net cash provided by financing activities Net Cash Provided by (Used in) Financing Activities Deferred tax assets Deferred Income Tax Assets, Net Fair value, assets measured on recurring basis Fair Value, Assets Measured on Recurring Basis [Table Text Block] Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Prepaid expenses and other current assets Prepaid Expenses And Other Assets, Miscellaneous, Current Prepaid Expenses And Other Assets, Miscellaneous, Current Accumulated Deficit Retained Earnings [Member] Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Net accretion of available-for-sale securities Accretion (Amortization) of Discounts and Premiums, Investments Total liabilities and stockholders’ equity Liabilities and Equity Interest income and other income (expense), net: Nonoperating Income (Expense) [Abstract] Other assets Other Assets, Noncurrent Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Basic (in dollars per share) Basic net income per common share (in dollars per share) Earnings Per Share, Basic Right-of-use operating leases Operating Lease, Right-of-Use Asset Unrecognized stock-based compensation expense, stock options Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount Accounting Policies [Abstract] Accounting Policies [Abstract] Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] Remainder of 2023 Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Arrangement Duration Trading Arrangement Duration Entity Address, City or Town Entity Address, City or Town Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Schedule of Cash and Cash Equivalents [Table] Schedule of Cash and Cash Equivalents [Table] Operating lease, liability, current, statement of financial position Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration] Balance Sheet Details Supplemental Balance Sheet Disclosures [Text Block] Summary of property and equipment, net Property, Plant and Equipment, Net, by Type [Abstract] Document Transition Report Document Transition Report Award Timing Predetermined Award Timing Predetermined [Flag] Remaining authorized repurchase amount Stock Repurchase Program, Remaining Authorized Repurchase Amount Termination Date Trading Arrangement Termination Date Accounts payable Increase (Decrease) in Accounts Payable Common stock, shares authorized (in shares) Common Stock, Shares Authorized Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Adjustments to reconcile net income to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] All Trading Arrangements All Trading Arrangements [Member] All Adjustments to Compensation All Adjustments to Compensation [Member] Award Timing Disclosures [Line Items] Title of Individual [Domain] Title of Individual [Domain] Compensation Amount Outstanding Recovery Compensation Amount Executive Officer Executive Officer [Member] Short-Term Marketable Securities Short-Term Marketable Securities [Member] Short-Term Marketable Securities Proceeds from common stock issuances related to employee benefit plans Proceeds from Stock Options Exercised Municipal securities Municipal Notes [Member] Prepaid expenses and other current assets Total prepaid expense and other assets Prepaid Expense and Other Assets, Current Insider Trading Arrangements [Line Items] Issuance of common stock under equity incentive plans, net of forfeitures (in shares) Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture Movement in Standard Product Warranty Accrual [Roll Forward] Movement in Standard Product Warranty Accrual [Roll Forward] Entity Registrant Name Entity Registrant Name Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Award Timing Method Award Timing Method [Text Block] Effect of dilutive common stock equivalents (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements Adjustment to Compensation, Amount Adjustment to Compensation Amount Period Two Share-Based Payment Arrangement, Tranche Two [Member] Cost of revenue Cost of Sales [Member] Shares purchased under ESPP (in shares) Stock Issued During Period, Shares, Employee Stock Ownership Plan Document Period End Date Document Period End Date Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Adoption Date Trading Arrangement Adoption Date Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Entity Central Index Key Entity Central Index Key Stock-based compensation Share-Based Payment Arrangement, Expense Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Income taxes Income taxes Income Tax Expense (Benefit) Finished goods Inventory, Finished Goods, Net of Reserves Revenue share payments Revenue Share Obligation, Current Revenue Share Obligation, Current Performance Based Stock Options Performance Based Stock Options [Member] Performance Based Stock Options Compensation and related benefits Employee-related Liabilities, Current Vesting [Axis] Vesting [Axis] Fair Value Measurements Fair Value Disclosures [Text Block] Name Trading Arrangement, Individual Name Cash and Cash Equivalents [Abstract] Cash and Cash Equivalents [Abstract] Total other comprehensive income (loss), net of tax Other comprehensive income (loss) Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Taxes payable Taxes Payable, Current, Excluding Accrued Income Taxes Taxes Payable, Current, Excluding Accrued Income Taxes Equity [Abstract] Debt Securities, Available-for-sale [Line Items] Debt Securities, Available-for-Sale [Line Items] Weighted average remaining lease term for operating lease Operating Lease, Weighted Average Remaining Lease Term Revenue Total revenues Revenue from Contract with Customer, Excluding Assessed Tax Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Cash and Cash Equivalents [Line Items] Cash and Cash Equivalents [Line Items] Amendment Flag Amendment Flag Money market funds Money Market Funds [Member] Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Axis] Cash and cash equivalents Total cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Weighted average operating discount rate used to determine the operating lease liability (percent) Operating Lease, Weighted Average Discount Rate, Percent Number of shares issued (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Leasehold improvements Leasehold Improvements [Member] Sales and marketing Selling and Marketing Expense [Member] Number of employee stock purchase plans Number Of Employee Stock Purchase Plans Number Of Employee Stock Purchase Plans Diluted (in shares) Weighted-average common shares outstanding used to compute diluted net income (loss) per share (in shares) Weighted Average Number of Shares Outstanding, Diluted Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Realized gains and losses on marketable securities Debt Securities, Available-for-Sale, Realized Gain (Loss) Interest income, net Interest Income (Expense), Nonoperating, Net Number of additional shares authorized (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Additional Shares Authorized Operating expenses: Operating Expenses [Abstract] Revenue from Contracts with Customers Revenue from Contract with Customer [Text Block] Purchases of property and equipment Payments to Acquire Property, Plant, and Equipment Company Selected Measure Amount Company Selected Measure Amount Additional paid-in capital Additional Paid in Capital, Common Stock Additional Paid-in Capital Additional Paid-in Capital [Member] Payments related to financing arrangements Payments For Financing Arrangements Payments For Financing Arrangements Balance Sheet Location [Axis] Balance Sheet Location [Axis] Total assets Assets Name Awards Close in Time to MNPI Disclosures, Individual Name Commitments and Contingencies [Line Items] Loss Contingencies [Line Items] Cover [Abstract] Test equipment Equipment [Member] Category of Item Purchased [Axis] Category of Item Purchased [Axis] Stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition United States UNITED STATES Fair Value, Recurring Fair Value, Recurring [Member] Other long-term liabilities Other Liabilities, Noncurrent Non-NEOs Non-NEOs [Member] Total future minimum lease payments Total future minimum lease payments Lessee, Operating Lease, Liability, to be Paid Remaining performance obligation, amount Revenue, Remaining Performance Obligation, Amount Offering period Share-Based Compensation Arrangement By Share-based Payment Award, Purchase Price Of Common Stock, Offering Period Share-Based Compensation Arrangement By Share-based Payment Award, Purchase Price Of Common Stock, Offering Period Total operating expenses Operating Expenses Net increase in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Non-PEO NEO Non-PEO NEO [Member] Equity Component [Domain] Equity Component [Domain] Maximum number of shares allocated per purchase period Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period Adjustment to Compensation: Adjustment to Compensation [Axis] ESPP, discounted purchase price percentage Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Contract with customer, asset Contract with Customer, Asset, after Allowance for Credit Loss Basic (in shares) Weighted-average common shares outstanding used to compute basic net income (loss) per share (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Concentration Risk Type [Domain] Concentration Risk Type [Domain] Operating income Operating Income (Loss) Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Customer One Customer One [Member] Customer One Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Statement [Line Items] Statement [Line Items] Concentration Risk [Table] Concentration Risk [Table] Increase in the number of shares of common stock issuable (in shares) Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares Other comprehensive income (loss), net of tax: Other Comprehensive Income (Loss), Net of Tax [Abstract] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Debt securities, available-for-sale Debt Securities, Available-for-Sale [Table Text Block] Lessee, operating lease liability Lessee, Operating Lease Liability [Table Text Block] Lessee, Operating Lease Liability Period One Share-Based Payment Arrangement, Tranche One [Member] Summary of accounts receivable, net Accounts Receivable, after Allowance for Credit Loss, Current [Abstract] Target achievement threshold for shares award sliding scale Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent EX-101.PRE 11 calx-20230701_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 12 R1.htm IDEA: XBRL DOCUMENT v3.23.2
Cover - shares
6 Months Ended
Jul. 01, 2023
Jul. 17, 2023
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Jul. 01, 2023  
Document Transition Report false  
Entity File Number 001-34674  
Entity Registrant Name Calix, Inc  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 68-0438710  
Entity Address, Address Line One 2777 Orchard Parkway  
Entity Address, City or Town San Jose  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 95134  
City Area Code 408  
Local Phone Number 514-3000  
Title of 12(b) Security Common Stock, par value $0.025 per share  
Trading Symbol CALX  
Security Exchange Name NYSE  
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   66,320,013
Entity Central Index Key 0001406666  
Amendment Flag false  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q2  
Current Fiscal Year End Date --12-31  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 90,187 $ 79,073
Marketable securities 173,941 162,642
Accounts receivable, net 96,980 93,804
Inventory 153,394 149,160
Prepaid expenses and other current assets 84,782 62,691
Total current assets 599,284 547,370
Property and equipment, net 28,836 25,834
Right-of-use operating leases 10,754 9,283
Deferred tax assets 166,331 167,031
Goodwill 116,175 116,175
Other assets 20,388 19,142
Total assets 941,768 884,835
Current liabilities:    
Accounts payable 35,358 41,407
Accrued liabilities 85,275 90,474
Deferred revenue 41,814 33,541
Total current liabilities 162,447 165,422
Long-term portion of deferred revenue 25,425 25,072
Operating leases 9,504 8,442
Other long-term liabilities 2,622 6,332
Total liabilities 199,998 205,268
Commitments and contingencies (See Note 6)
Stockholders’ equity:    
Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of July 1, 2023 and December 31, 2022 0 0
Common stock, $0.025 par value; 100,000 shares authorized; 66,320 shares issued and outstanding as of July 1, 2023, and 65,735 shares issued and outstanding as of December 31, 2022 1,658 1,644
Additional paid-in capital 1,112,434 1,070,100
Accumulated other comprehensive loss (1,589) (2,473)
Accumulated deficit (370,733) (389,704)
Total stockholders’ equity 741,770 679,567
Total liabilities and stockholders’ equity $ 941,768 $ 884,835
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares
Jul. 01, 2023
Dec. 31, 2022
Statement of Financial Position [Abstract]    
Preferred stock, par value (in dollars per share) $ 0.025 $ 0.025
Preferred stock, shares authorized (in shares) 5,000,000 5,000,000
Preferred stock, shares issued (in shares) 0 0
Preferred stock, shares outstanding (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.025 $ 0.025
Common stock, shares authorized (in shares) 100,000,000 100,000,000
Common stock, shares issued (in shares) 66,320,000 65,735,000
Common stock, shares outstanding (in shares) 66,320,000 65,735,000
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jul. 02, 2022
Jul. 01, 2023
Jul. 02, 2022
Income Statement [Abstract]        
Revenue $ 261,016 $ 202,042 $ 511,024 $ 386,990
Cost of revenue 124,546 101,862 246,503 195,018
Gross profit 136,470 100,180 264,521 191,972
Operating expenses:        
Sales and marketing 54,596 41,138 106,461 77,229
Research and development 45,341 30,430 88,514 60,247
General and administrative 24,722 18,911 47,799 34,942
Total operating expenses 124,659 90,479 242,774 172,418
Operating income 11,811 9,701 21,747 19,554
Interest income and other income (expense), net:        
Interest income, net 2,255 240 3,895 275
Other income (expense), net 163 (272) (4) (340)
Total interest income and other income (expense), net 2,418 (32) 3,891 (65)
Income before income taxes 14,229 9,669 25,638 19,489
Income taxes 4,856 2,148 6,667 3,849
Net income $ 9,373 $ 7,521 $ 18,971 $ 15,640
Net income per common share:        
Basic (in dollars per share) $ 0.14 $ 0.12 $ 0.29 $ 0.24
Diluted (in dollars per share) $ 0.13 $ 0.11 $ 0.27 $ 0.23
Weighted-average number of shares used to compute net income per common share        
Basic (in shares) 66,271 64,836 66,157 64,662
Diluted (in shares) 69,657 68,169 69,684 68,285
Other comprehensive income (loss), net of tax:        
Unrealized gain (loss) on available-for-sale marketable securities, net $ (141) $ (306) $ 921 $ (1,467)
Foreign currency translation adjustments, net (141) (403) (37) (474)
Total other comprehensive income (loss), net of tax (282) (709) 884 (1,941)
Comprehensive income $ 9,091 $ 6,812 $ 19,855 $ 13,699
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
shares in Thousands, $ in Thousands
Total
Common Stock
Additional Paid-in Capital
Accumulated Other Comprehensive Loss
Accumulated Deficit
Beginning Balance (in shares) at Dec. 31, 2021   64,274      
Balance at beginning of period at Dec. 31, 2021 $ 568,428 $ 1,607 $ 997,855 $ (320) $ (430,714)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock-based compensation 20,475   20,475    
Issuance of common stock under equity incentive plans, net of forfeitures (in shares)   967      
Issuance of common stock under equity incentive plans, net of forfeitures 14,527 $ 24 14,503    
Net income 15,640       15,640
Other comprehensive income (loss) (1,941)     (1,941)  
Ending Balance (in shares) at Jul. 02, 2022   65,241      
Balance at end of period at Jul. 02, 2022 617,129 $ 1,631 1,032,833 (2,261) (415,074)
Beginning Balance (in shares) at Apr. 02, 2022   64,612      
Balance at beginning of period at Apr. 02, 2022 591,805 $ 1,616 1,014,336 (1,552) (422,595)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock-based compensation 10,007   10,007    
Issuance of common stock under equity incentive plans, net of forfeitures (in shares)   629      
Issuance of common stock under equity incentive plans, net of forfeitures 8,505 $ 15 8,490    
Net income 7,521       7,521
Other comprehensive income (loss) (709)     (709)  
Ending Balance (in shares) at Jul. 02, 2022   65,241      
Balance at end of period at Jul. 02, 2022 $ 617,129 $ 1,631 1,032,833 (2,261) (415,074)
Beginning Balance (in shares) at Dec. 31, 2022 65,735 65,735      
Balance at beginning of period at Dec. 31, 2022 $ 679,567 $ 1,644 1,070,100 (2,473) (389,704)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock-based compensation 34,064   34,064    
Issuance of common stock under equity incentive plans, net of forfeitures (in shares)   810      
Issuance of common stock under equity incentive plans, net of forfeitures $ 18,284 $ 20 18,264    
Repurchases of common stock (in shares) (200) (225)      
Repurchases of common stock $ (10,000) $ (6) (9,994)    
Net income 18,971       18,971
Other comprehensive income (loss) $ 884     884  
Ending Balance (in shares) at Jul. 01, 2023 66,320 66,320      
Balance at end of period at Jul. 01, 2023 $ 741,770 $ 1,658 1,112,434 (1,589) (370,733)
Beginning Balance (in shares) at Apr. 01, 2023   66,244      
Balance at beginning of period at Apr. 01, 2023 717,839 $ 1,656 1,097,596 (1,307) (380,106)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock-based compensation 17,844   17,844    
Issuance of common stock under equity incentive plans, net of forfeitures (in shares)   276      
Issuance of common stock under equity incentive plans, net of forfeitures 5,813 $ 7 5,806    
Repurchases of common stock (in shares)   (200)      
Repurchases of common stock (8,817) $ (5) (8,812)    
Net income 9,373       9,373
Other comprehensive income (loss) $ (282)     (282)  
Ending Balance (in shares) at Jul. 01, 2023 66,320 66,320      
Balance at end of period at Jul. 01, 2023 $ 741,770 $ 1,658 $ 1,112,434 $ (1,589) $ (370,733)
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
6 Months Ended
Jul. 01, 2023
Jul. 02, 2022
Operating activities:    
Net income $ 18,971 $ 15,640
Adjustments to reconcile net income to net cash provided by operating activities:    
Stock-based compensation 34,064 20,475
Depreciation and amortization 7,915 7,671
Deferred income taxes 884 1,034
Net accretion of available-for-sale securities (1,897) 0
Changes in operating assets and liabilities:    
Accounts receivable, net (3,176) (909)
Inventory (4,234) (9,445)
Prepaid expenses and other assets (26,123) (23,268)
Accounts payable (6,305) (6,060)
Accrued liabilities (502) 4,222
Deferred revenue 8,626 8,725
Other long-term liabilities (2,647) (3,721)
Net cash provided by operating activities 25,576 14,364
Investing activities    
Purchases of property and equipment (10,107) (5,866)
Purchases of marketable securities (105,888) (103,286)
Maturities of marketable securities 97,223 81,452
Net cash used in investing activities (18,772) (27,700)
Financing activities:    
Proceeds from common stock issuances related to employee benefit plans 18,284 14,527
Repurchases of common stock (10,000) 0
Payments related to financing arrangements (4,088) (632)
Net cash provided by financing activities 4,196 13,895
Effect of exchange rate changes on cash and cash equivalents 114 (376)
Net increase in cash and cash equivalents 11,114 183
Cash and cash equivalents at beginning of period 79,073 51,333
Cash and cash equivalents at end of period $ 90,187 $ 51,516
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.23.2
Company and Basis of Presentation
6 Months Ended
Jul. 01, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Company and Basis of Presentation Company and Basis of Presentation
Company
Calix, Inc. (together with its subsidiaries, “Calix” or the “Company”) was incorporated in August 1999 and is a Delaware corporation. The Company is the leading global provider of a platform (cloud, software and systems) and managed services that focus on the subscriber-facing network, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers. This platform and managed services enable broadband service providers (“BSPs”) of all sizes to innovate and transform their businesses. The Company’s BSP customers are empowered to utilize real-time data and insights from the Calix platform to simplify their businesses and deliver experiences that excite their subscribers. These insights enable BSPs to grow their businesses through increased subscriber acquisition, loyalty and revenue, thereby increasing the value of their businesses and contributions to their communities.
Basis of Presentation
The accompanying unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (“GAAP”) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company’s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December 31, 2022 has been derived from the audited financial statements at that date.
The results of the Company’s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022.
The Company’s fiscal year begins on January 1st and ends on December 31st. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31st. As a result, the Company had one less day in the six months ended July 1, 2023 than for the six months ended July 2, 2022. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.23.2
Significant Accounting Policies
6 Months Ended
Jul. 01, 2023
Accounting Policies [Abstract]  
Significant Accounting Policies Significant Accounting Policies
The Company’s significant accounting policies are disclosed in its Annual Report on Form 10-K for the year ended December 31, 2022. The Company’s significant accounting policies did not change during the six months ended July 1, 2023.
Newly Adopted Accounting Standard
The Company did not adopt any new accounting standards during the six months ended July 1, 2023 that were significant to the Company.

Recent Accounting Pronouncements Not Yet Adopted
There have been no additional accounting pronouncements or changes in accounting pronouncements during the six months ended July 1, 2023 as compared to the recent accounting pronouncements described in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022, that are significant or expected to be significant to the Company.
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.23.2
Cash, Cash Equivalents, and Marketable Securities
6 Months Ended
Jul. 01, 2023
Cash and Cash Equivalents [Abstract]  
Cash, Cash Equivalents and Marketable Securities Cash, Cash Equivalents and Marketable Securities
The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as commercial paper, corporate debt securities, municipal securities and U.S. government securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent commercial paper, U.S. government agency securities, corporate debt securities, municipal securities and U.S. government securities with maturities greater than 90 days at date of purchase. Cash equivalents are stated at amounts that approximate fair value based on quoted market prices. Marketable securities are recorded at their fair values.
Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.
The Company’s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of accumulated other comprehensive loss in the stockholders’ equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific identification method and are reclassified from accumulated other comprehensive loss to results of operations as other expense, net. There were no realized gains and losses for the three and six months ended July 1, 2023 and July 2, 2022, respectively.
Cash, cash equivalents and marketable securities consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Cash and cash equivalents:
Cash$45,984 $39,189 
Commercial paper25,270 33,199 
U.S. government securities14,914 5,990 
U.S. government agency securities2,954 — 
Money market funds1,065 555 
Corporate debt securities— 140 
Total cash and cash equivalents90,187 79,073 
Marketable securities:
U.S. government securities99,173 106,750 
U.S. government agency securities40,306 23,632 
Commercial paper29,916 28,992 
Corporate debt securities4,546 3,168 
Municipal securities— 100 
Total marketable securities173,941 162,642 
$264,128 $241,715 
The carrying amounts of the Company’s money market funds approximate their fair values due to their nature, duration and short maturities.
The amortized cost and fair value of marketable securities were as follows (in thousands):
As of July 1, 2023Amortized CostUnrealized LossesFair Value
U.S. government securities$114,541 $(454)$114,087 
Commercial paper55,228 (42)55,186 
U.S. government agency securities43,703 (443)43,260 
Corporate debt securities4,570 (24)4,546 
$218,042 $(963)$217,079 

As of December 31, 2022Amortized CostUnrealized LossesFair Value
U.S. government securities$114,119 $(1,379)$112,740 
Commercial paper62,262 (71)62,191 
U.S. government agency securities23,876 (244)23,632 
Corporate debt securities3,312 (4)3,308 
Municipal securities101 (1)100 
$203,670 $(1,699)$201,971 
XML 21 R10.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value Measurements
6 Months Ended
Jul. 01, 2023
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
The Company measures its cash equivalents and marketable securities at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. The Company utilizes the following three-tier value hierarchy, which prioritizes the inputs used in measuring fair value:
Level 1 – Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.
Level 2 – Observable inputs other than quoted prices included in Level 1 for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-driven valuations in which all significant inputs and significant value drivers are observable in active markets.
Level 3 – Unobservable inputs to the valuation derived from fair valuation techniques in which one or more significant inputs or significant value drivers are unobservable. The fair value hierarchy also requires the Company to maximize the use of observable inputs, when available, and to minimize the use of unobservable inputs when determining inputs and determining fair value.

The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands):
As of July 1, 2023Level 1Level 2Total
Money market funds$1,065 $— $1,065 
U.S. government securities114,087 — 114,087 
Commercial paper— 55,186 55,186 
U.S. government agency securities— 43,260 43,260 
Corporate debt securities— 4,546 4,546 
$115,152 $102,992 $218,144 
As of December 31, 2022Level 1Level 2Total
Money market funds$555 $— $555 
U.S. government securities112,740 — 112,740 
Commercial paper— 62,191 62,191 
U.S. government agency securities— 23,632 23,632 
Corporate debt securities— 3,308 3,308 
Municipal securities— 100 100 
$113,295 $89,231 $202,526 
XML 22 R11.htm IDEA: XBRL DOCUMENT v3.23.2
Balance Sheet Details
6 Months Ended
Jul. 01, 2023
Balance Sheet Related Disclosures [Abstract]  
Balance Sheet Details Balance Sheet Details
Accounts receivable, net consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Accounts receivable$97,321 $94,201 
Allowance for doubtful accounts(341)(397)
$96,980 $93,804 
Inventory consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Raw materials$7,447 $640 
Finished goods145,947 148,520 
$153,394 $149,160 
Prepaid expenses and other current assets consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Supplier deposits    $51,391 $39,064 
Prepaid expenses and other current assets33,391 23,627 
$84,782 $62,691 
Property and equipment, net consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Test equipment$48,407 $44,106 
Computer equipment14,143 13,396 
Software11,396 10,389 
Leasehold improvements1,925 1,730 
Furniture and fixtures1,266 1,153 
Total77,137 70,774 
Accumulated depreciation and amortization(48,301)(44,940)
$28,836 $25,834 
Accrued liabilities consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Compensation and related benefits$26,089 $27,813 
Component inventory held by suppliers11,484 10,280 
Professional and consulting fees8,311 7,307 
Customer advances or rebates7,888 5,653 
Revenue share payments7,585 7,210 
Current portion of warranty and retrofit5,786 6,377 
Taxes payable4,425 4,581 
Operating leases3,895 3,949 
Product returns2,394 2,961 
Freight995 3,649 
Business events— 3,167 
Other6,423 7,527 
$85,275 $90,474 
In March 2018, and as amended in December 2020, the Company entered into an agreement with a vendor to develop a certain software product and related enhancements pursuant to which the Company is obligated to make revenue-share payments under the program, subject to aggregate fixed revenue-share payments of $15.8 million. The payments are based on a revenue-share rate applied to revenue from the developed-product and the corresponding hardware sales through March 2024. If the minimum revenue-share payments are not achieved by the end of that period, a true-up payment will be due. As of July 1, 2023, the liability, including accrued interest, was $7.6 million, which is included in “Accrued liabilities” in the accompanying Condensed Consolidated Balance Sheet. As of December 31, 2022, the liability, including accrued interest, was $11.4 million, of which $7.2 million was included in “Accrued liabilities” and $4.2 million in “Other long-term liabilities.”
Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):
 Three Months EndedSix Months Ended
July 1,
2023
July 2,
2022
July 1,
2023
July 2,
2022
Balance at beginning of period$8,445 $9,570 $8,386 $9,594 
Accruals for product warranty and retrofit
802 (351)1,817 177 
Cost of warranty and retrofit claims
(941)(565)(1,897)(1,117)
Balance at end of period$8,306 $8,654 $8,306 $8,654 
XML 23 R12.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and Contingencies
6 Months Ended
Jul. 01, 2023
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
Lease Commitments
The Company leases office space under non-cancelable operating leases. Certain of the Company’s operating leases contain renewal options and rent acceleration clauses. Future minimum payments under the non-cancelable operating leases consisted of the following as of July 1, 2023 (in thousands):
PeriodFuture Minimum Lease Payments
Remainder of 2023$2,232 
20244,668 
20254,470 
20261,490 
2027 and thereafter1,790 
Total future minimum lease payments14,650 
Less imputed interest(1,251)
$13,399 
As of July 1, 2023, the operating lease liability consisted of the following (in thousands):
Accrued liabilities - current portion of operating leases$3,895 
Operating leases9,504 
$13,399 
The Company leases its headquarters office space in San Jose, California under a lease agreement that expires in December 2025. The future minimum lease payments under the lease are $6.1 million and are included in the table above.
The weighted average discount rate for the Company’s operating leases as of July 1, 2023 was 5.4%. The weighted average remaining lease term as of July 1, 2023 was 3.5 years.
For the three and six months ended July 1, 2023, total rent expense of the Company was $1.2 million and $2.4 million, respectively. For the three and six months ended July 2, 2022, total rent expense of the Company was $1.1 million and $2.2 million, respectively. Cash paid within operating cash flows for operating leases was $2.3 million for the six months ended July 1, 2023 and July 2, 2022 for each respective period.
Purchase Commitments
The Company’s suppliers, including contract manufacturers (“CMs”) and original design manufacturers (“ODMs”), place orders for certain component inventory in advance based upon the Company’s build forecasts in order to reduce manufacturing lead times and ensure adequate component supply. The components are used by the CMs and ODMs to build the products included in the build forecasts. The Company generally does not take ownership of the components held by CMs and ODMs. The Company places purchase orders with its CMs and ODMs in order to fulfill its monthly finished product inventory requirements. The Company incurs a liability when the CMs and ODMs convert the component inventory to a finished product and takes ownership of the finished goods inventory. In the event of termination of services with a manufacturing partner, the Company has purchased, and may be required to purchase in the future, certain of the remaining components inventory held by the CM or ODM as well as any outstanding orders pursuant to the contractual provisions with such CM or ODM. As of July 1, 2023 and December 31, 2022, the Company had approximately $253.9 million and $340.6 million, respectively, of outstanding purchase commitments for inventories to be delivered by its suppliers, including CMs and ODMs, within two years.
The Company has from time to time, and subject to certain conditions, reimbursed certain suppliers for component inventory purchases when this inventory has been rendered excess or obsolete, for example due to manufacturing and engineering change orders resulting from design changes, manufacturing discontinuation of products by its suppliers, or in cases where the Company has committed inventory levels that greatly exceed projected demand. The estimated excess and obsolete inventory liabilities related to such manufacturing and engineering change orders and other factors, which are included in accrued liabilities in the accompanying balance sheets, were $11.5 million and $10.3 million as of July 1, 2023 and December 31, 2022, respectively. The Company records the related charges in cost of revenue in its Condensed Consolidated Statements of Comprehensive Income.
Litigation
From time to time, the Company is involved in various legal proceedings arising from the normal course of business activities. The Company is not currently a party to any legal proceeding that, if determined adversely to the Company, in management’s opinion, is currently expected to individually or in the aggregate have a material adverse effect on the Company’s business, operating results or financial condition taken as a whole.
XML 24 R13.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholders' Equity
6 Months Ended
Jul. 01, 2023
Equity [Abstract]  
Stockholders' Equity Stockholders’ Equity
2019 Equity Incentive Award Plan
Employees and consultants of the Company, its subsidiaries and affiliates, as well as members of the Company’s Board of Directors, are eligible to receive awards under the 2019 Equity Incentive Award Plan (“the 2019 Plan”). The 2019 Plan provides for the grant of stock options, including incentive stock options and nonqualified stock options, stock appreciation rights, restricted stock, restricted stock units, other stock or cash-based awards and dividend equivalents to eligible individuals. At the Company’s 2023 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the 2019 Plan by 1.5 million shares. As of July 1, 2023, there were 5.7 million shares available for issuance under the 2019 Plan.
During the three months ended July 1, 2023, stock option awards exercisable for up to an aggregate of 0.2 million shares of common stock were granted with a grant date weighted-average exercise price of $42.79 per share. During the six months ended July 1, 2023, stock option awards exercisable for up to an aggregate of 0.6 million shares of common stock were granted with a grant date weighted-average exercise price of $48.75 per share. These stock option awards vest 25% on the first anniversary of the vesting commencement date and on a quarterly basis thereafter over an additional three years.
In February 2023, performance-based stock option awards exercisable for up to an aggregate of 1.2 million shares of common stock were granted to certain Company executives with a grant date exercise price of $51.57 per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net operating income for 2023 (collectively, the “2023 Performance Targets”) during the one-year performance period. These performance-based stock option awards will vest, subject to certification by the Compensation Committee of the Company’s Board of Directors upon the achievement of the 2023 Performance Targets, as to 25% of the shares of common stock earned on the one year anniversary of the date of grant, and as to the remaining 75% of the shares of common stock earned, in substantially equal quarterly installments over the subsequent 36 months, subject to the executive’s continuous service with the Company through the respective vesting dates. If the non-GAAP net operating income target and the bookings target are each achieved below 80% of target, no shares would be awarded, and the performance-based stock option awards would be forfeited in full. If either target is achieved at the minimum threshold of 80% of target, then the shares are awarded at 50% of the granted shares, with an increasing percentage of shares awarded above the minimum thresholds up to 125% of the granted shares for each target. Each target result is then weighted by 50% and the combined total determines the percent of target shares. The maximum combined award is 100%. The probability of meeting the performance conditions related to these performance-based stock option awards was assessed to be probable as of July 1, 2023 based on adjusted targets, and stock-based compensation expense of $4.5 million was recognized for the three months ended July 1, 2023. For the six months ended July 1, 2023, stock-based compensation expense of $6.9 million was recognized.
During the three months ended July 1, 2023, 31,000 shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $16.30 per share. During the six months ended July 1, 2023, 0.3 million shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $12.56 per share. As of July 1, 2023, unrecognized stock-based compensation expense of $95.0 million related to stock options, net of estimated forfeitures, is expected to be recognized over a weighted-average period of 2.2 years.
Employee Stock Purchase Plans
The Company maintains two employee stock purchase plans - the Amended and Restated Employee Stock Purchase Plan (the “ESPP”) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the “NQ ESPP”).
The ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 15% of their eligible compensation subject to certain Internal Revenue Code limitations.
The offering periods under the ESPP are two six-month offering periods from August 15th through February 14th and February 15th through August 14th of each year. The price of common stock purchased under the ESPP is 85% of the lower of the fair market value of the common stock on the commencement date and the end date of each six-month offering period. As of July 1, 2023, there were 4.6 million shares available for issuance under the ESPP. During the six months ended July 1, 2023, 0.1 million shares were purchased under the ESPP. As of July 1, 2023, unrecognized stock-based compensation expense of $0.3 million related to the ESPP is expected to be recognized over a remaining service period of 0.1 years.
The NQ ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 25% of their eligible recurring compensation. Eligible employees have the right to (a) purchase the maximum number of whole shares of common stock that can be purchased with the elected payroll deductions during each offering period for which the employee is enrolled at a purchase price equal to the closing price of the Company’s common stock on the last day of such offering period and (b) receive an equal number of shares of the Company’s common stock that are subject to a risk of forfeiture in the event the employee terminates employment within the one year period immediately following the purchase date. The NQ ESPP provides quarterly offering periods from February 8th through May 7th, May 8th through August 7th, August 8th through November 7th and November 8th through February 7th of each year, with a maximum of 0.25 million shares allocated per purchase period.
At the Company’s 2023 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the NQ ESPP by 1.2 million shares. The maximum number of shares of common stock currently authorized for issuance under the NQ ESPP is 7.5 million shares. As of July 1, 2023, there were 3.8 million shares available for issuance under the NQ ESPP. During the six months ended July 1, 2023, 0.4 million shares were purchased and issued. As of July 1, 2023, unrecognized stock-based compensation expense of $10.9 million related to the NQ ESPP is expected to be recognized over a remaining weighted-average service period of 0.8 years.
Stock-Based Compensation
The following table summarizes stock-based compensation expense (in thousands):
 Three Months EndedSix Months Ended
July 1,
2023
July 2,
2022
July 1,
2023
July 2,
2022
Cost of revenue$780 $650 $1,580 $1,266 
Sales and marketing5,053 2,848 9,484 5,330 
Research and development4,860 2,259 9,172 6,004 
General and administrative7,151 4,250 13,828 7,875 
$17,844 $10,007 $34,064 $20,475 
Income tax benefit recognized$2,955 $2,546 $7,107 $6,127 
Stock Repurchase Program
In July 2022, the Company’s Board of Directors authorized a one-year stock repurchase program for up to $100 million of the Company’s common stock. Under the repurchase program, repurchases can be made from time to time using a variety of methods, which may include open market purchases, privately negotiated transactions or otherwise, all in accordance with the rules of the SEC and other applicable legal requirements. The specific timing, price and size of the purchases depends on prevailing stock prices, general economic and market conditions, and other considerations consistent with the Company’s capital allocation strategy. The repurchase program does not obligate the Company to acquire a particular amount of common stock, and the repurchase program may be suspended or discontinued at any time at the Company’s discretion. In May 2023, the Company’s Board of Directors amended the repurchase program to remove the one-year end date. As of July 1, 2023, the remaining authorized amount for stock repurchases under this program was $90.0 million. For the six months ended July 1, 2023, the Company purchased 0.2 million shares of common stock for $10.0 million at an average price per share of $44.53.
XML 25 R14.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue from Contracts with Customers
6 Months Ended
Jul. 01, 2023
Revenue from Contract with Customer [Abstract]  
Revenue from Contracts with Customers Revenue from Contracts with Customers
The Company develops, markets and sells a broadband platform and managed services, and there are no segment managers who are held accountable for operations, operating results and plans for levels or components below the Company unit level. Accordingly, the Company is a single reporting segment and operating unit structure. The Company’s chief operating decision maker is the Company’s Chief Executive Officer, who reviews financial information presented on a Company-wide basis, for purposes of allocating resources and evaluating financial performance.
The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):
Three Months EndedSix Months Ended
July 1, 2023July 2, 2022July 1, 2023July 2, 2022
United States$232,423 $183,932 $460,362 $349,563 
Europe14,737 2,954 27,106 9,527 
Americas ex U.S.11,329 10,808 18,866 19,679 
Middle East & Africa2,375 4,099 4,148 7,717 
Asia Pacific152 249 542 504 
$261,016 $202,042 $511,024 $386,990 
Contract Asset
Contract assets include amounts recognized as revenue prior to the Company’s contractual right to bill the customer. Amounts are billed in accordance with the agreed-upon contractual terms. The closing balance as of July 1, 2023 was $4.3 million of which the Company expects to bill 54% of the balance during the remainder of 2023. The contract asset balance may fluctuate depending on the timing of fulfilling the related performance obligations with the Company's customers.
Contract Liability
Deferred revenue was $67.2 million, $69.6 million and $58.6 million as of July 1, 2023, April 1, 2023 and December 31, 2022, respectively. The decrease in the deferred revenue balance for the three months ended July 1, 2023 was the result of revenue recognized of $11.3 million that was included in the deferred revenue balance at the beginning the period offset by cash payments received or due in advance of satisfying the Company’s performance obligations. The increase in the deferred revenue balance for the six months ended July 1, 2023 was driven by cash payments received or due in advance of satisfying
the Company’s performance obligations and balances reclassified to contract assets during the period offset by $20.0 million of revenue recognized that was included in the deferred revenue balance at the beginning of the period.
Revenue allocated to remaining performance obligations (“RPOs”) represents contract revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods but excludes variable consideration where the monthly invoicing is based on usage or where actual usage exceeds the minimum commitment. RPOs were $213.0 million as of July 1, 2023, and the Company expects to recognize as revenue 38% of this amount over the next 12 months and the remainder thereafter.
Contract Costs
The Company capitalizes certain sales commissions related primarily to multi-year subscriptions and extended warranty support for which the expected amortization period is greater than one year. As of July 1, 2023 and December 31, 2022, the unamortized balance of deferred commissions was $10.4 million and $11.2 million, respectively. For the three and six months ended July 1, 2023, the amount of amortization was $1.5 million and $2.9 million, respectively, compared to $0.9 million and $1.6 million for the three and six months ended July 2, 2022, respectively. There was no impairment loss in relation to the costs capitalized for either period.
Concentration of Customer Risk
No customer accounted for more than 10% of the Company’s revenue for the three or six months ended July 1, 2023 and July 2, 2022.
One customer represented 14% of the Company’s accounts receivable as of July 1, 2023. One customer represented 11% of the Company’s accounts receivable as of December 31, 2022.
XML 26 R15.htm IDEA: XBRL DOCUMENT v3.23.2
Income Taxes
6 Months Ended
Jul. 01, 2023
Income Tax Disclosure [Abstract]  
Income Taxes Income Taxes
The following table presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):
 Three Months EndedSix Months Ended
July 1,
2023
July 2,
2022
July 1,
2023
July 2,
2022
Income before income taxes$14,229 $9,669 $25,638 $19,489 
Income taxes$4,856 $2,148 $6,667 $3,849 
Effective tax rate34.1 %22.2 %26.0 %19.7 %
The Company’s income taxes for the three and six months ended July 1, 2023 and July 2, 2022 were determined using an estimated effective tax rate adjusted for discrete items that occurred during the respective periods. The Company’s effective tax rate for the three and six months ended July 1, 2023 and July 2, 2022 differed from the statutory federal corporate tax rate of 21% primarily due to state taxes, the inclusion of income from certain foreign operations and the effect of non-deductible stock-based compensation for executive officers offset by U.S. federal research tax credits and excess tax benefits from stock-based compensation.
The Company has net deferred tax assets that have arisen primarily as a result of temporary differences, net operating loss carryforwards, capitalized research and development costs and tax credits. The Company’s ability to realize a deferred tax asset is based on its ability to generate sufficient future taxable income within the applicable carryforward period and subject to any applicable limitations. Management believes that it is more likely than not that the Company will utilize a significant portion of its deferred tax assets.
The Company maintained a valuation allowance for the three and six months ended July 1, 2023 and July 2, 2022 of $29.9 million on certain U.S. federal and state deferred tax assets that the Company believes are not more likely than not to be realized in future periods.
The Company considered scheduled reversals of deferred tax liabilities, historic profitability, projected future taxable income, ongoing tax planning strategies and other matters, including the period over which its deferred tax assets will be recoverable, in assessing the need for and the amount of the valuation allowance. In the event that actual results differ from these estimates, or if the Company decides to adjust these estimates in the future periods, further adjustments to its valuation allowance may be recorded, which could materially impact the Company’s financial position and net income in the period of the adjustment.
XML 27 R16.htm IDEA: XBRL DOCUMENT v3.23.2
Net Income Per Common Share
6 Months Ended
Jul. 01, 2023
Earnings Per Share [Abstract]  
Net Income Per Common Share Net Income Per Common Share
The following table sets forth the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):
 Three Months EndedSix Months Ended
July 1,
2023
July 2,
2022
July 1,
2023
July 2,
2022
Numerator:
Net income$9,373 $7,521 $18,971 $15,640 
Denominator:
Weighted-average common shares outstanding used to compute basic net income per share66,271 64,836 66,157 64,662 
Effect of dilutive common stock equivalents3,386 3,333 3,527 3,623 
Weighted-average common shares outstanding used to compute diluted net income per share69,657 68,169 69,684 68,285 
Net income per common share:
Basic net income per common share$0.14 $0.12 $0.29 $0.24 
Diluted net income per common share$0.13 $0.11 $0.27 $0.23 
Potentially dilutive shares excluded, weighted average4,714 2,617 3,786 2,196 
Potentially dilutive shares have been excluded from the computation of diluted net income per common share when their effect is antidilutive. These antidilutive shares were from stock options.
XML 28 R17.htm IDEA: XBRL DOCUMENT v3.23.2
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jul. 02, 2022
Jul. 01, 2023
Jul. 02, 2022
Pay vs Performance Disclosure        
Net income $ 9,373 $ 7,521 $ 18,971 $ 15,640
XML 29 R18.htm IDEA: XBRL DOCUMENT v3.23.2
Insider Trading Arrangements
3 Months Ended 6 Months Ended
Jul. 01, 2023
shares
Jul. 01, 2023
shares
Trading Arrangements, by Individual    
Material Terms of Trading Arrangement   On May 1, 2023, Michael Weening, President and Chief Executive Officer of the Company, adopted a Rule 10b5-1 trading arrangement (the “10b5-1 Plan”) that is intended to satisfy the affirmative defense of Rule 10b5-1(c) of the Securities Exchange Act of 1934, as amended. The 10b5-1 Plan allows for the contemporaneous exercise of options and sale of up to 284,000 shares of Common Stock, at specific market prices, commencing on July 31, 2023, and continuing until all such options are exercised and the underlying shares are sold, or April 30, 2025, whichever comes first.
Name Michael Weening  
Title President and Chief Executive Officer  
Rule 10b5-1 Arrangement Adopted true  
Non-Rule 10b5-1 Arrangement Adopted false  
Adoption Date May 1, 2023  
Rule 10b5-1 Arrangement Terminated false  
Non-Rule 10b5-1 Arrangement Terminated false  
Arrangement Duration 639 days  
Aggregate Available 284,000 284,000
XML 30 R19.htm IDEA: XBRL DOCUMENT v3.23.2
Significant Accounting Policies (Policies)
6 Months Ended
Jul. 01, 2023
Accounting Policies [Abstract]  
Basis of Presentation
Basis of Presentation
The accompanying unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (“GAAP”) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company’s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December 31, 2022 has been derived from the audited financial statements at that date.
The results of the Company’s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022.
The Company’s fiscal year begins on January 1st and ends on December 31st. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31st. As a result, the Company had one less day in the six months ended July 1, 2023 than for the six months ended July 2, 2022. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.
Newly Adopted Accounting Standard and Recent Accounting Pronouncements Not Yet Adopted
Newly Adopted Accounting Standard
The Company did not adopt any new accounting standards during the six months ended July 1, 2023 that were significant to the Company.

Recent Accounting Pronouncements Not Yet Adopted
There have been no additional accounting pronouncements or changes in accounting pronouncements during the six months ended July 1, 2023 as compared to the recent accounting pronouncements described in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022, that are significant or expected to be significant to the Company.
Revenue Recognition The Company develops, markets and sells a broadband platform and managed services, and there are no segment managers who are held accountable for operations, operating results and plans for levels or components below the Company unit level. Accordingly, the Company is a single reporting segment and operating unit structure. The Company’s chief operating decision maker is the Company’s Chief Executive Officer, who reviews financial information presented on a Company-wide basis, for purposes of allocating resources and evaluating financial performance.
XML 31 R20.htm IDEA: XBRL DOCUMENT v3.23.2
Cash, Cash Equivalents and Restricted Cash (Tables)
6 Months Ended
Jul. 01, 2023
Cash and Cash Equivalents [Abstract]  
Summary of cash and cash equivalents
Cash, cash equivalents and marketable securities consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Cash and cash equivalents:
Cash$45,984 $39,189 
Commercial paper25,270 33,199 
U.S. government securities14,914 5,990 
U.S. government agency securities2,954 — 
Money market funds1,065 555 
Corporate debt securities— 140 
Total cash and cash equivalents90,187 79,073 
Marketable securities:
U.S. government securities99,173 106,750 
U.S. government agency securities40,306 23,632 
Commercial paper29,916 28,992 
Corporate debt securities4,546 3,168 
Municipal securities— 100 
Total marketable securities173,941 162,642 
$264,128 $241,715 
Debt securities, available-for-sale
The amortized cost and fair value of marketable securities were as follows (in thousands):
As of July 1, 2023Amortized CostUnrealized LossesFair Value
U.S. government securities$114,541 $(454)$114,087 
Commercial paper55,228 (42)55,186 
U.S. government agency securities43,703 (443)43,260 
Corporate debt securities4,570 (24)4,546 
$218,042 $(963)$217,079 

As of December 31, 2022Amortized CostUnrealized LossesFair Value
U.S. government securities$114,119 $(1,379)$112,740 
Commercial paper62,262 (71)62,191 
U.S. government agency securities23,876 (244)23,632 
Corporate debt securities3,312 (4)3,308 
Municipal securities101 (1)100 
$203,670 $(1,699)$201,971 
XML 32 R21.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value Measures and Disclosures (Tables)
6 Months Ended
Jul. 01, 2023
Fair Value Disclosures [Abstract]  
Fair value, assets measured on recurring basis
The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands):
As of July 1, 2023Level 1Level 2Total
Money market funds$1,065 $— $1,065 
U.S. government securities114,087 — 114,087 
Commercial paper— 55,186 55,186 
U.S. government agency securities— 43,260 43,260 
Corporate debt securities— 4,546 4,546 
$115,152 $102,992 $218,144 
As of December 31, 2022Level 1Level 2Total
Money market funds$555 $— $555 
U.S. government securities112,740 — 112,740 
Commercial paper— 62,191 62,191 
U.S. government agency securities— 23,632 23,632 
Corporate debt securities— 3,308 3,308 
Municipal securities— 100 100 
$113,295 $89,231 $202,526 
XML 33 R22.htm IDEA: XBRL DOCUMENT v3.23.2
Balance Sheet Details (Tables)
6 Months Ended
Jul. 01, 2023
Balance Sheet Related Disclosures [Abstract]  
Summary of accounts receivable, net
Accounts receivable, net consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Accounts receivable$97,321 $94,201 
Allowance for doubtful accounts(341)(397)
$96,980 $93,804 
Summary of inventory
Inventory consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Raw materials$7,447 $640 
Finished goods145,947 148,520 
$153,394 $149,160 
Summary of prepaid expenses and other current assets
Prepaid expenses and other current assets consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Supplier deposits    $51,391 $39,064 
Prepaid expenses and other current assets33,391 23,627 
$84,782 $62,691 
Summary of property and equipment, net
Property and equipment, net consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Test equipment$48,407 $44,106 
Computer equipment14,143 13,396 
Software11,396 10,389 
Leasehold improvements1,925 1,730 
Furniture and fixtures1,266 1,153 
Total77,137 70,774 
Accumulated depreciation and amortization(48,301)(44,940)
$28,836 $25,834 
Summary of accrued liabilities
Accrued liabilities consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Compensation and related benefits$26,089 $27,813 
Component inventory held by suppliers11,484 10,280 
Professional and consulting fees8,311 7,307 
Customer advances or rebates7,888 5,653 
Revenue share payments7,585 7,210 
Current portion of warranty and retrofit5,786 6,377 
Taxes payable4,425 4,581 
Operating leases3,895 3,949 
Product returns2,394 2,961 
Freight995 3,649 
Business events— 3,167 
Other6,423 7,527 
$85,275 $90,474 
Product warranty activities
Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):
 Three Months EndedSix Months Ended
July 1,
2023
July 2,
2022
July 1,
2023
July 2,
2022
Balance at beginning of period$8,445 $9,570 $8,386 $9,594 
Accruals for product warranty and retrofit
802 (351)1,817 177 
Cost of warranty and retrofit claims
(941)(565)(1,897)(1,117)
Balance at end of period$8,306 $8,654 $8,306 $8,654 
XML 34 R23.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and Contingencies (Tables)
6 Months Ended
Jul. 01, 2023
Commitments and Contingencies Disclosure [Abstract]  
Schedule of future minimum rental payments for operating leases Future minimum payments under the non-cancelable operating leases consisted of the following as of July 1, 2023 (in thousands):
PeriodFuture Minimum Lease Payments
Remainder of 2023$2,232 
20244,668 
20254,470 
20261,490 
2027 and thereafter1,790 
Total future minimum lease payments14,650 
Less imputed interest(1,251)
$13,399 
Lessee, operating lease liability
As of July 1, 2023, the operating lease liability consisted of the following (in thousands):
Accrued liabilities - current portion of operating leases$3,895 
Operating leases9,504 
$13,399 
XML 35 R24.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholders' Equity (Tables)
6 Months Ended
Jul. 01, 2023
Equity [Abstract]  
Disclosure of share-based compensation arrangements by share-based payment award
The following table summarizes stock-based compensation expense (in thousands):
 Three Months EndedSix Months Ended
July 1,
2023
July 2,
2022
July 1,
2023
July 2,
2022
Cost of revenue$780 $650 $1,580 $1,266 
Sales and marketing5,053 2,848 9,484 5,330 
Research and development4,860 2,259 9,172 6,004 
General and administrative7,151 4,250 13,828 7,875 
$17,844 $10,007 $34,064 $20,475 
Income tax benefit recognized$2,955 $2,546 $7,107 $6,127 
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue from Contracts with Customers (Tables)
6 Months Ended
Jul. 01, 2023
Revenue from Contract with Customer [Abstract]  
Revenue from external customers by geographic areas
The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):
Three Months EndedSix Months Ended
July 1, 2023July 2, 2022July 1, 2023July 2, 2022
United States$232,423 $183,932 $460,362 $349,563 
Europe14,737 2,954 27,106 9,527 
Americas ex U.S.11,329 10,808 18,866 19,679 
Middle East & Africa2,375 4,099 4,148 7,717 
Asia Pacific152 249 542 504 
$261,016 $202,042 $511,024 $386,990 
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.23.2
Income Taxes (Tables)
6 Months Ended
Jul. 01, 2023
Income Tax Disclosure [Abstract]  
Schedule of income taxes
The following table presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):
 Three Months EndedSix Months Ended
July 1,
2023
July 2,
2022
July 1,
2023
July 2,
2022
Income before income taxes$14,229 $9,669 $25,638 $19,489 
Income taxes$4,856 $2,148 $6,667 $3,849 
Effective tax rate34.1 %22.2 %26.0 %19.7 %
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.23.2
Net Income Per Common Share (Tables)
6 Months Ended
Jul. 01, 2023
Earnings Per Share [Abstract]  
Schedule of net income (loss) per share
The following table sets forth the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):
 Three Months EndedSix Months Ended
July 1,
2023
July 2,
2022
July 1,
2023
July 2,
2022
Numerator:
Net income$9,373 $7,521 $18,971 $15,640 
Denominator:
Weighted-average common shares outstanding used to compute basic net income per share66,271 64,836 66,157 64,662 
Effect of dilutive common stock equivalents3,386 3,333 3,527 3,623 
Weighted-average common shares outstanding used to compute diluted net income per share69,657 68,169 69,684 68,285 
Net income per common share:
Basic net income per common share$0.14 $0.12 $0.29 $0.24 
Diluted net income per common share$0.13 $0.11 $0.27 $0.23 
Potentially dilutive shares excluded, weighted average4,714 2,617 3,786 2,196 
XML 39 R28.htm IDEA: XBRL DOCUMENT v3.23.2
Cash, Cash Equivalents, and Marketable Securities - Summary of Cash and Cash Equivalents (Details) - USD ($)
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jul. 02, 2022
Jul. 01, 2023
Jul. 02, 2022
Dec. 31, 2022
Cash and Cash Equivalents [Line Items]          
Realized gains and losses on marketable securities $ 0 $ 0 $ 0 $ 0  
Total cash and cash equivalents 90,187,000   90,187,000   $ 79,073,000
Marketable securities 173,941,000   173,941,000   162,642,000
Total cash, cash equivalents, and marketable securities 264,128,000   264,128,000   241,715,000
Commercial paper          
Cash and Cash Equivalents [Line Items]          
Marketable securities 29,916,000   29,916,000   28,992,000
U.S. government securities | Short-Term Marketable Securities          
Cash and Cash Equivalents [Line Items]          
Marketable securities 99,173,000   99,173,000   106,750,000
U.S. government agency securities          
Cash and Cash Equivalents [Line Items]          
Marketable securities 40,306,000   40,306,000   23,632,000
U.S. government agency securities | Short-Term Marketable Securities          
Cash and Cash Equivalents [Line Items]          
Marketable securities 43,260,000   43,260,000   23,632,000
Corporate debt securities          
Cash and Cash Equivalents [Line Items]          
Marketable securities 4,546,000   4,546,000   3,168,000
Corporate debt securities | Short-Term Marketable Securities          
Cash and Cash Equivalents [Line Items]          
Marketable securities 4,546,000   4,546,000   3,308,000
Municipal securities          
Cash and Cash Equivalents [Line Items]          
Marketable securities 0   0   100,000
Municipal securities | Short-Term Marketable Securities          
Cash and Cash Equivalents [Line Items]          
Marketable securities         100,000
Cash          
Cash and Cash Equivalents [Line Items]          
Cash 45,984,000   45,984,000   39,189,000
Commercial paper          
Cash and Cash Equivalents [Line Items]          
Cash equivalents 25,270,000   25,270,000   33,199,000
U.S. government securities          
Cash and Cash Equivalents [Line Items]          
Cash equivalents 14,914,000   14,914,000   5,990,000
U.S. government agency securities          
Cash and Cash Equivalents [Line Items]          
Cash equivalents 2,954,000   2,954,000   0
Money market funds          
Cash and Cash Equivalents [Line Items]          
Cash equivalents 1,065,000   1,065,000   555,000
Corporate debt securities          
Cash and Cash Equivalents [Line Items]          
Cash equivalents $ 0   $ 0   $ 140,000
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.23.2
Cash, Cash Equivalents, and Marketable Securities - Schedule of Marketable Securities (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Debt Securities, Available-for-sale [Line Items]    
Fair Value $ 173,941 $ 162,642
Short-Term Marketable Securities And Cash Equivalents    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 218,042 203,670
Unrealized Losses (963) (1,699)
Fair Value 217,079 201,971
U.S. government securities | Short-Term Marketable Securities And Cash Equivalents    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 114,541 114,119
Unrealized Losses (454) (1,379)
Fair Value 114,087 112,740
U.S. government securities | Short-Term Marketable Securities    
Debt Securities, Available-for-sale [Line Items]    
Fair Value 99,173 106,750
Commercial paper    
Debt Securities, Available-for-sale [Line Items]    
Fair Value 29,916 28,992
Commercial paper | Short-Term Marketable Securities And Cash Equivalents    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 55,228 62,262
Unrealized Losses (42) (71)
Fair Value 55,186 62,191
U.S. government agency securities    
Debt Securities, Available-for-sale [Line Items]    
Fair Value 40,306 23,632
U.S. government agency securities | Short-Term Marketable Securities    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 43,703 23,876
Unrealized Losses (443) (244)
Fair Value 43,260 23,632
Corporate debt securities    
Debt Securities, Available-for-sale [Line Items]    
Fair Value 4,546 3,168
Corporate debt securities | Short-Term Marketable Securities    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 4,570 3,312
Unrealized Losses (24) (4)
Fair Value 4,546 3,308
Municipal securities    
Debt Securities, Available-for-sale [Line Items]    
Fair Value $ 0 100
Municipal securities | Short-Term Marketable Securities    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost   101
Unrealized Losses   (1)
Fair Value   $ 100
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value Measures and Disclosures (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities $ 173,941 $ 162,642
Commercial paper    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 29,916 28,992
U.S. government agency securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 40,306 23,632
Corporate debt securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 4,546 3,168
Municipal securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 100
Fair Value, Recurring    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets 218,144 202,526
Fair Value, Recurring | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets 115,152 113,295
Fair Value, Recurring | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets 102,992 89,231
Fair Value, Recurring | U.S. government securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 114,087 112,740
Fair Value, Recurring | U.S. government securities | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 114,087 112,740
Fair Value, Recurring | U.S. government securities | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
Fair Value, Recurring | Commercial paper    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 55,186 62,191
Fair Value, Recurring | Commercial paper | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
Fair Value, Recurring | Commercial paper | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 55,186 62,191
Fair Value, Recurring | U.S. government agency securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 43,260 23,632
Fair Value, Recurring | U.S. government agency securities | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
Fair Value, Recurring | U.S. government agency securities | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 43,260 23,632
Fair Value, Recurring | Corporate debt securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 4,546 3,308
Fair Value, Recurring | Corporate debt securities | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
Fair Value, Recurring | Corporate debt securities | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 4,546 3,308
Fair Value, Recurring | Municipal securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities   100
Fair Value, Recurring | Municipal securities | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities   0
Fair Value, Recurring | Municipal securities | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities   100
Fair Value, Recurring | Money market funds    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money market funds 1,065 555
Fair Value, Recurring | Money market funds | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money market funds 1,065 555
Fair Value, Recurring | Money market funds | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money market funds $ 0 $ 0
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.23.2
Balance Sheet Details - Accounts Receivable (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Summary of accounts receivable, net    
Accounts receivable $ 97,321 $ 94,201
Allowance for doubtful accounts (341) (397)
Accounts receivable, net $ 96,980 $ 93,804
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.23.2
Balance Sheet Details - Inventory (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Summary of inventory, net    
Raw materials $ 7,447 $ 640
Finished goods 145,947 148,520
Total inventory $ 153,394 $ 149,160
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.23.2
Balance Sheet Details - Prepaid Expenses and Other Assets (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Jul. 02, 2022
Balance Sheet Related Disclosures [Abstract]      
Supplier deposits $ 51,391   $ 39,064
Prepaid expenses and other current assets 33,391   23,627
Total prepaid expense and other assets $ 84,782 $ 62,691 $ 62,691
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.23.2
Balance Sheet Details - Property and Equipment, net (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Summary of property and equipment, net    
Property and equipment, gross $ 77,137 $ 70,774
Accumulated depreciation and amortization (48,301) (44,940)
Property and equipment, net 28,836 25,834
Test equipment    
Summary of property and equipment, net    
Property and equipment, gross 48,407 44,106
Computer equipment    
Summary of property and equipment, net    
Property and equipment, gross 14,143 13,396
Software    
Summary of property and equipment, net    
Property and equipment, gross 11,396 10,389
Leasehold improvements    
Summary of property and equipment, net    
Property and equipment, gross 1,925 1,730
Furniture and fixtures    
Summary of property and equipment, net    
Property and equipment, gross $ 1,266 $ 1,153
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.23.2
Balance Sheet Details - Narrative (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Dec. 31, 2020
Finite-Lived Intangible Assets [Line Items]      
Accrued liabilities $ 85,275 $ 90,474  
Other long-term liabilities 2,622 6,332  
Licensed Software      
Finite-Lived Intangible Assets [Line Items]      
Royalty payment commitment     $ 15,800
Other liabilities $ 7,600 11,400  
Accrued liabilities   7,200  
Other long-term liabilities   $ 4,200  
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.23.2
Balance Sheet Details - Accrued Liabilities (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Summary of accrued liabilities    
Compensation and related benefits $ 26,089 $ 27,813
Component inventory held by suppliers 11,484 10,280
Professional and consulting fees 8,311 7,307
Customer advances or rebates 7,888 5,653
Revenue share payments 7,585 7,210
Current portion of warranty and retrofit 5,786 6,377
Taxes payable 4,425 4,581
Operating leases 3,895 3,949
Product returns 2,394 2,961
Freight 995 3,649
Business events 0 3,167
Other 6,423 7,527
Total accrued liabilities $ 85,275 $ 90,474
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.23.2
Balance Sheet Details - Warranty Reserve (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jul. 02, 2022
Jul. 01, 2023
Jul. 02, 2022
Movement in Standard Product Warranty Accrual [Roll Forward]        
Balance at beginning of period $ 8,445 $ 9,570 $ 8,386 $ 9,594
Accruals for product warranty and retrofit 802 (351) 1,817 177
Cost of warranty and retrofit claims (941) (565) (1,897) (1,117)
Balance at end of period $ 8,306 $ 8,654 $ 8,306 $ 8,654
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and Contingencies - Operating Leases (Details)
$ in Thousands
Jul. 01, 2023
USD ($)
Commitments and Contingencies Disclosure [Abstract]  
Remainder of 2023 $ 2,232
2024 4,668
2025 4,470
2026 1,490
2027 and thereafter 1,790
Total future minimum lease payments 14,650
Less imputed interest (1,251)
Operating lease liability $ 13,399
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and Contingencies - Operating Lease Liability (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Commitments and Contingencies Disclosure [Abstract]    
Accrued liabilities - current portion of operating leases $ 3,895 $ 3,949
Operating leases 9,504 $ 8,442
Operating lease liability $ 13,399  
Operating lease, liability, current, statement of financial position Accrued Liabilities, Current  
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and Contingencies - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jul. 02, 2022
Jul. 01, 2023
Jul. 02, 2022
Dec. 31, 2022
Commitments and Contingencies [Line Items]          
Total future minimum lease payments $ 14,650   $ 14,650    
Weighted average operating discount rate used to determine the operating lease liability (percent) 5.40%   5.40%    
Weighted average remaining lease term for operating lease 3 years 6 months   3 years 6 months    
Rent expense $ 1,200 $ 1,100 $ 2,400 $ 2,200  
Operating lease, payments     2,300    
Accrued customer rebates/prepayments 11,484   11,484   $ 10,280
Inventories          
Commitments and Contingencies [Line Items]          
Outstanding purchase commitments 253,900   $ 253,900   $ 340,600
Purchase commitment period     2 years    
San Jose, California          
Commitments and Contingencies [Line Items]          
Total future minimum lease payments $ 6,100   $ 6,100    
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholders' Equity - Stock Options (Details) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 3 Months Ended 6 Months Ended
Feb. 28, 2023
Jul. 01, 2023
Jul. 01, 2023
Jul. 02, 2022
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock options granted (in shares)   200,000 600,000  
Weighted-average grant date fair value (in dollars per share)   $ 42.79 $ 48.75  
Maximum combined payout percent 100.00%      
Stock-based compensation     $ 34,064 $ 20,475
Stock options exercised (in shares)   31,000 300,000  
Weighted-average exercise price per share, stock options (in dollars per share)   $ 16.30 $ 12.56  
Unrecognized stock-based compensation expense, stock options   $ 95,000 $ 95,000  
Recognition period     2 years 2 months 12 days  
2019 Equity Incentive Award Plan        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Increase in the number of shares of common stock issuable (in shares)   1,500,000 1,500,000  
Shares available for future grant (in shares)   5,700,000 5,700,000  
2021 Performance Targets | Stock Options | Period One        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights, percentage     25.00%  
2021 Performance Targets | Stock Options | Period Two        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting period     3 years  
2021 Performance Targets | Performance Based Stock Options | Executive Officer        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock options granted (in shares) 1,200,000      
Weighted-average grant date fair value (in dollars per share) $ 51.57      
Award performance period 1 year      
Net income per share, target achievement performance threshold, percent 80.00%      
Number of shares granted if no-GAAP income below 80% and bookings below 90% of target (in shares) 0      
Shares award weighting percent 50.00%      
Target achievement threshold for shares award sliding scale 125.00%      
Stock-based compensation   $ 4,500 $ 6,900  
2021 Performance Targets | Performance Based Stock Options | Period One | Executive Officer        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights, percentage 25.00%      
Award vesting period 1 year      
2021 Performance Targets | Performance Based Stock Options | Period Two | Executive Officer        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights, percentage 75.00%      
Award vesting period 36 months      
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholders' Equity - Employee Stock Purchase Plans (Details)
$ in Millions
6 Months Ended
Jul. 01, 2023
USD ($)
period
plan
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Number of employee stock purchase plans | plan 2
Recognition period 2 years 2 months 12 days
Unrecognized stock-based compensation expense, stock options | $ $ 95.0
Employee Stock Purchase Plan  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
ESPP, maximum employee payroll deduction percentage 15.00%
Number of offering periods | period 2
Offering period 6 months
ESPP, discounted purchase price percentage 85.00%
Shares available for future grant (in shares) 4,600,000
Shares purchased under ESPP (in shares) 100,000
Unrecognized stock-based compensation expense | $ $ 0.3
Recognition period 1 month 6 days
Employee Stock Purchase Plan | 2017 Nonqualified Employee Stock Purchase Plan  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
ESPP, maximum employee payroll deduction percentage 25.00%
Shares available for future grant (in shares) 3,800,000
Recognition period 9 months 18 days
Employee termination period following purchase date to receive shares subject to risk of forfeiture 1 year
Maximum number of shares allocated per purchase period 250,000
Number of additional shares authorized (in shares) 1,200,000
Number of shares authorized (in shares) 7,500,000
Number of shares issued (in shares) 400,000
Number of shares purchased (in shares) 400,000
Unrecognized stock-based compensation expense, stock options | $ $ 10.9
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholders' Equity - Stock-Based Compensation Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jul. 02, 2022
Jul. 01, 2023
Jul. 02, 2022
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock-based compensation $ 17,844 $ 10,007 $ 34,064 $ 20,475
Income tax benefit recognized 2,955 2,546 7,107 6,127
Cost of revenue        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock-based compensation 780 650 1,580 1,266
Sales and marketing        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock-based compensation 5,053 2,848 9,484 5,330
Research and development        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock-based compensation 4,860 2,259 9,172 6,004
General and administrative        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock-based compensation $ 7,151 $ 4,250 $ 13,828 $ 7,875
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholders' Equity - Stock Repurchase Program (Details) - USD ($)
$ / shares in Units, $ in Thousands, shares in Millions
1 Months Ended 3 Months Ended 6 Months Ended
Jul. 31, 2022
Jul. 01, 2023
Jul. 01, 2023
Equity [Abstract]      
Stock repurchase program, period authorized 1 year    
Stock repurchase program, authorized amount $ 100,000    
Remaining authorized repurchase amount   $ 90,000 $ 90,000
Shares repurchased (in shares)     0.2
Repurchases of common stock   $ 8,817 $ 10,000
Average price paid per share (in dollars per share)     $ 44.53
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue from Contracts with Customers - Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jul. 02, 2022
Jul. 01, 2023
Jul. 02, 2022
Disaggregation of Revenue [Line Items]        
Total revenues $ 261,016 $ 202,042 $ 511,024 $ 386,990
United States        
Disaggregation of Revenue [Line Items]        
Total revenues 232,423 183,932 460,362 349,563
Europe        
Disaggregation of Revenue [Line Items]        
Total revenues 14,737 2,954 18,866 19,679
Americas ex U.S.        
Disaggregation of Revenue [Line Items]        
Total revenues 11,329 10,808 27,106 9,527
Middle East & Africa        
Disaggregation of Revenue [Line Items]        
Total revenues 2,375 4,099 4,148 7,717
Asia Pacific        
Disaggregation of Revenue [Line Items]        
Total revenues $ 152 $ 249 $ 542 $ 504
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue from Contracts with Customers - Contract Asset and Liability (Details) - USD ($)
$ in Millions
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jul. 01, 2023
Apr. 01, 2023
Dec. 31, 2022
Revenue from Contract with Customer [Abstract]        
Contract with customer, asset $ 4.3 $ 4.3    
Contract with customer, asset, expected to be billed remainder of year, percent 54.00% 54.00%    
Deferred revenue $ 67.2 $ 67.2 $ 69.6 $ 58.6
Contract with customer, liability, revenue recognized $ 11.3 $ 20.0    
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue from Contracts with Customers - Performance Obligations (Details)
$ in Millions
Jul. 01, 2023
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation, amount $ 213.0
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-07-02  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation, percentage 38.00%
Performance obligations expected to be satisfied, expected timing 12 months
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue from Contracts with Customers - Contract Costs (Details) - USD ($)
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jul. 02, 2022
Jul. 01, 2023
Jul. 02, 2022
Dec. 31, 2022
Revenue from Contract with Customer [Abstract]          
Capitalized contract cost, gross $ 10,400,000   $ 10,400,000   $ 11,200,000
Capitalized contract cost, amortization 1,500,000 $ 900,000 2,900,000 $ 1,600,000  
Capitalized contract cost, impairment $ 0 $ 0 $ 0 $ 0  
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue from Contracts with Customers - Concentration Risk (Details)
6 Months Ended 12 Months Ended
Jul. 01, 2023
Dec. 31, 2022
Customer One | Customer Concentration Risk | Accounts Receivable    
Concentration Risk [Line Items]    
Concentration risk, percentage 14.00% 11.00%
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.23.2
Income Taxes - (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jul. 02, 2022
Jul. 01, 2023
Jul. 02, 2022
Income Tax Disclosure [Abstract]        
Income before income taxes $ 14,229 $ 9,669 $ 25,638 $ 19,489
Income taxes $ 4,856 $ 2,148 $ 6,667 $ 3,849
Effective tax rate 34.10% 22.20% 26.00% 19.70%
Valuation allowance $ 29,900   $ 29,900  
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.23.2
Net Income Per Common Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jul. 02, 2022
Jul. 01, 2023
Jul. 02, 2022
Numerator:        
Net income $ 9,373 $ 7,521 $ 18,971 $ 15,640
Denominator:        
Weighted-average common shares outstanding used to compute basic net income (loss) per share (in shares) 66,271 64,836 66,157 64,662
Effect of dilutive common stock equivalents (in shares) 3,386 3,333 3,527 3,623
Weighted-average common shares outstanding used to compute diluted net income (loss) per share (in shares) 69,657 68,169 69,684 68,285
Net income per common share:        
Basic net income per common share (in dollars per share) $ 0.14 $ 0.12 $ 0.29 $ 0.24
Diluted net income per common share (in dollars per share) $ 0.13 $ 0.11 $ 0.27 $ 0.23
Potentially dilutive shares, weighted average (in shares) 4,714 2,617 3,786 2,196
XML 63 calx-20230701_htm.xml IDEA: XBRL DOCUMENT 0001406666 2023-01-01 2023-07-01 0001406666 2023-07-17 0001406666 2023-07-01 0001406666 2022-12-31 0001406666 2023-04-02 2023-07-01 0001406666 2022-04-03 2022-07-02 0001406666 2022-01-01 2022-07-02 0001406666 us-gaap:CommonStockMember 2023-04-01 0001406666 us-gaap:AdditionalPaidInCapitalMember 2023-04-01 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-04-01 0001406666 us-gaap:RetainedEarningsMember 2023-04-01 0001406666 2023-04-01 0001406666 us-gaap:AdditionalPaidInCapitalMember 2023-04-02 2023-07-01 0001406666 us-gaap:CommonStockMember 2023-04-02 2023-07-01 0001406666 us-gaap:RetainedEarningsMember 2023-04-02 2023-07-01 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-04-02 2023-07-01 0001406666 us-gaap:CommonStockMember 2023-07-01 0001406666 us-gaap:AdditionalPaidInCapitalMember 2023-07-01 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-01 0001406666 us-gaap:RetainedEarningsMember 2023-07-01 0001406666 us-gaap:CommonStockMember 2022-04-02 0001406666 us-gaap:AdditionalPaidInCapitalMember 2022-04-02 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-04-02 0001406666 us-gaap:RetainedEarningsMember 2022-04-02 0001406666 2022-04-02 0001406666 us-gaap:AdditionalPaidInCapitalMember 2022-04-03 2022-07-02 0001406666 us-gaap:CommonStockMember 2022-04-03 2022-07-02 0001406666 us-gaap:RetainedEarningsMember 2022-04-03 2022-07-02 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-04-03 2022-07-02 0001406666 us-gaap:CommonStockMember 2022-07-02 0001406666 us-gaap:AdditionalPaidInCapitalMember 2022-07-02 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-07-02 0001406666 us-gaap:RetainedEarningsMember 2022-07-02 0001406666 2022-07-02 0001406666 us-gaap:CommonStockMember 2022-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001406666 us-gaap:RetainedEarningsMember 2022-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-07-01 0001406666 us-gaap:CommonStockMember 2023-01-01 2023-07-01 0001406666 us-gaap:RetainedEarningsMember 2023-01-01 2023-07-01 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-07-01 0001406666 us-gaap:CommonStockMember 2021-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001406666 us-gaap:RetainedEarningsMember 2021-12-31 0001406666 2021-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-07-02 0001406666 us-gaap:CommonStockMember 2022-01-01 2022-07-02 0001406666 us-gaap:RetainedEarningsMember 2022-01-01 2022-07-02 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-07-02 0001406666 us-gaap:CashMember 2023-07-01 0001406666 us-gaap:CashMember 2022-12-31 0001406666 us-gaap:CommercialPaperMember 2023-07-01 0001406666 us-gaap:CommercialPaperMember 2022-12-31 0001406666 us-gaap:USGovernmentDebtSecuritiesMember 2023-07-01 0001406666 us-gaap:USGovernmentDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-07-01 0001406666 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:MoneyMarketFundsMember 2023-07-01 0001406666 us-gaap:MoneyMarketFundsMember 2022-12-31 0001406666 us-gaap:CorporateDebtSecuritiesMember 2023-07-01 0001406666 us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001406666 calx:ShortTermMarketableSecuritiesMember us-gaap:USGovernmentDebtSecuritiesMember 2023-07-01 0001406666 calx:ShortTermMarketableSecuritiesMember us-gaap:USGovernmentDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-07-01 0001406666 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:CommercialPaperMember 2023-07-01 0001406666 us-gaap:CommercialPaperMember 2022-12-31 0001406666 us-gaap:CorporateDebtSecuritiesMember 2023-07-01 0001406666 us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:MunicipalNotesMember 2023-07-01 0001406666 us-gaap:MunicipalNotesMember 2022-12-31 0001406666 calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember us-gaap:USGovernmentDebtSecuritiesMember 2023-07-01 0001406666 calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember us-gaap:CommercialPaperMember 2023-07-01 0001406666 calx:ShortTermMarketableSecuritiesMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-07-01 0001406666 calx:ShortTermMarketableSecuritiesMember us-gaap:CorporateDebtSecuritiesMember 2023-07-01 0001406666 calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember 2023-07-01 0001406666 calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember us-gaap:USGovernmentDebtSecuritiesMember 2022-12-31 0001406666 calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember us-gaap:CommercialPaperMember 2022-12-31 0001406666 calx:ShortTermMarketableSecuritiesMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-12-31 0001406666 calx:ShortTermMarketableSecuritiesMember us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001406666 calx:ShortTermMarketableSecuritiesMember us-gaap:MunicipalNotesMember 2022-12-31 0001406666 calx:ShortTermMarketableSecuritiesAndCashEquivalentsMember 2022-12-31 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-07-01 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-07-01 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2023-07-01 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2023-07-01 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2023-07-01 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2023-07-01 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2023-07-01 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2023-07-01 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2023-07-01 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-07-01 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-07-01 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-07-01 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-07-01 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-07-01 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-07-01 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-07-01 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-07-01 0001406666 us-gaap:FairValueMeasurementsRecurringMember 2023-07-01 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2022-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalNotesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalNotesMember 2022-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalNotesMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001406666 us-gaap:EquipmentMember 2023-07-01 0001406666 us-gaap:EquipmentMember 2022-12-31 0001406666 us-gaap:ComputerEquipmentMember 2023-07-01 0001406666 us-gaap:ComputerEquipmentMember 2022-12-31 0001406666 calx:SoftwareMember 2023-07-01 0001406666 calx:SoftwareMember 2022-12-31 0001406666 us-gaap:LeaseholdImprovementsMember 2023-07-01 0001406666 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001406666 us-gaap:FurnitureAndFixturesMember 2023-07-01 0001406666 us-gaap:FurnitureAndFixturesMember 2022-12-31 0001406666 us-gaap:ComputerSoftwareIntangibleAssetMember 2020-12-31 0001406666 us-gaap:ComputerSoftwareIntangibleAssetMember 2023-07-01 0001406666 us-gaap:ComputerSoftwareIntangibleAssetMember 2022-12-31 0001406666 calx:SanJoseCaliforniaMember 2023-07-01 0001406666 us-gaap:InventoriesMember 2023-07-01 0001406666 us-gaap:InventoriesMember 2022-12-31 0001406666 us-gaap:InventoriesMember 2023-01-01 2023-07-01 0001406666 calx:A2019EquityIncentiveAwardPlanMember 2023-07-01 0001406666 us-gaap:EmployeeStockOptionMember calx:A2021PerformanceTargetsMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-07-01 0001406666 us-gaap:EmployeeStockOptionMember calx:A2021PerformanceTargetsMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-01-01 2023-07-01 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember 2023-02-01 2023-02-28 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-02-01 2023-02-28 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-02-01 2023-02-28 0001406666 2023-02-28 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember 2023-04-02 2023-07-01 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember 2023-01-01 2023-07-01 0001406666 us-gaap:EmployeeStockMember 2023-07-01 0001406666 us-gaap:EmployeeStockMember 2023-01-01 2023-07-01 0001406666 us-gaap:EmployeeStockMember calx:A2017NonqualifiedEmployeeStockPurchasePlanMember 2023-07-01 0001406666 us-gaap:EmployeeStockMember calx:A2017NonqualifiedEmployeeStockPurchasePlanMember 2023-01-01 2023-07-01 0001406666 us-gaap:CostOfSalesMember 2023-04-02 2023-07-01 0001406666 us-gaap:CostOfSalesMember 2022-04-03 2022-07-02 0001406666 us-gaap:CostOfSalesMember 2023-01-01 2023-07-01 0001406666 us-gaap:CostOfSalesMember 2022-01-01 2022-07-02 0001406666 us-gaap:SellingAndMarketingExpenseMember 2023-04-02 2023-07-01 0001406666 us-gaap:SellingAndMarketingExpenseMember 2022-04-03 2022-07-02 0001406666 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-07-01 0001406666 us-gaap:SellingAndMarketingExpenseMember 2022-01-01 2022-07-02 0001406666 us-gaap:ResearchAndDevelopmentExpenseMember 2023-04-02 2023-07-01 0001406666 us-gaap:ResearchAndDevelopmentExpenseMember 2022-04-03 2022-07-02 0001406666 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-07-01 0001406666 us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-07-02 0001406666 us-gaap:GeneralAndAdministrativeExpenseMember 2023-04-02 2023-07-01 0001406666 us-gaap:GeneralAndAdministrativeExpenseMember 2022-04-03 2022-07-02 0001406666 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-07-01 0001406666 us-gaap:GeneralAndAdministrativeExpenseMember 2022-01-01 2022-07-02 0001406666 2022-07-01 2022-07-31 0001406666 2022-07-31 0001406666 country:US 2023-04-02 2023-07-01 0001406666 country:US 2022-04-03 2022-07-02 0001406666 country:US 2023-01-01 2023-07-01 0001406666 country:US 2022-01-01 2022-07-02 0001406666 srt:EuropeMember 2023-04-02 2023-07-01 0001406666 srt:EuropeMember 2022-04-03 2022-07-02 0001406666 calx:AmericasNonUSMember 2023-01-01 2023-07-01 0001406666 calx:AmericasNonUSMember 2022-01-01 2022-07-02 0001406666 calx:AmericasNonUSMember 2023-04-02 2023-07-01 0001406666 calx:AmericasNonUSMember 2022-04-03 2022-07-02 0001406666 srt:EuropeMember 2023-01-01 2023-07-01 0001406666 srt:EuropeMember 2022-01-01 2022-07-02 0001406666 calx:MiddleEastAndAfricaMember 2023-04-02 2023-07-01 0001406666 calx:MiddleEastAndAfricaMember 2022-04-03 2022-07-02 0001406666 calx:MiddleEastAndAfricaMember 2023-01-01 2023-07-01 0001406666 calx:MiddleEastAndAfricaMember 2022-01-01 2022-07-02 0001406666 srt:AsiaPacificMember 2023-04-02 2023-07-01 0001406666 srt:AsiaPacificMember 2022-04-03 2022-07-02 0001406666 srt:AsiaPacificMember 2023-01-01 2023-07-01 0001406666 srt:AsiaPacificMember 2022-01-01 2022-07-02 0001406666 2023-07-02 2023-07-01 0001406666 calx:CustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-07-01 0001406666 calx:CustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 shares iso4217:USD iso4217:USD shares pure calx:plan calx:period 0001406666 false 2023 Q2 --12-31 http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent P639D 10-Q true 2023-07-01 false 001-34674 Calix, Inc DE 68-0438710 2777 Orchard Parkway San Jose CA 95134 408 514-3000 Common Stock, par value $0.025 per share CALX NYSE Yes Yes Large Accelerated Filer false false false 66320013 90187000 79073000 173941000 162642000 96980000 93804000 153394000 149160000 84782000 62691000 599284000 547370000 28836000 25834000 10754000 9283000 166331000 167031000 116175000 116175000 20388000 19142000 941768000 884835000 35358000 41407000 85275000 90474000 41814000 33541000 162447000 165422000 25425000 25072000 9504000 8442000 2622000 6332000 199998000 205268000 0.025 0.025 5000000 5000000 0 0 0 0 0 0 0.025 0.025 100000000 100000000 66320000 66320000 65735000 65735000 1658000 1644000 1112434000 1070100000 -1589000 -2473000 -370733000 -389704000 741770000 679567000 941768000 884835000 261016000 202042000 511024000 386990000 124546000 101862000 246503000 195018000 136470000 100180000 264521000 191972000 54596000 41138000 106461000 77229000 45341000 30430000 88514000 60247000 24722000 18911000 47799000 34942000 124659000 90479000 242774000 172418000 11811000 9701000 21747000 19554000 2255000 240000 3895000 275000 163000 -272000 -4000 -340000 2418000 -32000 3891000 -65000 14229000 9669000 25638000 19489000 4856000 2148000 6667000 3849000 9373000 7521000 18971000 15640000 0.14 0.12 0.29 0.24 0.13 0.11 0.27 0.23 66271000 64836000 66157000 64662000 69657000 68169000 69684000 68285000 9373000 7521000 18971000 15640000 -141000 -306000 921000 -1467000 -141000 -403000 -37000 -474000 -282000 -709000 884000 -1941000 9091000 6812000 19855000 13699000 66244000 1656000 1097596000 -1307000 -380106000 717839000 17844000 17844000 276000 7000 5806000 5813000 200000 5000 8812000 8817000 9373000 9373000 -282000 -282000 66320000 1658000 1112434000 -1589000 -370733000 741770000 64612000 1616000 1014336000 -1552000 -422595000 591805000 10007000 10007000 629000 15000 8490000 8505000 7521000 7521000 -709000 -709000 65241000 1631000 1032833000 -2261000 -415074000 617129000 65735000 1644000 1070100000 -2473000 -389704000 679567000 34064000 34064000 810000 20000 18264000 18284000 225000 6000 9994000 10000000 18971000 18971000 884000 884000 66320000 1658000 1112434000 -1589000 -370733000 741770000 64274000 1607000 997855000 -320000 -430714000 568428000 20475000 20475000 967000 24000 14503000 14527000 15640000 15640000 -1941000 -1941000 65241000 1631000 1032833000 -2261000 -415074000 617129000 18971000 15640000 34064000 20475000 7915000 7671000 884000 1034000 1897000 0 3176000 909000 4234000 9445000 26123000 23268000 -6305000 -6060000 -502000 4222000 8626000 8725000 -2647000 -3721000 25576000 14364000 10107000 5866000 105888000 103286000 97223000 81452000 -18772000 -27700000 18284000 14527000 10000000 0 4088000 632000 4196000 13895000 114000 -376000 11114000 183000 79073000 51333000 90187000 51516000 Company and Basis of Presentation<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Company</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Calix, Inc. (together with its subsidiaries, “Calix” or the “Company”) was incorporated in August 1999 and is a Delaware corporation. The Company is the leading global provider of a platform (cloud, software and systems) and managed services that focus on the subscriber-facing network, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers. This platform and managed services enable broadband service providers (“BSPs”) of all sizes to innovate and transform their businesses. The Company’s BSP customers are empowered to utilize real-time data and insights from the Calix platform to simplify their businesses and deliver experiences that excite their subscribers. These insights enable BSPs to grow their businesses through increased subscriber acquisition, loyalty and revenue, thereby increasing the value of their businesses and contributions to their communities.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Basis of Presentation</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (“GAAP”) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company’s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December 31, 2022 has been derived from the audited financial statements at that date.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results of the Company’s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s fiscal year begins on January 1</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and ends on December 31</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. As a result, the Company had one less day in the six months ended July 1, 2023 than for the six months ended July 2, 2022. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Basis of Presentation</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (“GAAP”) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company’s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December 31, 2022 has been derived from the audited financial statements at that date.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results of the Company’s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s fiscal year begins on January 1</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and ends on December 31</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. As a result, the Company had one less day in the six months ended July 1, 2023 than for the six months ended July 2, 2022. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.</span></div> Significant Accounting Policies<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s significant accounting policies are disclosed in its Annual Report on Form 10-K for the year ended December 31, 2022. The Company’s significant accounting policies did not change during the six months ended July 1, 2023.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Newly Adopted Accounting Standard</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not adopt any new accounting standards during the six months ended July 1, 2023 that were significant to the Company.</span></div><div style="text-align:center"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no additional accounting pronouncements or changes in accounting pronouncements during the six months ended July 1, 2023 as compared to the recent accounting pronouncements described in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022, that are significant or expected to be significant to the Company.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Newly Adopted Accounting Standard</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not adopt any new accounting standards during the six months ended July 1, 2023 that were significant to the Company.</span></div><div style="text-align:center"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no additional accounting pronouncements or changes in accounting pronouncements during the six months ended July 1, 2023 as compared to the recent accounting pronouncements described in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022, that are significant or expected to be significant to the Company.</span></div> Cash, Cash Equivalents and Marketable Securities<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as commercial paper, corporate debt securities, municipal securities and U.S. government securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent commercial paper, U.S. government agency securities, corporate debt securities, municipal securities and U.S. government securities with maturities greater than 90 days at date of purchase. Cash equivalents are stated at amounts that approximate fair value based on quoted market prices. Marketable securities are recorded at their fair values.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of accumulated other comprehensive loss in the stockholders’ equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific identification method and are reclassified from accumulated other comprehensive loss to results of operations as other expense, net. There were no realized gains and losses for the three and six months ended July 1, 2023 and July 2, 2022, respectively.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents and marketable securities consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,984 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,189 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,270 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,199 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,914 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,990 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,954 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,065 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">555 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">140 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total cash and cash equivalents</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">90,187 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,073 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">99,173 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">106,750 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,306 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,916 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28,992 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,546 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,168 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total marketable securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">173,941 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">162,642 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">264,128 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">241,715 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of the Company’s money market funds approximate their fair values due to their nature, duration and short maturities.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amortized cost and fair value of marketable securities were as follows (in thousands):</span></div><div style="margin-top:7pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.245%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.139%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.838%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of July 1, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Unrealized Losses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,541 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(454)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,087 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,228 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(42)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,186 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,703 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(443)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,260 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,570 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(24)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,546 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 25.75pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">218,042 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(963)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">217,079 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:7pt"><span><br/></span></div><div style="margin-top:7pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.245%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.139%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.838%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Unrealized Losses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,119 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,379)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,740 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,262 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(71)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,876 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(244)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,312 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,308 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">101 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25.75pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,670 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,699)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">201,971 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 0 0 0 0 <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents and marketable securities consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,984 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,189 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,270 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,199 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,914 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,990 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,954 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,065 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">555 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">140 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total cash and cash equivalents</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">90,187 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,073 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">99,173 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">106,750 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,306 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,916 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28,992 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,546 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,168 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total marketable securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">173,941 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">162,642 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">264,128 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">241,715 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 45984000 39189000 25270000 33199000 14914000 5990000 2954000 0 1065000 555000 0 140000 90187000 79073000 99173000 106750000 40306000 23632000 29916000 28992000 4546000 3168000 0 100000 173941000 162642000 264128000 241715000 <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amortized cost and fair value of marketable securities were as follows (in thousands):</span></div><div style="margin-top:7pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.245%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.139%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.838%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of July 1, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Unrealized Losses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,541 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(454)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,087 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,228 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(42)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,186 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,703 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(443)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,260 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,570 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(24)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,546 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 25.75pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">218,042 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(963)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">217,079 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:7pt"><span><br/></span></div><div style="margin-top:7pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.245%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.139%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.554%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.838%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Unrealized Losses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,119 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,379)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,740 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,262 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(71)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,876 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(244)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,312 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,308 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">101 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25.75pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,670 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,699)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">201,971 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 114541000 -454000 114087000 55228000 -42000 55186000 43703000 -443000 43260000 4570000 -24000 4546000 218042000 -963000 217079000 114119000 -1379000 112740000 62262000 -71000 62191000 23876000 -244000 23632000 3312000 -4000 3308000 101000 -1000 100000 203670000 -1699000 201971000 Fair Value Measurements<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measures its cash equivalents and marketable securities at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. The Company utilizes the following three-tier value hierarchy, which prioritizes the inputs used in measuring fair value:</span></div><div style="margin-top:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1 – Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.</span></div><div style="margin-top:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2 – Observable inputs other than quoted prices included in Level 1 for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-driven valuations in which all significant inputs and significant value drivers are observable in active markets.</span></div><div style="margin-top:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3 – Unobservable inputs to the valuation derived from fair valuation techniques in which one or more significant inputs or significant value drivers are unobservable. The fair value hierarchy also requires the Company to maximize the use of observable inputs, when available, and to minimize the use of unobservable inputs when determining inputs and determining fair value.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands): </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.835%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.575%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of July 1, 2023</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,065 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,065 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,087 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,087 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,186 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,186 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,260 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,260 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,546 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,546 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">115,152 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">102,992 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">218,144 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.835%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.575%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">555 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">555 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,740 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,740 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,308 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,308 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">113,295 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">89,231 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">202,526 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> <div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands): </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.835%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.575%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of July 1, 2023</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,065 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,065 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,087 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,087 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,186 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,186 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,260 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,260 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,546 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,546 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">115,152 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">102,992 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">218,144 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.835%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.575%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">555 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">555 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,740 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,740 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. government agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,308 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,308 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">113,295 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">89,231 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">202,526 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 1065000 0 1065000 114087000 0 114087000 0 55186000 55186000 0 43260000 43260000 0 4546000 4546000 115152000 102992000 218144000 555000 0 555000 112740000 0 112740000 0 62191000 62191000 0 23632000 23632000 0 3308000 3308000 0 100000 100000 113295000 89231000 202526000 Balance Sheet Details<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">97,321 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">94,201 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Allowance for doubtful accounts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(341)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(397)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">96,980 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">93,804 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,447 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">640 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">145,947 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">148,520 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">153,394 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">149,160 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prepaid expenses and other current assets consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Supplier deposits    </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51,391 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,064 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,391 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,627 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">84,782 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,691 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Test equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">48,407 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,106 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,143 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,396 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Software</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,389 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,925 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,730 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,266 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,153 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,137 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70,774 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accumulated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(48,301)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(44,940)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28,836 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,834 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Compensation and related benefits</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,089 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,813 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Component inventory held by suppliers</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,484 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,280 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Professional and consulting fees</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,311 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,307 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer advances or rebates</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,888 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,653 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue share payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,585 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,210 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current portion of warranty and retrofit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,786 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,377 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taxes payable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,425 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,581 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,895 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,949 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Product returns</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,394 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,961 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Freight</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">995 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,649 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Business events</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,167 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,423 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,527 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">85,275 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">90,474 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2018, and as amended in December 2020, the Company entered into an agreement with a vendor to develop a certain software product and related enhancements pursuant to which the Company is obligated to make revenue-share payments under the program, subject to aggregate fixed revenue-share payments of $15.8 million. The payments are based on a revenue-share rate applied to revenue from the developed-product and the corresponding hardware sales through March 2024. If the minimum revenue-share payments are not achieved by the end of that period, a true-up payment will be due. As of July 1, 2023, the liability, including accrued interest, was $7.6 million, which is included in “Accrued liabilities” in the accompanying Condensed Consolidated Balance Sheet. As of December 31, 2022, the liability, including accrued interest, was $11.4 million, of which $7.2 million was included in “Accrued liabilities” and $4.2 million in “Other long-term liabilities.”</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.590%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.621%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at beginning of period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,445 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,570 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,386 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,594 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accruals for product warranty and retrofit</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">802 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(351)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,817 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">177 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of warranty and retrofit claims</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(941)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(565)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,897)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,117)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at end of period</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,306 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,654 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,306 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,654 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">97,321 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">94,201 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Allowance for doubtful accounts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(341)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(397)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">96,980 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">93,804 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 97321000 94201000 341000 397000 96980000 93804000 <div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,447 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">640 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">145,947 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">148,520 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">153,394 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">149,160 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 7447000 640000 145947000 148520000 153394000 149160000 <div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prepaid expenses and other current assets consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Supplier deposits    </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51,391 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,064 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,391 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,627 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">84,782 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62,691 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 51391000 39064000 33391000 23627000 84782000 62691000 <div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Test equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">48,407 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,106 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,143 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,396 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Software</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,389 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,925 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,730 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,266 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,153 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,137 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70,774 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accumulated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(48,301)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(44,940)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28,836 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,834 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 48407000 44106000 14143000 13396000 11396000 10389000 1925000 1730000 1266000 1153000 77137000 70774000 48301000 44940000 28836000 25834000 <div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Compensation and related benefits</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,089 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,813 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Component inventory held by suppliers</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,484 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,280 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Professional and consulting fees</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,311 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,307 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer advances or rebates</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,888 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,653 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue share payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,585 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,210 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current portion of warranty and retrofit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,786 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,377 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taxes payable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,425 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,581 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,895 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,949 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Product returns</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,394 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,961 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Freight</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">995 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,649 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Business events</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,167 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,423 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,527 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">85,275 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">90,474 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 26089000 27813000 11484000 10280000 8311000 7307000 7888000 5653000 7585000 7210000 5786000 6377000 4425000 4581000 3895000 3949000 2394000 2961000 995000 3649000 0 3167000 6423000 7527000 85275000 90474000 15800000 7600000 11400000 7200000 4200000 <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.590%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.621%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at beginning of period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,445 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,570 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,386 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,594 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accruals for product warranty and retrofit</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">802 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(351)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,817 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">177 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of warranty and retrofit claims</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(941)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(565)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,897)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,117)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at end of period</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,306 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,654 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,306 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,654 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 8445000 9570000 8386000 9594000 802000 -351000 1817000 177000 941000 565000 1897000 1117000 8306000 8654000 8306000 8654000 Commitments and Contingencies<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Lease Commitments</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases office space under non-cancelable operating leases. Certain of the Company’s operating leases contain renewal options and rent acceleration clauses. Future minimum payments under the non-cancelable operating leases consisted of the following as of July 1, 2023 (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:76.092%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.648%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.960%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Future Minimum Lease Payments</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,232 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,668 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,470 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,490 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027 and thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,790 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total future minimum lease payments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,650 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,251)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,399 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of July 1, 2023, the operating lease liability consisted of the following (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:79.455%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.139%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.106%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-552">Accrued liabilities - current portion of operating leases</span></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,895 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,504 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,399 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases its headquarters office space in San Jose, California under a lease agreement that expires in December 2025. The future minimum lease payments under the lease are $6.1 million and are included in the table above.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted average discount rate for the Company’s operating leases as of July 1, 2023 was 5.4%. The weighted average remaining lease term as of July 1, 2023 was 3.5 years.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three and six months ended July 1, 2023, total rent expense of the Company was $1.2 million and $2.4 million, respectively. For the three and six months ended July 2, 2022, total rent expense of the Company was $1.1 million and $2.2 million, respectively. Cash paid within operating cash flows for operating leases was $2.3 million for the six months ended July 1, 2023 and July 2, 2022 for each respective period.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Purchase Commitments</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s suppliers, including contract manufacturers (“CMs”) and original design manufacturers (“ODMs”), place orders for certain component inventory in advance based upon the Company’s build forecasts in order to reduce manufacturing lead times and ensure adequate component supply. The components are used by the CMs and ODMs to build the products included in the build forecasts. The Company generally does not take ownership of the components held by CMs and ODMs. The Company places purchase orders with its CMs and ODMs in order to fulfill its monthly finished product inventory requirements. The Company incurs a liability when the CMs and ODMs convert the component inventory to a finished product and takes ownership of the finished goods inventory. In the event of termination of services with a manufacturing partner, the Company has purchased, and may be required to purchase in the future, certain of the remaining components inventory held by the CM or ODM as well as any outstanding orders pursuant to the contractual provisions with such CM or ODM. As of July 1, 2023 and December 31, 2022, the Company had approximately $253.9 million and $340.6 million, respectively, of outstanding purchase commitments for inventories to be delivered by its suppliers, including CMs and ODMs, within two years.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has from time to time, and subject to certain conditions, reimbursed certain suppliers for component inventory purchases when this inventory has been rendered excess or obsolete, for example due to manufacturing and engineering change orders resulting from design changes, manufacturing discontinuation of products by its suppliers, or in cases where the Company has committed inventory levels that greatly exceed projected demand. The estimated excess and obsolete inventory liabilities related to such manufacturing and engineering change orders and other factors, which are included in accrued liabilities in the accompanying balance sheets, were $11.5 million and $10.3 million as of July 1, 2023 and December 31, 2022, respectively. The Company records the related charges in cost of revenue in its Condensed Consolidated Statements of Comprehensive Income.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Litigation</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company is involved in various legal proceedings arising from the normal course of business activities. The Company is not currently a party to any legal proceeding that, if determined adversely to the Company, in management’s opinion, is currently expected to individually or in the aggregate have a material adverse effect on the Company’s business, operating results or financial condition taken as a whole.</span></div> Future minimum payments under the non-cancelable operating leases consisted of the following as of July 1, 2023 (in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:76.092%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.648%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.960%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Future Minimum Lease Payments</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,232 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,668 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,470 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,490 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027 and thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,790 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total future minimum lease payments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,650 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,251)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,399 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 2232000 4668000 4470000 1490000 1790000 14650000 1251000 13399000 <div style="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of July 1, 2023, the operating lease liability consisted of the following (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:79.455%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.139%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.106%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-552">Accrued liabilities - current portion of operating leases</span></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,895 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,504 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,399 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3895000 9504000 13399000 6100000 0.054 P3Y6M 1200000 2400000 1100000 2200000 2300000 253900000 340600000 P2Y 11500000 10300000 Stockholders’ Equity <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2019 Equity Incentive Award Plan</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employees and consultants of the Company, its subsidiaries and affiliates, as well as members of the Company’s Board of Directors, are eligible to receive awards under the 2019 Equity Incentive Award Plan (“the 2019 Plan”). The 2019 Plan provides for the grant of stock options, including incentive stock options and nonqualified stock options, stock appreciation rights, restricted stock, restricted stock units, other stock or cash-based awards and dividend equivalents to eligible individuals. At the Company’s 2023 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the 2019 Plan by 1.5 million shares. As of July 1, 2023, there were 5.7 million shares available for issuance under the 2019 Plan.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended July 1, 2023, stock option awards exercisable for up to an aggregate of 0.2 million shares of common stock were granted with a grant date weighted-average exercise price of $42.79 per share. During the six months ended July 1, 2023, stock option awards exercisable for up to an aggregate of 0.6 million shares of common stock were granted with a grant date weighted-average exercise price of $48.75 per share. These stock option awards vest 25% on the first anniversary of the vesting commencement date and on a quarterly basis thereafter over an additional three years.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2023, performance-based stock option awards exercisable for up to an aggregate of 1.2 million shares of common stock were granted to certain Company executives with a grant date exercise price of $51.57 per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net operating income for 2023 (collectively, the “2023 Performance Targets”) during the one-year performance period. These performance-based stock option awards will vest, subject to certification by the Compensation Committee of the Company’s Board of Directors upon the achievement of the 2023 Performance Targets, as to 25% of the shares of common stock earned on the one year anniversary of the date of grant, and as to the remaining 75% of the shares of common stock earned, in substantially equal quarterly installments over the subsequent 36 months, subject to the executive’s continuous service with the Company through the respective vesting dates. If the non-GAAP net operating income target and the bookings target are each achieved below 80% of target, no shares would be awarded, and the performance-based stock option awards would be forfeited in full. If either target is achieved at the minimum threshold of 80% of target, then the shares are awarded at 50% of the granted shares, with an increasing percentage of shares awarded above the minimum thresholds up to 125% of the granted shares for each target. Each target result is then weighted by 50% and the combined total determines the percent of target shares. The maximum combined award is 100%. The probability of meeting the performance conditions related to these performance-based stock option awards was assessed to be probable as of July 1, 2023 based on adjusted targets, and stock-based compensation expense of $4.5 million was recognized for the three months ended July 1, 2023. For the six months ended July 1, 2023, stock-based compensation expense of $6.9 million was recognized.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended July 1, 2023, 31,000 shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $16.30 per share. During the six months ended July 1, 2023, 0.3 million shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $12.56 per share. As of July 1, 2023, unrecognized stock-based compensation expense of $95.0 million related to stock options, net of estimated forfeitures, is expected to be recognized over a weighted-average period of 2.2 years.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Employee Stock Purchase Plans</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains two employee stock purchase plans - the Amended and Restated Employee Stock Purchase Plan (the “ESPP”) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the “NQ ESPP”).</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 15% of their eligible compensation subject to certain Internal Revenue Code limitations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The offering periods under the ESPP are two six-month offering periods from August 15</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through February 14</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and February 15</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through August 14</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of each year. The price of common stock purchased under the ESPP is 85% of the lower of the fair market value of the common stock on the commencement date and the end date of each six-month offering period. As of July 1, 2023, there were 4.6 million shares available for issuance under the ESPP. During the six months ended July 1, 2023, 0.1 million shares were purchased under the ESPP. As of July 1, 2023, unrecognized stock-based compensation expense of $0.3 million related to the ESPP is expected to be recognized over a remaining service period of 0.1 years.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The NQ ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 25% of their eligible recurring compensation. Eligible employees have the right to (a) purchase the maximum number of whole shares of common stock that can be purchased with the elected payroll deductions during each offering period for which the employee is enrolled at a purchase price equal to the closing price of the Company’s common stock on the last day of such offering period and (b) receive an equal number of shares of the Company’s common stock that are subject to a risk of forfeiture in the event the employee terminates employment within the one year period immediately following the purchase date. The NQ ESPP provides quarterly offering periods from February 8</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through May 7</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, May 8</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through August 7</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, August 8</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through November 7</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and November 8</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through February 7</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of each year, with a maximum of 0.25 million shares allocated per purchase period.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At the Company’s 2023 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the NQ ESPP by 1.2 million shares. The maximum number of shares of common stock currently authorized for issuance under the NQ ESPP is 7.5 million shares. As of July 1, 2023, there were 3.8 million shares available for issuance under the NQ ESPP. During the six months ended July 1, 2023, 0.4 million shares were purchased and issued. As of July 1, 2023, unrecognized stock-based compensation expense of $10.9 million related to the NQ ESPP is expected to be recognized over a remaining weighted-average service period of 0.8 years.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock-Based Compensation</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense (in thousands):</span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:89.766%"><tr><td style="width:1.0%"></td><td style="width:35.056%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.591%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.069%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.591%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.069%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.591%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.069%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.591%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.073%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">780 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">650 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,580 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,266 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,053 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,848 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,484 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,330 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,860 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,259 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,172 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,151 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,250 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,828 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,875 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,844 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,007 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,064 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,475 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income tax benefit recognized</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,955 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,546 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,107 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,127 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock Repurchase Program</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In July 2022, the Company’s Board of Directors authorized a one-year stock repurchase program for up to $100 million of the Company’s common stock. Under the repurchase program, repurchases can be made from time to time using a variety of methods, which may include open market purchases, privately negotiated transactions or otherwise, all in accordance with the rules of the SEC and other applicable legal requirements. The specific timing, price and size of the purchases depends on prevailing stock prices, general economic and market conditions, and other considerations consistent with the Company’s capital allocation strategy. The repurchase program does not obligate the Company to acquire a particular amount of common stock, and the repurchase program may be suspended or discontinued at any time at the Company’s discretion. In May 2023, the Company’s Board of Directors amended the repurchase program to remove the one-year end date. As of July 1, 2023, the remaining authorized amount for stock repurchases under this program was $90.0 million. For the six months ended July 1, 2023, the Company purchased 0.2 million shares of common stock for $10.0 million at an average price per share of $44.53.</span></div> 1500000 5700000 200000 42.79 600000 48.75 0.25 P3Y 1200000 51.57 P1Y 0.25 P1Y 0.75 P36M 0.80 0 0.80 0.50 1.25 0.50 1 4500000 6900000 31000 16.30 300000 12.56 95000000 P2Y2M12D 2 0.15 2 P6M 0.85 P6M 4600000 100000 300000 P0Y1M6D 0.25 P1Y 250000 1200000 7500000 3800000 400000 400000 10900000 P0Y9M18D <div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense (in thousands):</span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:89.766%"><tr><td style="width:1.0%"></td><td style="width:35.056%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.591%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.069%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.591%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.069%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.591%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.069%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.591%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.073%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">780 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">650 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,580 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,266 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,053 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,848 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,484 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,330 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,860 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,259 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,172 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,151 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,250 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,828 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,875 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,844 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,007 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,064 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,475 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income tax benefit recognized</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,955 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,546 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,107 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,127 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 780000 650000 1580000 1266000 5053000 2848000 9484000 5330000 4860000 2259000 9172000 6004000 7151000 4250000 13828000 7875000 17844000 10007000 34064000 20475000 2955000 2546000 7107000 6127000 P1Y 100000000 90000000 200000 10000000 44.53 Revenue from Contracts with Customers<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company develops, markets and sells a broadband platform and managed services, and there are no segment managers who are held accountable for operations, operating results and plans for levels or components below the Company unit level. Accordingly, the Company is a single reporting segment and operating unit structure. The Company’s chief operating decision maker is the Company’s Chief Executive Officer, who reviews financial information presented on a Company-wide basis, for purposes of allocating resources and evaluating financial performance.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:26.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.969%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.700%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.561%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">232,423 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">183,932 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">460,362 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">349,563 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,737 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,954 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,106 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,527 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Americas ex U.S.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,329 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,808 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,866 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,679 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Middle East &amp; Africa</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,375 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,099 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,148 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,717 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Asia Pacific</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">152 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">249 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">542 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">504 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">261,016 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">202,042 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">511,024 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">386,990 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Asset</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract assets include amounts recognized as revenue prior to the Company’s contractual right to bill the customer. Amounts are billed in accordance with the agreed-upon contractual terms. The closing balance as of July 1, 2023 was $4.3 million of which the Company expects to bill 54% of the balance during the remainder of 2023. The contract asset balance may fluctuate depending on the timing of fulfilling the related performance obligations with the Company's customers.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Liability</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue was $67.2 million, $69.6 million and $58.6 million as of July 1, 2023, April 1, 2023 and December 31, 2022, respectively. The decrease in the deferred revenue balance for the three months ended July 1, 2023 was the result of revenue recognized of $11.3 million that was included in the deferred revenue balance at the beginning the period offset by cash payments received or due in advance of satisfying the Company’s performance obligations. The increase in the deferred revenue balance for the six months ended July 1, 2023 was driven by cash payments received or due in advance of satisfying </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the Company’s performance obligations and balances reclassified to contract assets during the period offset by $20.0 million of revenue recognized that was included in the deferred revenue balance at the beginning of the period.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue allocated to remaining performance obligations (“RPOs”) represents contract revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods but excludes variable consideration where the monthly invoicing is based on usage or where actual usage exceeds the minimum commitment. RPOs were $213.0 million as of July 1, 2023, and the Company expects to recognize as revenue 38% of this amount over the next 12 months and the remainder thereafter.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Costs</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company capitalizes certain sales commissions related primarily to multi-year subscriptions and extended warranty support for which the expected amortization period is greater than one year. As of July 1, 2023 and December 31, 2022, the unamortized balance of deferred commissions was $10.4 million and $11.2 million, respectively. For the three and six months ended July 1, 2023, the amount of amortization was $1.5 million and $2.9 million, respectively, compared to $0.9 million and $1.6 million for the three and six months ended July 2, 2022, respectively. There was no impairment loss in relation to the costs capitalized for either period.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Concentration of Customer Risk</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No customer accounted for more than 10% of the Company’s revenue for the three or six months ended July 1, 2023 and July 2, 2022. </span></div>One customer represented 14% of the Company’s accounts receivable as of July 1, 2023. One customer represented 11% of the Company’s accounts receivable as of December 31, 2022. The Company develops, markets and sells a broadband platform and managed services, and there are no segment managers who are held accountable for operations, operating results and plans for levels or components below the Company unit level. Accordingly, the Company is a single reporting segment and operating unit structure. The Company’s chief operating decision maker is the Company’s Chief Executive Officer, who reviews financial information presented on a Company-wide basis, for purposes of allocating resources and evaluating financial performance. <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:26.677%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.969%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.700%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.561%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">232,423 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">183,932 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">460,362 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">349,563 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,737 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,954 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,106 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,527 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Americas ex U.S.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,329 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,808 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,866 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,679 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Middle East &amp; Africa</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,375 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,099 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,148 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,717 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Asia Pacific</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">152 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">249 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">542 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">504 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">261,016 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">202,042 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">511,024 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">386,990 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td></tr></table></div> 232423000 183932000 460362000 349563000 14737000 2954000 27106000 9527000 11329000 10808000 18866000 19679000 2375000 4099000 4148000 7717000 152000 249000 542000 504000 261016000 202042000 511024000 386990000 4300000 0.54 67200000 69600000 58600000 11300000 20000000 213000000 0.38 P12M 10400000 11200000 1500000 2900000 900000 1600000 0 0 0 0 0.14 0.11 Income Taxes<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:33.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.524%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,229 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,669 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,638 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,489 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income taxes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,856 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,148 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,667 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,849 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effective tax rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">22.2 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19.7 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s income taxes for the three and six months ended July 1, 2023 and July 2, 2022 were determined using an estimated effective tax rate adjusted for discrete items that occurred during the respective periods. The Company’s effective tax rate for the three and six months ended July 1, 2023 and July 2, 2022 differed from the statutory federal corporate tax rate of 21% primarily due to state taxes, the inclusion of income from certain foreign operations and the effect of non-deductible stock-based compensation for executive officers offset by U.S. federal research tax credits and excess tax benefits from stock-based compensation.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has net deferred tax assets that have arisen primarily as a result of temporary differences, net operating loss carryforwards, capitalized research and development costs and tax credits. The Company’s ability to realize a deferred tax asset is based on its ability to generate sufficient future taxable income within the applicable carryforward period and subject to any applicable limitations. Management believes that it is more likely than not that the Company will utilize a significant portion of its deferred tax assets.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintained a valuation allowance for the three and six months ended July 1, 2023 and July 2, 2022 of $29.9 million on certain U.S. federal and state deferred tax assets that the Company believes are not more likely than not to be realized in future periods.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company considered scheduled reversals of deferred tax liabilities, historic profitability, projected future taxable income, ongoing tax planning strategies and other matters, including the period over which its deferred tax assets will be recoverable, in assessing the need for and the amount of the valuation allowance. In the event that actual results differ from these estimates, or if the Company decides to adjust these estimates in the future periods, further adjustments to its valuation allowance may be recorded, which could materially impact the Company’s financial position and net income in the period of the adjustment.</span></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:33.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.524%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,229 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,669 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,638 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,489 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income taxes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,856 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,148 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,667 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,849 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effective tax rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">22.2 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19.7 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr></table></div> 14229000 9669000 25638000 19489000 4856000 2148000 6667000 3849000 0.341 0.222 0.260 0.197 29900000 Net Income Per Common Share<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.005%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.115%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.115%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.916%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,373 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,521 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,971 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,640 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average common shares outstanding used to compute basic net income per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66,271 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">64,836 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66,157 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">64,662 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effect of dilutive common stock equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,386 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,333 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,527 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,623 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average common shares outstanding used to compute diluted net income per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,657 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">68,169 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,684 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">68,285 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income per common share:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Basic net income per common share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.14 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.12 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.29 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.24 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Diluted net income per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.13 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.11 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.27 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.23 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Potentially dilutive shares excluded, weighted average</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,714 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,617 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,786 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,196 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potentially dilutive shares have been excluded from the computation of diluted net income per common share when their effect is antidilutive. These antidilutive shares were from stock options.</span></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.005%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.115%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.115%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.916%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">July 2,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,373 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,521 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,971 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,640 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average common shares outstanding used to compute basic net income per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66,271 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">64,836 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66,157 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">64,662 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effect of dilutive common stock equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,386 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,333 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,527 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,623 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average common shares outstanding used to compute diluted net income per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,657 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">68,169 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,684 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">68,285 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income per common share:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Basic net income per common share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.14 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.12 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.29 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.24 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Diluted net income per common share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.13 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.11 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.27 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.23 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Potentially dilutive shares excluded, weighted average</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,714 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,617 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,786 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,196 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 9373000 7521000 18971000 15640000 66271000 64836000 66157000 64662000 3386000 3333000 3527000 3623000 69657000 68169000 69684000 68285000 0.14 0.12 0.29 0.24 0.13 0.11 0.27 0.23 4714000 2617000 3786000 2196000 On May 1, 2023, Michael Weening, President and Chief Executive Officer of the Company, adopted a Rule 10b5-1 trading arrangement (the “10b5-1 Plan”) that is intended to satisfy the affirmative defense of Rule 10b5-1(c) of the Securities Exchange Act of 1934, as amended. The 10b5-1 Plan allows for the contemporaneous exercise of options and sale of up to 284,000 shares of Common Stock, at specific market prices, commencing on July 31, 2023, and continuing until all such options are exercised and the underlying shares are sold, or April 30, 2025, whichever comes first. May 1, 2023 Michael Weening President and Chief Executive Officer true false false false 284000 EXCEL 64 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( -J#^%8'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 " #:@_A6(09R5.\ K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M2@,Q$(=?17+?G?TC%L(VEQ9/"H(%Q5M(IFWH)AN2D=V^O=G8;A%] "&7S/SR MS3>03GFNAH O8? 8R&"\FVSO(E=^S8Y$G@-$=40K8YD2+C7W0["2TC4$IJH>P"))+4G"#"S\0F2BTXJK@)*&<,%KM>#]9^@S3"O 'BTZBE"7-3 Q M3_3GJ>_@!IAAA,'&[P+JA9BK?V)S!]@E.46SI,9Q+,)O.ZF-V_>%W$[:#-GOS MCXVO@J*#7_]"? %02P,$% @ VH/X5IE&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" #:@_A6S5'I;L0% "^'@ & 'AL+W=OTZ40FCS%49)>MI9:K]YV.JF_%#%/ MS^5*)'!G+E7,-9RJ12==*<&#/"B..LQQ^IV8ATEK-,RO3=1H*#,=A8F8*))F M<%G+3P1148)RO'O M7K15O-,$/C\^J-_D\ SXZGP9/1'&.CE9>NB10(QYUFD[^7F%[$'ZAD]7T9I M_I]L=L]VNRWB9ZF6\3X82A"'R>Z7/^T_Q/, 6A' ]@'L50"M>H.[#W!ST%W) M9I4#,'^;?)HX$F3$P:IUK!W1#B],B3:Z%(FZ1+KD0Z[&C0 M-'@980YS M+>7Q:H33@2W\17'P'8+V"ZF/GHG_0R:J"8/VY6PD>+AU&E_L2&A M40V1>@52KQ[2EXPK+52T)?=B)96VX>%26F6VC^*A40WQ^@5>OQ[>1*A0!J85 M$N@'K,G#E?*&DS>\RI:'"C0$'12@@YI54W$80_(AH#J1N-:<1ZDUDVA80\"+ M O "+=1UHD.])3=A),BG+)X)90/#-1R'MMUN?]"UP:&A#>'>%'!OZL#=BT5H M^E%(XR<>6RLIKN/Q*'PZ([>);R-$8QL24J<<2)TZC% VJ:!>IQP[=6%Q3TM(C4=S:Y)5U#)/<:C!#,%F0Z3:> MR_^M'*=PBVQTBTQW,\$?KT=6JU1GA84[[2 M&K%:ULC+E#*SEMU4)4\DC">9=:'EB.)7Z_*,AT^+T (9(*= MI)7X%$:(E4:(U3)"TYA'$;G*4KB=VNLMKE,YV\;CFO*5_H?5\C_7L5 +TS#? M@X)>@D6(5SRQIQ87K 8]A?UAI?UAN'LY)'(I()$8'BY3C7<*&\1*&\1P!W/H M:5^,\=-\.9M\SC28VL2,H%;B;V1P]M]AI];+UV.>V3YYK!\>1.FQK5_%6!";^"BM4<](E:U/HN'-64L M+8^+&Y37C/LEZ6I*7.X+LS*>PNZXI=UQ<7-R\'//TXBMN1^1:[XA,4UT& Z&@ & 'AL+W=O[SXQ,QT(ET24I)]FO7U)V M)5NDF!2;/,22?69T9DC.&5*G#US\D$O&%'@LBTJ>C99*K8['8YDM64GE$5^Q M2O^RX**D2M^*^[%<"4;GC5%9C#&$T;BD>36:G#;?W8C)*:]5D5?L1@!9ER45 M3Q]8P1_.1FCTZXMO^?U2F2_&D],5O6YGG)*IGS"@BV.!N= MH^,IP<:@0?R=LP>Y<_S WG^9G(V@8L8)ERKB@^F/-IJPHC"?-X^?6 MZ:A]IC'!W,'95LRHM_\KE:GHV2$9BS!:T+]8T_?&3;@$+C+^.% M;/Z#ART6CD!62\7+K;%F4.;5YI,^;A.Q8X"" 0.\-< O-2!; ]($NF'6A'5! M%9V<"OX A$%K;^:BR4UCK:/)*S.,,R7TK[FV4Y/I]=7%Y=7L\@+HJ]GUET\7 MY[?ZYL/YE_.KZ268?;R\O)V!0_!]=@'>O7D/WH"\ K=+7DM:S>7I6&D.QM,X MVS[OP^9Y>.!YG^OB"$!T ##$Q&$^]9M?L.P(D(TYWC*X(DKNE=RMAF%*PG*41)?#I>[X9CH^(4 MQJ1%[?$,6IZ!E^=7*GXP1>\*!B3+:I&KG#DY;MR$.T]',4D#U"/I@$4X"K"; M9=BR#+TLS[.,USIYNI9E3&=2TST %5,NHJ'%((W2!/9X.E D@8&;9M32C+PT M/U5K/<1KDWK<,@7A[5DP-"F*J_N0<&T.KL5!MH3$L9A/[,.F,[_0'%".X*)O'0O MV(+IL9\#11\]P[_ULE]V(D+ZU_G9L!0&\5#%[10,^26L+6&"Z>Z@=B?2%J8 )<@JLC:,D# 8JEZ=?B&_@.VK M['/IM)5)MWA!T&]7G;@PP /U G<2AOT2]H57]X>*B1*LN&BVIWQA-I//9AG; M&H4UH?Y$<,)@/,2[TS+LU[+K%Z@MM@4J#6%_'CA023!4B/'.]LPO8AN=*-KT M/C,1L*U7.,+]MM"!TL(\Q+73-.S7M,V4?8ZA2['T7[] .7 8AGA'8?99=M*& M_=(VY669*],-;CKNC%=F K JTXS!NQECX(HK!J+W3OI>YVX% ,Z-\/]WM)^ M3CJQ7SIGBF<_EKR8,R'?_I%@%)\T';)ZP/9\IX%:=7L?O89IME6X_[VV,O9#\?G5QC MOUR;Q:"+]6 R$(1#Z8BB X+A;Z?DH,%$X4%,PA<9ORQ]=J.@A)G-O2'>04RNLIU,712M1L&A! .B*4H#B",H1Z2 <)= M;X']O85NTNJR+JAB[8$#+_5Z6YK3Z37398[]_+$[A4.20QC0GH\G< DC8>.G$C75A!_6[%10CE8:)VT M[08BUENJN%\&'+@H3L-HH'4G7:M!_*V&)=_-@OS-(+!];.K:%SIPSGWA>.=@ MW[Q5^4K%?5Y)W:TMM"$\BG4:Q.9%Q>9&\55SUG_'E>)E<[ED5),W /W[@FMM MW]Z8UP?MZZ+)?U!+ P04 " #:@_A6-BZW; <# !?"@ & 'AL+W=O M7+@)5@UFMDFZ_?K90%EHR5>W/"3^N.?XG,MUN/T5XP\B I#H,::) M&!B1E.FI:8H@@AB+%DLA43MSQF,LU90O3)%RP&$.BJEI6Y9GQI@DAM_/UZ;< M[[-,4I+ E".1Q3'FO\Z LM7 :!M/"[=D$4F]8/K]%"]@!O)+.N5J9E8L(8DA M$80EB,-\8 S;IZ.VI0%YQ%<"*[$V1MK*/6,/>G(9#@Q+*P(*@=046/TL8024 M:B:EXV=):E1G:N#Z^(G]/#>OS-QC 2-&OY%01@.C9Z 0YCBC\I:M+J TY&J^ M@%&1?Z-5$>MU#11D0K*X!"L%,4F*7_Q8)F(-T.YL -@EP-X7X)0 )S=:*,MM MC;'$?I^S%>(Z6K'I09Z;'*W',3QEM(:M]C&S+=AK@H^WP,00MY!1PNPXWE?LJ!7:5 COGY*ZJFOU/I[QRFORA/A#,9 M,4Y^JPWMHUAM%%_PNVNR7"O_/)._.ZYFP*T,N*\R0(3(=HMW7XAZ+GM;1$VP M5PGV7B58O2V$Q$E(DL4NU=Y.U=LB:JJ[E>KN5M4C%L?J5O]#D7?W*O)=437Q MO4I\[P#Q!U=X[T4RVY;56./[1-8TN_AH2FRV82Y]O;7K==GS!3S,01 8(@Z=J:B46FZTYC9R)G]Z'3!UB")#84H1*0G>VO+_AA40(N MF;CEBTU2!P<\N!<7AR"OGF7Y36V%T.C[+B_4]62K]?YR.E7+K=AQ]5[N16%^ M6!Z;[GA63&97];7/Y>Q*'G2>%>)SB=1AM^/E M'S*W3#RKDV-427F4\EMU5XQF?OX M=TLZ.?99-3P]?F'_6(LW8AZY$G.9_YZM]/9Z$DW02JSY(==?Y/.OHA445'Q+ MF:OZ+WINL=X$+0]*RUW;V-S!+BN:__Q[.Q G#0P/W("T#8C=@/8T\-L&_L_V M0-L&]&=["-H&M?1IH[T>N(1K/KLJY3,J*[1AJP[JT:];F_'*BBI1%KHTOV:F MG9[-[^^2]&Z1)L@<+>[_?IM\># GBP?S[U-Z][! ]Q_-3Y\^?TE_-;C;WU)T M>V?.4W2!OBX2].:7MTAM>2D4R@KTL)4'Q8N5>H=^.3N_FFISLU67TV5[8S?- MC9&>&_/1)UGHK4)IL1(KH'TRW)X-M)^:03J.%'D9J1LR2/BW0_X>>?@=(A[Q M@?N9_TQS4CFV"E1/HG)[,]_PLS["S3.8Y(E8Y*E(Y&= M180>(T*'V&=?Q),H#@(:_:8AJQM6"\?3C##L878U?3H=5P#F$8^2;ZD%V.+ \,%JV5$M&U3[UU(JA?:E7&<:DLK<7GU&0\^2"L \?)0;_Z!N*L'+Y;96O#)E)9?[:D6#-,>NFL"GUFW. M793O4=^>;2XJB@)L5U$7Q4RI#6')V.M,GS=<6$1AIEM>:^8K8RNS:O&N+#MH MU#R@"(;$*I5S (:C&%O#DP P&H9Q;"D'8#Z-:4^9P2=^%P]*?Y#:")=.N0&% M8V@M84%L*W=QL4?#V%;NP@@E86@''>HV)+1O-<&DTTX&M7=%-JO]&ZB9N)WC MR([B'(#%H>?$VD41')[D;RL8Z#,. MJCMS.I^$B?+GP MIHW^VW>H$!I<G2!#8^0F@ MJ%V# 9 ?Q8&=G0!5&/3D9F=D\;"3O>_/0U UX#"9;XMV01NF)3@<@%D]+9#M>+BH"]\9#A=DDL#V'A 5ZTN"SO3B M02?W\AC]*-:R%"_J-?_>LQR%;@[04P/4JG9A,6/.8N2B2,!L:Y9"?<8TZC%= MN#.9>-AEWOY(*^ >VB0N?!+ %0QG^%3B8#L(#US6W2>4KB#2ZVG5!D; 8R!SM9-'N# MX,)*!BWJ:Q?64=F24=G2L=C. ],Y7C+L>&^XRI;H35:@EBBDP3QWMM/)G,891=7$&57K!1&]=@_TME=,FQWDRP_:+%ZC70"B;*G(XRR MIR.((G;5@5%^C_3.^9)AY_M[_8)$K"[XD['\&X&*P^[12)?KE]WZ@S(CHV4U M3_=FE*J%MF_Z@B,UJBT>E2T9E2T=B^T\DITM)L.VN)N]3>#@O'4M*F/$+OUS M"$8CG]F9"['AP$E=B(VQGB=TTCEC,NR,3Z?MD&;7HK*8V7/NSMK_57"S%MGH-^W2T@V]RJ53CA*OI:QP3O)P..N]7 M3\@QV9)1V=*QV,Y#U7EV,NS9OQ:EX'GV'Y.A&VY2M(D/JEYZ/_$LYX^YN#!V M_D+Q7+1;J-4UI,3R4&8Z$ZKWJ:;M^=2:76!G?Q%"^9XSB5U4[.SEPQVRGOU% MTKE[,NSN/YK'F6Q3(*.X%,7R#Z1+7JB<-]\&K/YU4+K:8QT8"=>,0R,!H*C] M;B:!4+Y3S""JL,^"=.Z?#+O_=K?Q-;,;' YW'_B"1/8&+(0*/:?203O/3IT# MJ,QS'X;'P^\>$OSAC>CU%KNZL.MX"M15@#S^UI* M_7)2=7#\'&GV7U!+ P04 " #:@_A6?YX_/ M1?FU6G)>H]]665Z=CY9UO7X[F53S)5\EU9MBS7/QG[NB7"6U."SO)]6ZY,FB M;;3*)L1QO,DJ2?/1Q5G[MT_EQ5FQJ;,TYY]*5&U6JZ3\_3W/BL?S$1Y]^\-U M>K^LFS],+L[6R3V_X?7G]:=2'$WV*HMTQ?,J+7)4\KOST3O\-F9NTZ"-^%?* M'ZN#UZ@YE2]%\;4YN%RMRMS% M.B,TWU1UL=HU%B-8I?GV=_+;+A$'#3 ]TH#L&I"^#>BN 54:$/]( [9KP)0& M]%@#=]? 57LX=M+>KH'7YGZ;K#;3LZ1.+L[*XA&53;10:UZT=K6M18+3O)E9 M-W4I_IN*=O7%].KC+/IX$\V0>'5S]>%R]NY6'-SK#++J^^3N*?OE\>?L?-$:?;V;HU7>O4;5,2EZA-$>WRV)3)?FB^@%])QV? M36HQV*;+R7PWL/?;@9$C [LMZB0S-)O:FTV+U4I,V)NZF'\UM)[96[];+-)F MPB<9^I2DB[$XA6FR3LTCB4YHS>>;U29+:KY 5_62ETB,3:S^9;,L'SCZ4%2F MM,3]56?\+IVGM2PR$1-@/PO(?A:05I4=47W/[],\3_-[]#[)DGS.T2MQZEM? M7Z.D%EW-WR"*?T#$(=ADIE6_V1[?5NMDSL]'(@,5+Q_XZ.+[OV'/^8?)XJV8 MVXHU6^/#A<>(S\XF#X=60G8908K%0&*2E71O);5;N3-0F/9E[VIQA]:\3(M% M+R^W'7@'Z7>]@)% SO]4#Q.GX"LFZ4%AZ >N*X=%>MB8$D<.B@U!C#H^[B:& ME#&VSQAK&](C&;O,Y^*:7(DY+S+3OGK=[%WM%K(LL@4O*['I_;I)Z]_1?Z^+ M+$/BFO:8E(O_F9+'(!<"I-@,4BR"%(N!Q"3WW;W[KG6]M#:/FYN3!9J+#5KL MSDES"3!YZVK[$G&8K\SEJ;6_H:;UZC*"[#(&$I/<\/9N>%8W+JMJTVY?8L>: M;R_E56,0VN1B'2*^786IB,B;.U*T%IN=N-G(Q2VX:"%NM.]X6F^:NY&#"YC) M2NLPABY33S,I]-2-$++#"%(L!A*3_/;W?OLOX[?)8U^S!3.7*,9,?>VJ0M0[ M#:.00Y5%:#W3H:8 B4FF!'M3 JLI'T5V1:@ND M6-1K_#%0EY(MV.EJ9<=J3)0O+#723YOL#7)(>U]-C 6O57WH16>G)E5)+E$S M-@/M- )5BZ'49#L/T ?N6RKQ?"$72:?-Q'KZL8])J*RX79Q<)E'-)5T-.Y0$ M5+W(& +'A'CJ.C&%,>PZ_I%:"7>D #\1%;Q;ER)BH"0:E!:!J M,92:[&@'#/!3B<%I2ZEF@AOBP%%+(VQB!MA3O=+5L(,9I9ZZ&/3 ,79=HBX& M0Q@CQ W=(XNA(P?X)=$!!F4'H&HS4+4(5"V&4I,G00<0,!Q!P'H]CQU'I693 M>X^#O>O5:03::0RE)IO2<03\%P$)]G$,7K0Z2O#46XH9:)<1J%H,I2;;WN$$ M_"?R!*QS@,#5KW$Z4,"NZJ!!B86.NB!!B0*4FNQ,QQ3P4Z "U@MIWR5J]6KO M8O"V"(H50-7B4_F03>C GX&LH -I;GO:'4.*%H 58MZG4$,U:?\#FP'%\BS MP@6[^N!W8/O!!=!.(U"U&$I-MK.#"^09X0+1H8$1+ACB#'"!](4+AD 37#"% MV> ".7@, ? Y!'/F##C ]:EZD>X7-K,/=_#\AGW(X#FH >FH 8%\SL#LE4X# M/#]TU;?.IH8X[#'M<1 3-? =4>FHL]R PCSJ3K+#6$T"'WGV"SOJ %Y26I M0*D!J-H,5"T"58NAU.1)T%$# D<-B%[ 4^9X3%TGH-2@7Z<1:*0:A'52W_M!&*H+F5G.HA [1"A#TC;5J74Z)$!#7C:P^C3 M?F$S^U@'IQ^4($"IR3X=?%"A-T$X0LAL+NE,P&?8]S6;3.S #527#.P 8\*H M>B4Q!(ZQ&Z@HV11&?<<_(&YRTCIV0*UE:=_';VR9 ^4%.S5Y&1 -SH!V&H&J MQ5!JLJ,="*!V$-#W\1N;I7JI[F,_H"HNWL4IBT&]J3*H82?TW5!]_,80.,94 M?:X@-H71P,&.=V0Q=.4Z]5X0I%'0FAQ4;0:J%H&JQ5!J\B3HBG=J+]Z'@#1J M**#]0-VMIO8>!WO7J],(M-,82DTVI:O:J;UJ?S&09A_'X$6KLP#B:_LC* H M58NAU&3;.Q1 [2C@64$:U8M]-\!47;LZ-M ^DVH2#YLN8]M\'=O%_4$L#!!0 ( -J#^%;A MOS5W= 8 *4: 8 >&PO=V]R:W-H965T&ULK5EK3^,X M%/TK5G>TVI6&:>P\RT(E**"9T?#0E-GY;-+;-DL2=VRWP/[ZM=.0M+%C8(6$ M:)+>>WWN\]C-T0/C]V()(-%CD9?B>+"45;"#4=B7124/YU"SAZ.!WCP M_.![MEA*_6 X/EK1!4Q!_EC=<'4W;*S,L@)*D;$2<9@?#T[PX<0G6J&2^#N# M![%SC;0K=XS=ZYLOL^.!IQ%!#JG4)JCZV, $\EQ;4CA^U48'S9I:RG+1?4?/=2RW@"E:R%9 M42LK!$56;C_I8QV('05EQZY :@7250AZ%/Q:P:\3JVTSIR?'D^NKL_&IZ?H;4U?3ZVY>SDUMU,[U5'Y?G M5[=3='V!)B?3S^CBV_7/*3I /Z9GZ(\/?Z(/*"O1[9*M!2UGXF@H%1IM=&X0IY=.25.@U_7^2?DX8^(>,2WX)F\ M1IU4ZL0!QV\BZU?V_!Y[URO@5&;E8ENJF!R[KXRLU=;(R9078W-SJ1I6N'BZ;,4Y& M,3X:;G;Q6Z3"*/ :J3U@80,L=*;B9/:/ZB0U?*1 DJGID[(RS7) 98-8/]=W M*15+M.)LDZFB1'=/B+TVC>%[IO&=C.U%*VJB%3G3.)4LO3_0LW&&5&@480BJ M1Z[-Z:VE<"==?N!%02>IIA3Q@CBT)S5N8,9.F&>@?$\SNF6#XA31JDR0M(Y\"YBN9SJ=%'L [,Q%@\2;JQ-&6PYP=V M@*,&X.C%QJ5IRJ&*)9LCNJ%93N]R.% ;A0-!5:L(2->\JGX;\I&!ZD!W=P>[ M*=73V-AKZ"C(P%X]\KSL#K6)>U->K M+0MC)VUIB'P->SUI11F:RX<>Z8(TI0)"2 _&EONPF_R:6C:'D:3SY*( M&)UCD8I)7W6VK(?=M'==%6+.RL6!!%Z\&$R3T%1=!MW);!/S8])#?+AE/NRF MOJO7;JFLV$VN(V%HCB@+)09^U,.)N"5%/')2BYY1XC4PG>3Z9@IY)VO[1ZB6 M3XF3HL8W:YXNJ9YZ:AN@DJ92)9^J"0B_UME*[Z%M,:BM[F\ /.QUZ\PF%R91 M9,\5:9F/N)EO#W9!^3U(/01?V+40"[EA+TR2I O;*NB3I ]X2X3$38275-8 MWX;<=/O6KGXO:_M>M\Q+W,Q[PUD*,!-HSEFA M#W6%VN<+?7Z*J\E;N(F[AOZ MM/T%8B?.\[8:.=<'F4K"BMQ"T(%G#BJ+6.3W]7M+X^1_T/CT^JPB-3F U!:'QQ5N52>:8JK+C3/ M;=2)MR\1YB$68Z/<+>=A/^XA"[\E9]]-SO4/;!Q4O>NI^R;@ODF]&)O0;6*) MWX.\Y6??S<^3/J2(2C5D%EE9ZD+2>P[@&9M9'3!).!YY<9?S+&(A]OT^%UJF M]MU,[70!]!'1"9X8/VR./,5\7?"F6(A#W*V1*#J!+C]P;QY MVKQK.:G>,'2>G^+#R?:-26MF^P+GDG*5%8%RF"N3WJ=8!91OWXEL;R1;5:\5 M[IB4K*@NET!GP+6 ^G[.F'R^T0LT;Z;&_P%02P,$% @ VH/X5L4_,A@. M!P \Q !@ !X;"]W;W)K3R?-Q+9497)['=S?N\MRV02M#-T[XMJZEVUV1MMN+P730O7BO MUE7@%^/+\T:N:4'A0W/C\#3NK92J)N.5-<+1ZF(PG[Z\.N/OXP>_*=KZ@]^" M,UE:^Y$?WI87@PD'1)J*P!8D_MO0-6G-AA#&IVQST+ODC8>_.^O?Q=R1RU)Z MNK;Z=U6&ZF+P[4"4M)*M#N_M]@?*^3QC>X75/OXKMOG;R4 4K0^VSIL10:U, M^E_>9AS^R899WC"+<2=',WPO'7L,8_8JIQ-X)3AHNR" ZK"OO" MY;6M&VEV0II27$FOO+ K<>/(DPF2<3L?![CAC\=%-GF53,X>,/E<_&1-J+QX M8THJ[^X?([P^QED7X]7L48/O6CT2D^E0S":STT?LG?8YGT9[IP_8^]FMI5&? M8WI#<6V-MUJ5,K$$.!RFSW!\IXPTA9):+/"20,G@Q1_SI0\.I/KS&$(I@+/C M 7"CO?2-+.ABT+ OMZ'!Y9.OIL\GKQY)[ZQ/[^PQZ_^MI/_3I.B^N)9:W0[% M6U.,Q--@UQ0JE4JZ13YH7CRU;>SV>15W!-_3U\)ZP2V]$O) M;%[\6FRE%\H4UC76H10E'L2\7:-/Q/3%BQY;!#D2O\)R M%RD^8T<:2J;,6JRU7:+"C;,;52)D)"A%HV5@X1-/"VW;2G;7=D#-(;".5EDM-D")31JF(WDL*Y" /E))RTJQ3C)]:@!MV;/1N9(4T M8DEXOR*'L(,]",\S4L"G3_]H@F12(,[*^1AN<2]"8Q MU3ZURJLD9=KNI ZI31UMR+04J>5HN>NV,^TXV8W4+66NW4^M@(+#0%CU\NI[>1URN+HM MNVC98LNR"W>'$A,+B=?;RFJ].[%;D^'9BTPE-R ID0$OJ9$NB08;="7\4A*G MV#4$+%W6]]R%'T:+D5A0T;J8=73XYK:H8H.!C+7R\7S2,7WQYKHG.E@$5VA, M5<-V;&^S'HDY&HN;-7#RK6&Q"94%+5RK.>""7,!I"MMM,#; *>S8J*-[J)1) M!S(5M06<8^H;?@4\Z0,L*- ]JJ@?<^C^_G\YL^ MD:P5^_IQ0"F!$>H0@;*-,EF]DE(PC$G8CA4XUY>B%*2X,VT!M>.@9/D7^CI] MW&?(Q&%I00R&T&\>!\F(<_0C0='FB^$=CHC&/J#&IMZ)OG'2Y4$!W["!4QTX M/MO[H^.XHW (PHLJL414[R(9 R&IP:UW_# M2)=M+ W)HN+)XD(:E+Q]1])%NSA56Y=TIW>1P")3+:K#?IF/7)Q5&UJ0A-78EGE@'#9*YER9@H!X_9)R0%N\ MC_W)DYH/^V(Z.?E%^,JVNN08^+J3:_E7:])]HI>-1V&_Z_(^RG-C,*&/N/^Q M3S-F2'R6OL^&XT-QI7PA,S1+6F/&AW DJ&, MO;>,LX=[19R=G)T\ RTT3$BWAV*E' QTS, BLR6??A82Q2E15QRE,&8"3Y6? MI .3.K=S/K@ER@P/P0+EV2^?U;P7;"*#Z3&NZW372/C@IH#\TD6!Z6YZ$(]_ M.CM$,8V'7C@>*"=S@!G%AZJ8-ROE':G?;^Q%OQ-D?Z"-G'\M/^+ XG$PD2%K MBO2X'S=Y[D;9PPFM"(EI=1J"R>Z>5/]BL"8?A_,YCAB 7X0VAIPZMHC4+Q4? M#SN%X=[K@QT=NZF,#RZB.)"MXW4[&C,AW4G[M_V-?IXNLOO/TY\#0(U(7$TK M;)V,OGDV$"Y=L=-#L$V\UBYMP.DO_JS0IN3X ZSS^.P>V$'_=X[+OP%02P,$ M% @ VH/X5C.;>UH' P ^P< !@ !X;"]W;W)K3'CX?(4275@TX1#:SS3.BQEQI37/J^CE/,F>[) @7= M+*7*F:&M6OFZ4,B26BG/_# (SOR<<>%-1O797$U&LC09%SA7H,L\9VHSPTQ6 M8Z_O;0_N^2HU]L"?C JVP@6:'\5H]!<"E"X''O3_N5L:.5K@9\< M*]U9@_4DDO+!;KXD8R^PA###V%@$1K]'O,8LLT!$XU^#Z;4FK6)WO47_5/M. MOD1,X[7,?O'$I&/OPH,$EZS,S+VL/F/CSZG%BV6FZR]43G80>A"7VLB\428& M.1?NS]9-'#H*%\$>A;!1"&O>SE#-\H89-ADI68&RTH1F%[6KM3:1X\(F96$4 MW7+2,Y,%7PF^Y#$3!J9Q+$MAN%C!7&8\YJA'OB$C5M2/&\"9 PSW )[!K10F MU?!1))@\U_>)7,LPW#*7PPYON!O/OII+7; 8QQX]"XWJ$;W)\5'_++@ZP';8LAT>0G]+?MX% M"-]3A&N9%TQLCH\NPO[YE0;=T6%/.L56ARF$A.LXDQH3X *XT3 5HF09W&,A ME0%Z@/8503_X\ VHEX A.QMD"M#6"=Q@C'F$"@8NTV'O34P2GH"0!N*4B161 M*I6]MK8T7T/N*M-9I+K:0%-6/;C#BK;31!:&[CJ!61@F$J:2+IW6#+/R8$\$ M]9\.(=UHZ5=3( EFH$*%SYPTLE9M#/T?E,SW[I" MM DR98\($:(@VL0ZX;8E4G:Z,7R.0RER0=0VH?OE7NT?TQ!;+Q1=-%XIY\P! M<-2QXI$K*K.C'MY99";VM)UL4]?0G\3=6+QE:L6%A@R7I!KTSD\]4&[4N(V11=W>(VEH6-3+E*8S M*BM ]TLIS79C#;3S?O(?4$L#!!0 ( -J#^%;/6#HI<08 X1 8 M>&PO=V]R:W-H965T&ULK5C;;N,V$/T5PBV*!%!MW2Q;V21 M-NVB+;K 8M-M'XH^T-+8$E82M205Q_WZ'I*RHL27;H&^R!3)N9TY,Q1]O17R MLRJ(-'NJJT;=3 JMVZO93&4%U5Q-14L-5M9"UESC56YFJI7$%-A.SV^N6;^B! M]*?V@\3;;-"2ES4UJA0-D[2^F=P%5V]CL]]N^+VDK1J-F8ED)<1G\_)S?C/Q MC4-44::-!HZ?1[JGJC**X,:77N=D,&D$Q^.]]GOB9K*< ML)S6O*OT1[']B?IXYD9?)BIEGVSK]L[]"4OY6=P=_ YW/O\-CRK\)>NFC(_\%CHA]$9?=& 063U16;=26H(Y?QT+VVF-CVLUU72E6I[1S03EHD@^TN3VNV^"Q']SQN=X\#D^ MI_U$WOY;VLY:..[_?S7+?BN(W8NZYC:HN@S)A%)1UR2SDE>L MY2U)#S.R%9)K0M6N]$C&8W77E%G98N](D['X:?HP91OQ2+)!)QH+35^$E@FT MJ9PDI*JJ#[*VT&Q+7CI&>>2J))LB.'@8]NL0T&J;;/NJ(16-B2<2IN2$,!'@M.C,+17AI6RF>0!HH6?-2,LAT9%MTSM#O MOW3"B/4D KTR.HF?,2,),.3.D"X("I^UGA0\&RI(S';$I56?55RI2HM]]LPR# MQ1OU@IP%?P1B!.:-W4-V>989J/%F5,/AP=;WF/A>(3U3]F!*;:SN-8RCM!BE M70-TJO)O+!:BRLMFPS;X;'!\JH120R; 1NV X@B[Y9:;H'8+2$V(:^-@5W>5 M989 NJ1=EE28[P4$9=293H(E$$ADGXU%@-K#8$FF=W!)EQ7;NS5E'_<.'C@& M1IFH;0$?38K'2KC5[#P;0TZ@ L*'G"*/-:0M,V!L:QZ-& X#-NDWWCO M>I994.73OG>1.= 9CN,=ZT]CN\-.A'8"3[C5DOWVJG:NPKV#OF;%CE/=EH,] M,6SG-%RO\"5IR'-A\RLZ!6EU>34X\@-E5*\04&:GFM\0>RE0=S^'2B0P_B0>RSWX2&T]FIB-%[$>""+5+/7T3'.]K5N?A2 M 3!P$^\Q?QK(HQ]+_(3%D9>$H5'@$V!%Y:7 "P\$V/LS>.$ ?YDR=X?.Y & M$/P]",?)!.^]- Y8D(1>$H?(>9C$7A NS2@.O$4PMSTSXU+N#,7V)T[/O=>] M]-AWRNA8.CA&6(Y6B%)U"XTY-U"0>>>*U957@=XW.E)<$XIK1AU4S)V-[$4!WPV6[HVE3\\]^U?7$=X9N[];NV>H\BT+ I.V M *.+>!Y?]C,^^'? @SD*##FXB,-+,PZ6R==P*_(6?@2A.+HT+V'BGZ<02O@B MA"..34AXL/1\2X*+-(DN[M$@=.J&WB/U# M=,#5, G9Q2*X-.,@#;ZFMT3>Q,W[1WUY:ZKP^QPV;]S=]SG M[>Z? C2NC3FF*EI#U)\NYA,FW>W;O6C1VAOO2FC&ULE5?;CMLV$/T50BF"!%!L2;ZL]V9@=].@+;IH MD%L?BC[0TMAB0Y%:DEK'^?K.D)*LS7J=Y,&61,X/9C.VM0%>>*=*CK,DF8\K+E2TO/!C M;\WR0C=."@5O#;--57&SNP:IMY=1&G4#[\2F=#0P7E[4? /OP7VLWQI\&O'*RV@1L0+6O)'NG=[^!FT\ M,\++M;3^GVV#[60:L;RQ3E>M,S*HA I7_J758>"P2)YPR%J'S/,."WF6K[GC MRPNCM\R0-:+1C0_5>R,YH6A3WCN#LP+]W/(-%X9]XK(!=@O<-@90<6AB2"N;,UCR'RP@KPH*Y MAVCY_%DZ3\Z/$)[VA*?'T']F:XX"':;Y!#K[4 *[T57-U8Y58<(R@1,YMR6# MNT;<<^DMN2HP$\UG<'PE@5G(&R.<0'/NV)K@[ST\U1[6+\X:H3940\*.V)N] M@2 L!E^$8[41.<1H[8DJ1PX.&?%*-\KA+4)O=2,+M@+"!"SI@CF-JTM)*-Q: M[&3:L)H+/X%[J^P:#'*0@J^$%&['A");;0HP.@2*W!; -4&ABC&B5R@ M&MCZV)7%YI67\3 Z(M]:OZ+V4'2JD9R!L"T[Q@4X,%C%:!5LM6?<5#4M;H/Y M@:7;F!L+1)U$(F&&X?:QC1[L8.-P\"M8+^):2^S!05(#\ KWJHNBQ%MN\G(7 MLVTI\I+6T+2;G:]0=8,\&B*-%$*,!+67XHS]"?<@6/UMD:7K._EI1LOGL M:/U]@-AWJ2FSNT8[A/-[;MF+1O'B/^QX4+Q$JH:)@A(@YS)$:8=A4I:)KJ>W MBN$&!0+9$0(:@S%$0WVSO%"Y;(H071<'L;"B$I(C&X5MH@DU\FCE^!NPA_2? M1FG=@RS< %/:M=!QJ"]=@'Q5&!Q07F4>$@5]PSYQ3'LK-DJL<2E,N#9,\AT. MAUWV.,;ZE?10FB>$G/1"?E3Z\5YJGQD]*\QNX\MQ;72USXLPYR OE;AK8,!= M*R!M*HUT#L3@93L60C,@%=)^4)=]1J-$5F/.8>*D=^F>49(*C->@YC72[PQFLSA=S+O+M\AX %7Y;KA MYS>=Q-D\Z2XWVM3:<$>]?.4.VL>SZ;S]QSA27&^6T5V2Q:>G=)>EBSB=3EO- M7N-;K%HAT4D0+OL9X6:SA[+1\U'1LOADF@Q$"\]/BC;/XO0T[2X_+EHVB>>3 MK+M\7[1)/$D6[?]MH_Q[3QXR3)/$_TA9W)%3"G]Q&F>3E(1%B6?9G!TZ?(T' M9V2,=>._!/!40^>*<%SN1_N/C:MPQMZ;AR^56VXVV,B9A#6Z)J.36<1,./V' M!Z=K?^)>:8?G=W];X@<3&#+ ^;7&ET7[0 OTGV#+_P%02P,$% @ VH/X M5EC2II?J!@ ^0\ !D !X;"]W;W)K&ULK5=K M;^.X%?TKA#=8S <6V_)DP>09#K8*;K8($G;#T4_T!)ML2.)6I**D_[ZGDO) MCK/C!#N8?I%$D??P/LZ]ESS;:O/5UE(Z]M@VG3V?U<[U'Q<+6]:R%7:N>]EA M9JU-*QR&9K.PO9&B\D)MLXB"(%NT0G6SBS/_[\9;J2 MC=Z>S\+9[L>MVM2.?BPNSGJQD7?2_;V_,1@M]BB5:F5GE>Z8D>OSV67X\2JA M]7[!/Y32V;AH"@QN\3YFR_)0D> M?N_0/WO;8-;/$Y^.! H@E<$HDD@\GJ/&WDM/PDG+LZ,WC)#JX%&']Y4 M+PWE5$=!N7,&LPIR[N)*-*(K);OS#/@DG5"-/5LX0-."13G!7(TPT2LP&?M5 M=ZZV["]=):N7\@NHM-AF;,@Y"P*HO@-O'AO9^SQXC]EYZUL MA),5^Z1LV6@[&&G9ORY7UAFPY-_'S!_1D^/HE#D?;2]*>3Y#:EAI'N3LXN>? MPBPX?4/W9*][\A;ZGX_1FS#'E3R*S2[+4@^=LTB[4JH'L6HD9QT6E!KI:,EU M>LU<+=E:-\AKU6W8.]7ACQZLZ"K[_B-#!)\8 O@)$.U*&A9C< 28G;!ESN,H MI(^$1T'(+@G3JX6JPRH]K-QZ:)#!D_"[. G?X[G,WY-0QI=%0!\Q+X*$?>D> M9.>T>?IA;6_%%KGFI%$"3CEA.4^2'.\L"=AGU2FD7<4V6E>6A4G*EY@,DX*G M$6D3IC&/EPE])4L.*K ;(WNA*B8?45(M*(>]F89>!IEN#)1FPEH) W]4\;NA M[QN%025[;94CY=,0ZI"3XR4/LN0[M(EC+QG%/(O(_"+A>1&1'R*>8>+&H$<8 M]^01Y.^#ZE&UW?^',/?2NF=,[ G_)@%ID20\##)VK=M^0(@.%H6826(6DMH9 MN]-KMQ5&LC#TXS#@<;%D?Y.HY;5N*J;:WN@'2:*((U]&*9YYC! /IE,.Q<$; MME:/SA>*D$<98#@"S.ZU$PW+ WX2/G11A[&=V1>]4^OVH)]ZV>T-%'NEGR<5(DY..H(,+K MM;34O^$DVH<41[LD1=<2AL#\,$1:Q8CHM6]VT%!4#Y3[EB'WC5Q!,8LE15&P ME&?P^:W$_H-DMJ:H]N)IC%S.TR+%,PH#8(T$[LG9L!%N @6,Z":2&NF@FG) MS(N,93S._^?3+ ML'5,]HS9EO(H3ZF\!3S)J;RQ7X4I:W3&L. CJ9"\< (Z+X+S'&JTSH![?E#P M1/?$L*4T?I73D&1B8Z0G/DX=KF:"0:D*;L=L!04;W>-?B=S&Z8[972+UD\6' MS)%=34$;0]$/Q@YP-N%L:P5=#Y50B.RJ41LOAQ6M^"J!XX/ZX0]!'6"4\=+8 M=&-$RT&VU7]PI"-)L8'^A$/)*:O70!#]DS"=%S@_-0WH,&?W]<$TK:6#';() M'OD#B"%TX>GME9UFV=KHUNLU^4E6'P[=0C.E!@DMDJ8BY@"M\MZSH@&WT ML*GWH8R2.?LR)C-.>:H=VM>LH4&GL4U9*ZSP"4ABLIO*@0#OT;)T!7(PA^+Q M8>AWXHASTR#-637(.;OTOMF5"#IIC739U9HG#J:4S> -$%,A4IY#%O5]"]Z= MY/-LYU<^!1L!'L5&/A+%H^#T2"'S,^$I\S5+^O[N*4+;7<-OU)>%-@7K3[[1=^GV%$A9/D .)9:DSU1G>; M#U"D/92>[\2OD5,;:7?^F1+(EXS\U.Y-.5[:]M:SK:069J\0Y#O _4G_+H0/$XR/P[2Y-OQL>.]XN#ZQ@:VL9?.JEKX_ ZWLSV?_?W MVLOQ.O>\?+P4HSS F19]9PW18)[C&FG&B^8X<+KWE[N5=NB>_K/&W5P:6H#Y MM=9N-Z -]K?]B_\!4$L#!!0 ( -J#^%;),&N92@@ 'L5 9 >&PO M=V]R:W-H965TCW/OZS63BDER5THU-K2H\R8PMI<=/NYZXVBJ9\J:RF,33 MZ?FDE+H:W5[SO0=[>VT:7^A*/5CAFK*4=OM>%69S,YJ-NAN?]3KW=&-R>UW+ MM?JB_._U@\6O26\EU:6JG#:5L"J[&;V;O7F_H/6\X!]:;=S@6I G*V.^T8]/ MZ#7"ZHJ!\\19/-?;YVSM3 MEMJ#9>^$K%)Q9RJOJ[6J$JW<]<3C"%HX25IS[X.Y^!ESY^(>!G(G?JY2E>[O MGP!:CR_N\+V/7S3X2U.,Q706B7@:SU^P-^_]G;.]^?_BK_B@75(8UU@E_O5N MY;Q%TOS[% OAD,7I0ZB0WKA:)NIFA$IQRCZJT>V//\S.IV]?<&'1N[!XR?KW MA^S_,"=^54AY,5SS->??M:RVHJ"G3I@LTXD2[+)H$'DK*E/]E,@J485<%4I M1*PDL^V6L;A3UD,SL%?XG<4??[B,9Q=OW=$&D0 6K;>J4AM98 %5=8",>Q[U MC<-X$XH]*63#QWQL/$43E:/+IA2UW 8O DHZ^4^0TL%..Z_2#FIF"D@9K9#D MND"*;D6;H>(5(/K<- ZXW.LWXD%9;=(.QGT+([#ZT('YK$@^"1#,L9DS$4?Q M/*8?"[&(SL\OZ7*)R\7%E"[/<>+BBB\OF ,@@RAG'D9FT06>?#4>-&7[_K-/ M.Q9F,+V< HYS0I=U0U[J"C:4\^+5+(J7L]? ,IM'\ZLK\>[(W8@).:!,%%JN M=*']]B7N#HEZER2VP<)N,R7?3U! R\&MC>6XPLQ1@,[$/+J\6HK?#A]<1F"E99L[LO56KJU21"?< MD5ZHIUI;,EV)#RI1Y0I+*71C/O_E<.R2LC6-I6?GXQG6%P7W, 2:;NHJ*9J4 M@\7+/:>N7)E'%<[9<#?" OD(4M9*I% VTP D**(PV+]6=2?1!F:B:)FA1AO)Q'+^C6/%9\7C>G]5%^44F&='0+=ZF9)(/D(F:96PL'AJ; MY"]TA#Z37%/7A49)16VRL@< 02T5 TS59+A +:#H7M&N>/KV[M[QU>SM:T9E MK%[K"@RGRNEU]F3Z M2-K/DUTJ&BPY61BK1A(9=\JL^]$W65)&P=*9=;: M/2^&'&9-D2%K>1&G*H!ED!$,MFGGX2!P%C1"93G]]A& A 8GRD$3VN2J.N80 MN0C%\OL^#HX *'D,@3LM>'+'1/5KU\:D;F=I+#Z%XQ7=X-601.1UU]!H/M1$ M&],D#Q*I1F?"2=&>K(#\4>Q#K M'1%=U .#"!GQ1XJ^P:L4_2= >-US'C#(2AMTG.X:26W1M"2'XF]0T*#S43N> MW]AIUT!N>N/C$Y,&^]@WU/FLE^ ]5M"&:MA^TGA=@YQ"#I?S\=6^^,X7T_'Y M:?F->+X8N-(SF SDCE2EHX>F%*I&-%A5P(8-%4MI?%(!ARD8=1+O-Z9K@U\/ M@IQ94[*,,(OX'X+MFM5_ )IN[O0-D'DD)I]TN0+] -,][M$$43R1\)VOKBL8 MO9<% +-2BN?OE-U43PF-C=2)5LX4R@,;MXXG6=:81M*&0>]G<]!"J+I2_!LG MXE6C2QG$ B_3=)_];F4_K(%;^Z9XHJ%7E::OI%X*CT/ ,:,6&ORSZJB>0HC# M!-QY7:!F"Q<&.XQYTB.GR.^@"!0"7*6HGRH-L?A0L5P'W\,8FZ?17] .0YYN<@TCAU.B/#%>M[* 1X$&,K^2!?=#_J) UHBJ ML]D,D]I>%7@D^N5:3 "'RUZP T,8ZUTY**-BQI MW%"0]31W\6LK6-8I;_SB\2]4*_;0$5;E]"4)H\RG"NYB3/X5)*Q#ZGP\KK)A M=H1",,5CH/)18A9J'))C':2,\@'<4=.&J'79&]XM;8DUF+QMF U7#19P7A ) M'(:#_A5Z T(E=X#0C_C%9?]0SDTH3(8T#'V%9O$42N1( %OM;:V3$E%Z M84XG<@9C/_2?Q!"G[TZFD39I$Q-OIX";-CPQA%KBU%FC*M8TT.28_[EW 80& MPA:"4%E&0O7L6!7HB ;3;! !%A:T5"2C9@9;=>/NRQDGD>DHJ_&I+RJ3P0>Q M4B&'Z+,?E3C>@,*WL?YN_V7Q7?B@MEL>/DO>(P5U1='.L'4ZOEB.A V?^L(/ M;VK^O+8RWIN2+^F54EE:@.>9,;[[00?TWUMO_PM02P,$% @ VH/X5EH! MIJY8# J28 !D !X;"]W;W)K&ULS5I;<^.V M%?XK&#=)=V=HF9)U\UX\X]ULTNU,,NXZ:1\Z?8!(2$*6)!2 M-;]]?W. 4!2 MLFS+F:3MBT2"P+G?R3=;8S^[M5*U^%(6E7M[LJ[KS:NS,Y>M52G=P&Q4A2=+ M8TM9X]:NSMS&*IGSH;(X&Z7I]*R4NCJY?,-KU_;RC6GJ0E?JV@K7E*6T=^]4 M8;9O3X8G<>&37JUK6CB[?+.1*W6CZI\WUQ9W9RV47)>JI$20*E16$P2)OUOU7A4% 0(9OP:8)RU* M.MB_CM"_8][!RT(Z]=X4_]!YO7Y[,C\1N5K*IJ@_F>U?5.!G0O R4SC^%5N_ M=P2,6>-J4X;#N"]UY?_EER"'WH%Y^L"!43@P8KH](J;R6UG+RS?6;(6EW8!& M%\PJGP9QNB*EW-063S7.U94W?QI. MT]>/$#AN"1P_!OUH/1P/Y9L_S4?#V>L "X(<7L3KCU6F*O(&<;65-A?7A:S$ MAW)3F#NEG)!5+C)3.1BVK&HGS%+4:R7>FW(CJ[M$:*RY9N%TKJ75X8!<+G6A M9:U<(J036_@9_9>J7("8/1B!-B?>&<*/A]]J"S\UEDY;)52A5WI1*%$;N'ZF MB%9)M#K1P,0L WN2I1>$9Y2^;C?3*J\-7[\2Z6M%50+JSA>51F>K71A9ZJ56^#\'?R@WL*(/(.+Y1 M], C6%9M=5;'0_=7( !-.PUHM!&R%9ETZU.*3WD4%%&1:^()%PIBNI6%(GU" MIJU\=<5;0*D;B*OZH)+(!P&MPB;H4]7$>A1+,+:$#_97F#US2^14)"AD#$?H M>&/5D%4PD#74S>:1F;*$(#Q#VKE&$GU[VF9-+>[$<#!!-"P*$IT' >H9#"(' M'OO P53!FK;T,QG,]HX(>2MUP6A(YXP3&CV$V\W$'D[D#>A.20NS_5B)[]3"-H30RQC4 M<[4%5,&C?[O4A\\T*(#(E*U1S<4P0(BRAJ*<.Z"3 RJ8P#EG>RJ@ZHO"QSW' MAPPJH(7(D'%(RB3;9L/UVEJK6R]L[ _Q)S-V8RQA7NH*$M(D3FE7JO:!F^H_ M0&EC\.GW5U?7HD)UBSH6YT+8-J47&H>V%RBBN$J\5<6=CV0A/ M*N80D7>.8RIU2BKMJX^NMGNL+#HB@Y([*/,E2< MP4Z2PODTQ,$=-="FUB%:R7K;;4R#P@B%(7D"NTI/"^3TIEFM T=NXPVN#2XD M 8H&GKO'+=<;/$N)-KI@()"HU)SL:#F2\Q3+SW>E0!'%.+6- 5M\A9( MXHN@C[38>!Y[ETI3'('\ETU1,$-8H5(E4 =7;^F2ON! 7Z/+IN2XZ*A^(#+W MJ,6^JJ]X8C*02V F:6L9,93YC4D(6FT10G($6U2Y40[I0E$+;0%S.$R7"U%V MV+/]770<55CXGO"!^-#=D-Y15 N?(*HVH9$[$P-1ZE#R0E<6SBGG_-E%Q(V<)>^5:\(#HN/Y+VA]Z4P;(/-0I-U3.4HQ1[,1FD+6<]_]CK]3B (P8BRI>\)<3(AF.3=@PSJUO_Z)'A M*\?[//JB@J".4-V%,C*V[X)G .*ZL=F:.B[J7AQ[?4Q$E$RIP$,TV:(3C.<\ MW9MX;L/G3ED)5Z77+#GA)W#"?#R&4+SH%5$?;JZOVX(IAKB#(-%NS<2/_<;Y M:"0__DWT\?@X1RL"2=YL7=?QJG;. 8&W[':F>:ARVC'7F,@W\LZB<$1XSIO, MVR2.AP31Y@=M.]0[MK17VU'%_1&)Q%*#\ G9L6J(CER)0J.LXS,AQ)OE4MF0 MQF (_9&(YQCN1*J%9YZR9]X_L;2F%%?-"E$6M HN53Q7;2\R' O.FWEO:6=G M/,[[R,0IT9$UQB03''!'>%'@^3[1\(1YEU2A,M\F<&,F(<12VL]PI5M9-&V! MNP,Y5)F'FS0.)30/"74FT_J@?)Z<)8SO][)/SA*(R^<%SN$^#L;]D 1_K[C6 M#]B[:;]5U),AJZO88SG+K M;>K(PAI'$U*"WNME P<:02>GZ3=\;VG(E-N".DJ40L^NR;<3YZXK/1RHVP \ M[\??'R#1&2TD?+GS+,3F\#C<[>SX$:[*PIW%,-^N[.QK<<_VPWSLK%H+]_/+ M_<$L>W;&881JL,["8JC]?QXZ1U7QR'E_DK;;<#T)GH(*S A:EDV]-K;M20XD MBX@7#CI[_JC[?#!_=GH*&)^7H<9/9"@R*U_8_U[9:9CV^JF]]-03VC,RU+WR M^E#*FL>4Q77HZ3LF9>L)6:QD%F[N4KP*.&L/]: M5=Q '3L+49C\/TKNW;\WCIL/&\K)K\1LGN)W.J'?83*9^__1="IN9!'>Y/E* MB[B8).GD'(#FX[FX2,;S,5;.T0BB8($KL)T.&,TV& MHUGH*3ZI-B1=6[.RLJ21O!=A.AHEQXY2>TXMNV&P=WVK>HG5X^A&]K#IKI$\ M(L$-Q,^MU]X'G/367"PD2HD^@E,)NE!^J=SB:+::A5G0> BIZD95PNE MO OO.Q6-(:M8AK<8$BH';GWBJ]3*U-I[I$7W*&.Y9?W+RBWZ\H32 45DF67& MYAR$VN+&-D67XV\^O/?O5WAXB,!>Z(R]JE KF)*E-YJ6R_P0B&FD2A-RX@U\ M):%0XG".K6]^Q^5M7Q_KAL';E1M.@+V1*CJ?D'VIUYUD[8#^Y 0>5@7\O4)92 M6[,S;$;)D[& J*A#=:&SIJ#1>VD:/SKL6U0W[SV B$Q@0;',;7P2@#IS[<+( M.Q2.A)(L2AY.YK3?*E]%P[FH7&F3UE&^%:8%#Y#('PF4<6K;^EYL^![,E[TL MT/=>+R-RT'WO[5IMY)B(G:9Z7UVDW33HZ %B7V-=TCSB'3#11JFPBQNL!-%. MB&Q(8!Z 'XR.!Y/SP:%/59(]3MD' #/$P &0 'AL+W=OO1UMKZW61BTJTHN1FK6E1XDRM=I-DN#PN=/^@_,=OJRY$7>J^)?,[/9ZM!RQ3.2\ M*>R#VO]5M/[,2%^J"N/^LKT_FRQ&+&V,564K# 2EK/S__*F-PT!@&;X@$+<" MLQCE8GL5'X"B#W. MN,/Y/GY5X=^;8LS"*&!Q&$]?T3?M_9XZ?=/?X_>IV^S?MVOC]O]S+@!>?W)> M/]72.U/S5%R/4"Q&Z)T8W;SY)IJ'EZ^@3WKTR6O:__];>U7M>="_R1;[YU;@ M95GSZH"BV*'8:Q,@4?6CP&%>90R56.")K;7BV9IVZH);HA7WNN052(".Z9U, M!81IUVZ%%HSC7Z7P:@,ZL.U1&-UOE7NW%46&^DY54UF^+H!5:0;>TIPJ'ZK: MYVH#'C&H5X\(]BOCSA:$V# \I?!!5;!BV)H8BQ#TCC65M/[LF-W"G,Z@LC@$ M)X+2L'0K13Z0R40J M'266_!%)"G/VC-2=D_KX)-*&:(_]E.>(J@Y M=_65Q5T0:W::WX*7!!&@1#PI9G6C:V4$HI8S7A0J[0.L&HT+=*Z*'2\:_^)H M#*XX:U7:NIPKR._ID ^>;Q"D6+?)ETG#-QLM-IQPK0]L(]1&\WHKD==B0[") MFS/6X/9<0#P@+*"%UFF?JM]).J$: X#F^W= H(4XX2OV63Z=;H!^#JQE'[^( MW2)^Y,6B,%B&2^@. MEO,YBU;!?+%BGV26(0\_;!:A4<^ MO34&NOP9:K="E\:G:5HH MJFMD6N%DNE6.0 MO97"U=:@.)E:%W+C.?08J-:)OYAC28V/5_RCY'!)V@/[('*A-31V%^IB,U^, MXRXX 9:K\;R/%1'&Q6PYW'D6X8#=(C&*/N D\T&DHEPC/E._BP($"U&(P7S% MP8<+M(FAU0@F?2"RK^%U 21N/MS_9-QC=/D]#2>^TQ_IM,?CD&^!O%*6'[L($NX L;1"G+IJ21L)26 MQ"07^-TU-PZ\C@F,+]#$0+C

8GXPT5:M=],5.XGV.#EUU72D* MQ\EI&P)I#_K4:3OYX:1#N&^;UTC.8^HN-#_UW)L?STZMQ^/5>>.!^T#AVA?^ M17@\U\(>-,_\-\*,7VR:VC=M?'I)&)7:?<%@"")"\SGB6IH?T5*7:\?\RAP M(2DQ>_Y"9J:"DK,;S?N/[0=I'MD_5#]4=-]SK1[$3/BDB,)^6/J:]+M".O4< MB]>;$(5F&(DQ._>)/AG\R )\&_=3$I4-0/K?6_K=_M>J6_\CS?&X_ZGK$]?@ M=X-/R1RBX7@Q&_DIMEM85;N?;-;*(ACN<2LXRIP.X'VNE.T69*#_#>_F5U!+ M P04 " #:@_A6XDRX%^ % X#@ &0 'AL+W=OD6'8*Y$4KDG//-S/D^=:Z&[\A"N*NU,9?##8A5&>CD<\V M5$H_M!49G!36E3)@Z=8C7SF2>60J]2@=C^>C4BHSN#R/>Q_=Y;FM@U:&/CKA MZ[*4;G=%VFXO!I-!M_%)K3>!-T:7YY53L:L;TD> /15N_]U^P)RMK;WCQ/K\8C-D@TI0%EB#QN:77I#4+@AG_M#(' MO4IFW/_?27\7?84.BL!I5I\Q:!+G2)*+%)GBA&LH0*:7)10 U%07%(N%] MX63 &7DI!:9=96- MZGJ]MA#IY!E C5 X!7EYC5,;F=L4)%$:DJ+K.$; TF8HJLK(!0PN]@#M&\=P M7?*T^+XHF-%8\P*^U/">:PFM.;MYP1,AAW$EIJ2/K#$<=$=9':-DBT)!C><_ M'D-VM1-?AM?#WB^N2.FR370+FR$$EV2;,-389V"&HXX\M#DR&0>5!;>Q GS0 M5;W(I',[N+Z5CMM!)BL5I%;_0G/O(KN5TRUN A7F>H#UOG5VS_GCL),KI578 M<7IQ]V"YL/.^;T)YT40&B8B1_,:W1A0C;GS-.5%L05$''@C@C_VQQ<96A4WL M;E!251H-CP_W/6QKI %[O?K*$($*#OP>AU8E@A#Q-!0?I$%7C'ZO2"N$H4V$ MBE:7W-VTNB$D =L&< O->=C+ZE9I+0"L-@ >H%7P14(H\A0ZB,/Q(WD_! C? MV!C\()'B5NJZ0:_DB2&1YI\O:UCR-%T.E[BW:!U-,WW%'=1 E!V+]D&T[@>A M#Y]$R#A,QV-G0=B!)1=.Z0K( A %VQE>5=TVY1:&&FV&X42NR!U#? B?'(F)K-8&'QV/M.GJ%V:G3= M3Y:V-DTGP.H(2H:8L$V?O&5DQUSA8E4WG0U=Q+>=H^_MGOKI!7^@2Q4'V/K-P.&Q*^-H[S9? MDEO'-XMGPTQH+O;];O\L>M6\!KZ1-V^J#]*M%8:9I@*LX^'IR4"XYIW2+(*M MXMM@90->&O'O!D\[&PO=V]R:W-H965TM LRS)EE]F&XB3%.N !D:SK1^&?:"ELT5$(E62BM-_OR,IJW;G&-WV M1:0^?>W@G:G&0ZDF7B 9>ZDKH95 :T\RC2.!#WQ? M&CL0K18-V^,CFM^;C2(OZE$*7J/07 I0N%L&-_%\/;+KW8(_.![TR3O83+92 M/EGG7;$,AI805I@;B\#(/.,M5I4%(AJ?.LR@W](&GKX?T=^ZW"F7+=-X*ZN/ MO##E,I@&4.".M97Y( ^_8)?/V.+ELM+N"0>_-AT&D+?:R+H+)@8U%]ZRETZ' MDX#I:P%)%Y XWGXCQ_*.&;9:*'D 95<3FGUQJ;IH(L>%/91'HVB64YQ9/="Y MOQ.YK!$VJ.!6UC5I]5@RA8O(T 9V691W8&L/EKP"EL%[*4RIX5X46)S'1T2L M9Y<;/51E%Q M_'4I7P\WN@QG&V:N&Y;C,J".T*B>,5A]_UV<#7^^0G;4DQU=0_^W1_.?P>"W M$F$G*^I/T@8,VU8(&HVF065*,#1-@4UKF&LDN;-]P'-@HH""5ZW! @3AR:P/9[EJ8$^>MI0*E;&5A,I(SOEL)/L*YE\ MEED6)K1E-@JG:6:]>#RQ7I8E<+_;T??+:NZ4IB]8OZ>1^1/@IY8_LPH%'5<: MIM/,/M.4GN-D0L\L2?\/ZU>.M^,]"S/+=!K&V)9=A2LI&+:(H@>&G9+UI9;ZED8ZE&C[ M!;D"]'7!-76AX<=]![:7-9Z-';DM-'39 MN=>2_BY0V04TOY,D<.?8#?K_E=7?4$L#!!0 ( -J#^%:@!HQ??@( +8' M 9 >&PO=V]R:W-H965T@91"I$*IM4B=4UNVSFQS$JF-GM@/MOY_MA S:@*JN7Q+[?,_S^,ZGN_&6 MBWN9 RCT4% F)TZN5#ER79GF4 XR4P?;+BHL!*;\7:E:4 G%E00=W \P9N M@0ESXK&U+40\YI6BA,%"(%D5!1:/4Z!\.W%\9V>X(>M<&8,;CTN\AB6HVW(A M],YM63)2 ).$,R1@-7$N_=$\,O[6X1>!K=Q;(Q/)'>?W9O,MFSB>N1!02)5A MP/JW@1E0:HCT-?XTG$XK:8#[ZQW[E8U=QW*')/J&+^54VB_:UK[]OH/22BI>-&!]@X*P^H\?FCSL ?QC@* !!$\!T1% MV #"ERI$#2!ZJ4*_ =C0W3IVF[@$*QR/!=\B8;PUFUG8[%NTSA=AIDZ62NA3 MHG$J7N!'M)%H <+6'$L!)42FE,M* /J,;I<)^G#V$9TAPM#/G%<2LTR.7:6U M#8.;-CK36B$';<9_82>&#A05^I@JZ'KNFB[KI3&\;R1*G M,'%T\Y(@-N#$[]_Y ^]+5Z;?DBQY2[+Y&Y$=O$G4ODETBCW^H8<$82DO.A^@ MQ@XLULR"37P1#G4E;?83^]QIV _\0Z?DN9-_?C%\XC7O\.H/(J_UJD-T]QI1 M 6)M)X!$*:^8JJNQM;9#YM+VUB?VJ3^:^1WV1 ^E>H;\HZ\GVC46:\(DHK#2 M4EYOJ/NDJ*=$O5&\M&WPCBO=5.TRUX,5A''0YRO.U6YC!-I1'?\%4$L#!!0 M ( -J#^%8\4X2X=P0 "<0 9 >&PO=V]R:W-H965T,[6[ M02&W4R_T7AL>^#HSML&?34JVQD/+Q:A+$% MU!%_P5I92/MN7VW3J!581"DR,I6#TL\$%"F&92,=?+:G7]6F!A\^O M[+_4YLG,DFE<2/&#IR:;>F,/4ERQ2I@'N?T56T-#RY=(H>N_L&UBXTL/DDH; MF;=@4I#SHOEE+VTB#@'C(X"H!40_ <;!$4#< NK,^8VRVM979MALHN06E(TF M-OM0YZ9&DQM>V&%\-(J^;&&N5*L6",-E-$3WU /-LY/ M6K:;ABTZPA;#G2Q,IN%;D6+:@U^X\2,'WB=GG;WHU=Y-Y"3\K1)G$(0#B((H M!ITQA7VV%O^5Y8VXN,M]7-/&1VC[%HQT3<$#>EY/ZDM^RM= ML@2G'M6U1K5!;_;Q0S@*KON,_T]D;_R?=_[/7>RS.V90<2;@"56N0:[Z9F%? M!IRT_S8#;HW?"[AC.VC'?@!W/,D8"OB!6)#2 =Q3%U1!A0%6I+#(.*[@VPLF ME5V>X/MJQ1,J+_)F,H2%S$M6[ ; 4ED:3('!0R40PF Y_!*":>VSO7WX9'$? M/XRC*+ANP^X%*^J6\/HST3(#7 ,O#-JB 2-!,\/U:E=WR4B!7>ZL&EK>: %& MJ^:@VT_)YU=]CZ1;<<.1*O"%C)((F"?&?@XOXW/2K8'E=3]G $]9I]Q* B9H M4]! >TM-EE I8UY*\H*RTH OJ!+>=$_N:1'7=L".#^ [IT5%TXTXU>W (#D^>LN\8=A,?-^S$ MG6HXVAN.W#/WP.#72C$[BWOMN6E&\26D;-=[I'9#3W6X/UN'SJ/K;+Y>*US3 ML,%\P[A@R_Y-IF49UBSVSKN9T0F$#B 3?_/&S;MQC4[_X"J6HUK7-U1-!P$Z M<#2WLJZUNP7/Z[N?OP]OKM!W3*TYG4D$K@@:G%U0YZJYE38O1I;UQ6XI#5T3 MZ\>,;O*H; !]7TEI7E]L!]W_!F9_ U!+ P04 " #:@_A6G%$8"P ' !O M$@ &0 'AL+W=O;*R[]@51$+>E-OYT4(10O1R/?590*?W(5F2PLK*NE $_W7KL*T! M7XS/3BJYI@6%C]6EPZ]Q)R57)1FOK!&.5J>#V?[+\V/>'S?\KFCC>\^"/5E: M>\T_WN2G@PD;1)JRP!(D_MW0G+1F03#CYE;_ MH?)0G Y>#$1.*UGK<&4W/U/CSQ'+RZSV\:_8-'LG Y'5/MBR.0P+2F72?WG; MX/ M!Z;-@6FT.RF*5KZ609Z=.+L1CG=#&C]$5^-I&*<,!V41'%85SH6SA5H; MM5*9-$',LLS6)BBS%I=6JTR1%T_;IVML>?3G0+?UGHD)OM#,9U,#W;(.^B^DIF=#I AGAR-S0X>_+#_O'DU0YK#SMK#W=)/SN7 M7GEA5^*299L@F=;;C/P78L1O!2%#,EM6TMPQ(+61=:X"Y2*S")_QZ?:^62 :R( MWWT<+49B05GM5."HLL*+VZR09DUB;LM2^5A6GC[YX<5T.GFUN)C'I_U7SP0J M'50%P95UJM4U*$;#ZYCVRCFQ[P#DQ57,3X%-W*/%_F3O@_"%K77. M-O"4TL3R4VW2&-"5C9VP/U3Y-6G/=+<;AWN'<$6FB( M@(X.BI5R$- R XO,%IL\7T@$)T=<,XT@8ENPXIUT8%*K%H51-I09]L$"Y5DO M"10H+UA$ Z97MZ),DT'"!WT=_J6VSG0W'8C;MT[[**;VT!6.1\+)'&!&J7"7 M_.9*^:#4WQ_LBGY;D'VO-K+_I;PF 2P4"-K4%.DQUE8I[U+96ZTP>":FE:D) M)KGWI/J.QIIT]/MS;#$ /PMU-#EE;!:IGRLH=VV%X=SKC!WM&$2.ND'D:.<$ M\9XV",(LM[$A]8:H19!,K#Q:>P5Z?C%4.FOPG#4NO4>A^!,5LQ&T;9+YKW;T ML@R@Y+$V2=X?ZX[!-T.OG?KFE&_KY3=Q-8@-:B?VW<_18$@O#4;?C40JQ[W. M9"RLSF/'XW[;GP >R &;TXCCVUEI^[YO]D\RH\HT?35>N>3,#N'D,Z>6_UOM M'-Z/%7W0<9)N*Z1<,G6Y,R0[DN"X2X+CG>2[HALR-7%P+?0\-HOO%O* GQ"H M;85)$E_'U]3D/+Y?-=?7I;,R7_*;2LO E2PNI[K$V]R-RG@,C3T[\B>-EEA: MQ[J5MKHX=,>U@G0W3LJE3@WZ?GP8?CU8B48_:ASOU6QQ8AU\0*7G\"_Y._]! M&ZB!3MH[BCG@N+WHNX>]0K&3GA>H5W];VQ^.>5$@/M+JC.>&[;TT*Q2M>F=R MRE2<^+EV.U:WC9KS>.KB%M,L7Q:(7U?@#[EAQ,S1#=\)/#+--P-LVVH;R7OX MFH\M6 %/QJRJ7<5]E%L59FB;=0#;VK4#*MU(7:>%WLQ++FI#HFWE[[AW"5"2 M6\>KCM@13$CW =W;[C9EEBX1[K>GJQCT]SA]:%KAZ&3T''78I>N-]"/8*EXI M+&T(MHR/!68M&PO=V]R:W-H965TCY5C2V+6EYK,$U5"?UT(4NUFP4L."S<%.N- M=0NC^70KUO)6VOOMM<;9Z.AE652R-H6J0R+)TCA/%C[S,XAG2&I^.#]Z\^=\QE(8R\ M5.6?Q=)N9L$X@*5[S\0!S51K_"[OV;,P#R!MC5;4W1@154;?_ MXN>>AQ.#,7W%@.\-N,?=!O(H/PLKYE.M=J#=:?3F!CY5;XW@BMI=RJW5N%N@ MG9U?"K,AX'[ARX^F>!2EK*T!42_A1AJKB]S*9;L_N!.+4IKA=&0QL#,?Y?L@ M%VT0_DJ0!*Y4;3<&OM1+N7QN/T+ 1]3\@/J"]SK\O2G/@#("G/*PQU]X9"'T M_L(>%GS.+XCXZWR!+&#M_-V5=NLUZO;J]#0Q6Y'+68"",5(_RF#^X1U+Z*<> MS-$1<]3G?7[;R@C4"O(#?#^0O^!W8>[UVHVY+9+_.O<1$<*#M*XPP,B\T84M MI(% MNQ*:M%OO(8I)-HYP$&:$C3.X5%4E=5Z($K9BBVYX3'A*(0P)RS*X/[L]@[5Z ME+K&%\6>8F41R5@$Z"^C+\[ANU3G3Z?'.FMTL)*?"86SV(>S%E$X4Y9!/WJ%4)&,<$4THS0-(2K+KXG??EE M2! :,IJ0-'Y+AA$E(4V AR0)>0>Q&?*%VV,DC/?D&)$X2@#I3\9PU=1%7FS1 M1Q<)]$!"=S$A>I)%#%C"21)QO'.>1(3QL1M%C*0LAAX]Q4<]Q;UZ^OP"$)72MO@'%9(K8_W-KT2A 6^]D4XUW5SL MI$9;L]>3>:&F<^-L#YIRKR.<'R-=NDCW-7Z[2S__0QF#/K^ZN-]]W)XR>@^, MN2ME.!I$<33:&\ M!QR!M)6&Q<#&A/H"&61)./0K*:HFV]/R[(E!;OC_RPUCF0O-2)AF+3N\.R$9IXE+&#,^:O,U=D(2,HR 1W%$7Q$@HPSA#KT MD2N*3E/:II!D/@6.W]@L99WR&ITT'9C?VK=6[NEO:MOV'\?58_=VWC8MOXZW MK1\^:NNB-E#*%9K2LQ1%I=MVJIU8M?4MS$)9;(C\<(,=J-3N .ZOE+*'B0MP M[&GG_P)02P,$% @ VH/X5@;I,DQG P &0@ !D !X;"]W;W)K&ULE5;;CMLV$/T50BF"!% MB;K8WK4-[*5!6W2!17:3 M/A1]H*611:Q$JB1EQW_?(76IDWJ=]L$DAYQS>&9$#KTZ2/6B*P!#OC2UT&NO M,J:]"@*=5] P/9,M"%PII6J805/M MTJ8(4#-75 PS +&L:%MUFYN4>U6" M*"C7WDUT=9M8?^?PF<-!GXR)C60KY8LU?BG67F@%00VYL0P,NSW<05U;(I3Q MU\#I35M:X.EX9/_@8L=8MDS#G:Q_YX6IUM["(P64K*O-1WGX&89X4LN7RUJ[ MEAQZWV3ND;S31C8#&!4T7/0]^S+DX02P"%\!T % G>Y^(Z?RGAFV62EY(,IZ M(YL=N% =&L5Q83_*DU&XRA%G-A\85^0SJSL@#\!TIT 3)@IRSW5>R]Y^]\RV M->CWJ\#@CA87Y /[;<].7V'/R(,4IM+D)U% \34^0*637#K*O:47"7_MZAD) M(Y_0D,87^.(I_-CQQ=\/_S3B/VZVVB@\,7^>B[FG3,Y3VEMTI5N6P]K#:Z)! M[<';O'T39>'U!<'))#BYQ-X+WEO!/F%:@]&DZ;];0=PUR3NEN-C9H\KU.?47 M^<^K?ZZ E++&"VR9C3L-Q.V-5<%4Q.#ZG6Q:)HYOWRQH-+_&%2Z8R#FK_R63 M&5).45C1[%O9[IZY>"RSJ13 CX:#.L55:#.55T?RCEL_V6D\M_K]%;G11)8$ M3\J1# >%_ 9[J$DT])0\2X/"\&S"$2^3>L'B5W:()C\@),Q2[%T@]'J:^31[ MFI&=W(,26),,AH^2.:K2)(H2/US,)\AH8TH:4"X'+6M1_NB0IGZTR,;N6V:L MA2(_GFXPXI+8IUDX=G=2M5(Q UB%MN:LOY\FV=!B'!'NEU(["JF_7-H1C19^ ME"1#SNXAAV:+0N,^,Y;U'+&,0I#][.9Q2^RM.$OECZ-(YM83'%*,W+N MR@/YH/3.VXT*2&$J'A;)YZ1/4/ M46\8V;KBOY4&GQ(WK/#M!F4=<+V4THR&W6#Z-[#Y&U!+ P04 " #:@_A6 M(0#3ILP% !H#P &0 'AL+W=OQCV0%NT350259**X_WZ'5*VDS:V MD"$O$BF1A]_E?!>>K93^9I9"6/)85XTY'RVM;4_'8S-;BIJ;$]6*!G_F2M?< M8JH78]-JP4N_J:[&81"DXYK+9C0Y\]]N].1,=;:2C;C1Q'1US?7Z4E1J=3YB MH^V'6[E86O=A/#EK^4+<"?M'>Z,Q&^]02EF+QDC5$"WFYZ,+=GI9N/5^P9]2 MK,RS,7&:3)7ZYB:?R_-1X 02E9A9A\#Q>A!7HJH<$,3XOL$<[8YT&Y^/M^B? MO.[09$ MDXUSRIW5^"NQSTXN><6;F2!WG@'7PG)9&7)TSZ>5,,=G8XLSW,KQ;(-WV>.% M!_!2\D4U=FG(+TTIRA_WCR';3L!P*^!E. CX6U>=D(!1$@9A-( 7[12./%[T M*H5O1<6M*,FU-+-*F4X+0_Z^F!JK09=_]JG?H\?[T5T(G9J6S\3Y"#%BA'X0 MH\F'=RP-/@[('N]DCX?0)W=]Y! U!YMGJFNL06#,A'QP[J*D$7:?R(.@^T6^ M. !/9@KQ:)S)((1="C)7%0);-@MR)!M\49WA36F.3PD\MR9PW#4@ZJG0),)D M#S!Y3XJ,1B%S@YB& 2,7#M.["6F'E*J;VGE7/2E]%,7L&,\B.W:;4EKD@1M$ M- ]B,F#I9&?IY+66ELV#:*S2ZWVF'439;]K/6[PWV_*6KY *K-"2(V;?DXS& M<89W&@?DDVPDLD))%DJ5AK XH05^LCBG2>ALQ9*(1D7L1G%!0= ALZ4[LZ6O M-1L4;KDLB7A$_3 (*VA"%+342&M:PP2$&R.LV6?6P5/VF_7FM>>]V>QW7=M6 M$I-2M,I(ZTR?,!C3$3@J:)#&Y/721)'?&48T#9WS\IAF>>B\&-(4/P:\DNV\ MDKW>*RCGVJZ]/.)[)UL46'LP;/E[8>P3)FP$-L>!LUH<4Q:D MY$K5;8> >+:(X4\<$>;,G)([-;682 ZG0C+0J$5VPN'ZTO%HR&*6 HPHG<*\LKDF6411G) IIEL-GY#<[W_D6L?1D/;VIW5/1B'D?AF%* M [@3@XSF+/)[5.-HL,OB9"G@YND:;6@?QL9Q(/YP2="R@"-S&&9!N!>5>^0X.$O'QP]YR2A*;AQ*W!^ M)XA9.O:U?-TS+*-)GN 9L@!8?6)H'2F@(\P$JFK>;())"PO1I 5BEJ)>'+/R(ORS-R%>?UE(<'3E]^BR6 MT#!+7$D.:)P-$K?8$;<8).Y6Y">;N(;^(&L'P?:S]FK)FP4,Y=DH/'EXL_;* M9A_-+ESV.V5+]359"9^*RD.]8@@I=! @W95"'CY(SUG%90VU"]^C)6F")_:Z7@UOQO!^)KYHRI\$CX+4 MO],D?C'?QZ/QL]L/0G'A[W@NWZ!5["]"NZ^[:^1%?WMZ6M[?0;]P#6,:1,P< M6X.3#/V=[N]U_<2JUM^EILHB[OUPB:NPT&X!_L^5LMN).V!WN9[\!U!+ P04 M " #:@_A66Q"7'RX# "Q!P &0 'AL+W=O.ME(WF Q46U<'A /;G+26CAVL!W* M_CW'3AK&UN6!E\27<[[SG:MG.Z5_F"VBA=^5D&8>;*VMSZ/(Y%NLF#E1-4JZ M*96NF*6MWD2FUL@*KU2)*(WC250Q+H/%S)^M]&*F&BNXQ)4&TU05TW<7*-1N M'B3!_N"&;[;6'42+6(OV<[W2M(MZE()7* U7$C26\V"9G%^,G;P7^,)Q M9^ZMP7FR5NJ'V[PKYD'L"*' W#H$1K]?>(E".""B\;/##'J33O'^>H]^Y7TG M7];,X*427WEAM_/@+( "2]8(>Z-V;['SQQ/,E3#^"[M6=I(%D#?&JJI3)@85 ME^V?_>[B<$_A+'Y"(>T44L^[->19OF:6+69:[4 [:4)S"^^JUR9R7+JDW%I- MMYST[.)2516W%&5K@,D"+I6T7&Y0YAP-''UB:X'F>!99LN4THKS#O6AQTR=P M)W!-2%L#;V2!Q;_Z$7'LB:9[HA?I(.#[1IQ G(20QNEH &_4.S[R>*/_-N(XZ-S7+<1Y0RQC4OS!8O'B63.)7 RYD MO0O9$/KBECJT: 2"*J%LK"-+%<*KIJ)VD98)J-E=ZR%U+U C:^9\!(%4Q^:0 M.X,&#[MS]:_EWF1#B==@MPA2R9$"NJ,>-Q<(YXA1*)6A8. EF MW!GE_@ZZU,,1ER2D&D-9,\?GL$+-50$=C>N.Q@<'#:L]F1MT \H1(C@/\QS2 M,!VE;I-!%DXF9VXYIF5V&KOEA"QF4[\\]15"S&CLE99 DO"4;CXI%^,'D?<^ M_8U"0M#CF.@8 [RJ&^51+SV$4GDW'\/'AQ30L.E(>,EJ<8GIQ1AW3X0[<:JV@_EM;(TXOUR2V\J:B= ]Z52 M=K]Q!OI7>O$'4$L#!!0 ( -J#^%8K-R"\(0, )0& 9 >&PO=V]R M:W-H965TMV%I B]YE);,-)&FW=D"! M(,ZV#\,^T-+9(D*1*DG%=G_]CI3B)IAK[(MX/-T]?![J[C3?*?UH6D0+^TY( MLPA::_NK*#)UBQTS%ZI'26\V2G?,TE9O(]-K9(U/ZD24QG$9=8S+8#GWOCN] MG*O!"B[Q3H,9NH[IPPT*M5L$2?#LN.?;UCI'M)SW;(LKM'_T=YIVT1&EX1U* MPY4$C9M%<)U0NW@?\R7%G7MC@E*R5>G2;3\TBB!TA%%A;A\!H><);%,(! M$8TO$V9P/-(EOK2?T7_UVDG+FAF\5>(OWMAV$50!-+AA@[#W:O<1)SV%PZN5 M,/X)NRDV#J >C%7=E$P,.B['E>VG>_@_">F4D'K>XT&>Y7MFV7*NU0ZTBR8T M9WBI/IO(<>D^RLIJ>LLISRY75M6/K1(-:O,3?/@R<'N MP]L+="\FT>6CG"! M43W!W8QPZ7?@2OBLI&T-?) --J_S(Z)VY)<^\[M)SP+^/H@+B),0TCC-SN!E M1[V9Q\N^@S M9>&>25A4XYJ6):P8%330X=0\^A&M4U&$<9$14)57+(OAGD0S7;<^ MO"%PH7I_H7E8E3$EI,4E)22S%,HPCG/X#25J)GP\:ZA+N2LN-VY@%B9%0HDI M<4JRL$HK=(XS"GFDZ2[1+KM/:SIB VWI+56 M6TEWWKBP\+(H_%KDI9,?)AZG#)-T!J>*,7HQ*3K46S\/#7VR0=IQ:!R]QY%[ M/4Z:;^'CO/[,])9+ P(WE!I?S(H ]#@#QXU5O9\[:V5IBGFSI=\&:A= [S=* MV>>-.^#X(UK^"U!+ P04 " #:@_A6=DW2H2T# #&!@ &0 'AL+W=O MU;/%>@^F;1NC7:ZS5;N&%WL'P(,O*.D.PG'>BQ#7:I^Y>DQ8<40K9 M8&ND:D'C=N&MPJOKV/D/#E\D[LP;&5PE&Z6^.>7O8N$Q1PAKS*U#$/1[QANL M:P=$-+[O,;UC2A?X5CZ@_SG43K5LA,$;57^5A:T6WLR# K>BK^V#VOV%^WH2 MAY>KV@Q?V(V^"?<@[XU5S3Z8R'?_B9;\/;P)F[!_P$_ACD K [=M@<5I?$!N(/;O$*)JM2BJV0. M@MK6G"OA8I+S)3Q6E%75U-2R+4$:$(?&!K6E=AUY%=*(LM18"HO%3VS(ZOK2 M]50!?4>B)7"]8RY=3 ]V65]A? MEE'A@\(OK#RUTI%=6^)LX!WPB/LQ.;V#,9S#UIR&A&RG@7N1R M2SL;)AQXG$$2.8.5J/0WHUSJ8?[N.$OQ.ZE*V!&K<4RB;3Q ,]3LU1L:H;)M5& M63KS0:SHH4'M'&A]JY0]*"[!\>E:_@]02P,$% @ VH/X5HHRE"^Z @ M_ 4 !D !X;"]W;W)K&ULA53;;MLP#/T5PEN' M%C!BQW;)#?IWX^2DRQ!V^PE%$6>HT,S MY'0IU9.N$ VLFEKHF5<9TYX%@R!8%14JI&F;(58M MPI9X4!-'41A MF 8-X\++IN[N3F53V9F:"[Q3H+NF8>KE FNYG'E#;W-QSQ>5L1=!-FW9 A_0 M?&_O%'G!EJ7@#0K-I0"%Y\1+KVA*1C#]K3F_[I 7NGC?L7USM5,N<:;R4]4]>F&KFC3THL&1= M;>[E\BNNZQE9OES6VOW"LL^-8P_R3AO9K,&DH.&BMVRU_@X[@''X#B!: R*G MNW_(J;QBAF53)9>@;#:QV8,KU:%)'!>V*0]&4903SF0W(I<-PB-;H8;C1S:O M49], T/4-B'(US07/4WT#DT*MU*82L.U*+#8QPT<#>I.MWN00>_9 TU=T-8(L@??:C>W16SH/,SU6"*6L M:?JX6! )=1B<8&'T'C4P48"A;"Q+=,-B[T$Q0S$:?Q=K47%96&#!BM;@<[$]F@6KB]HR&7G3#]<&YO MMZOMO)_H?^G]7KQE:L&%AAI+@H:#TY$'JM\UO6-DZ^9[+@UM"W>L:#VCL@D4 M+Z4T&\<^L%WXV5]02P,$% @ VH/X5FT4?S:% P "0@ !D !X;"]W M;W)K&ULI57;;N,V$/V5@;HH$D"-KI8OM0W$21;= M AL8Z[3[4/2!EL86$4G4DE2<_?L.245QMHY1H"\<#LDY/',X).<'(1]5B:CA MN:X:M?!*K=M9$*B\Q)JI*]%B0S,[(6NFR97[0+4266&#ZBJ(PS +:L8;;SFW M8VNYG(M.5[S!M035U363WU=8BU%$?3"9;(1Z-\ZE8>*$AA!7FVB P,D]X M@U5E@(C&MQ[3&[8T@'@UJ:A!WFGM*C[8&)0\\99]MSK2\@[@-BR]MM9%G>,LV6 MRT9)F.<7IY3V=^Z,F0=F+QDG?P[IAL>+-7-FF7[5_76Z4E5@Y]N:&;6'05@MA!0^?%W7E=5$*I M2V@I V4R.$7[+/!IV@\EPDY4=%M)(-"F!$"A5C0H=0F:IFG[MM/,7BOB1+>" MY\": @I>=1J+8Y:&7NZJRK(T,!:$)K@H%*TK>,Y,U 5O:$9TBJ"4#_B<8ZM? M\X.""OQR!@^E1'Q38+#ASV\'J%Z^ Y6+M;'_+_^^JU$R+>0,[E^Y?H"IGXP3 MLF-_%$=DHXD_'=O.R,_2$&ZQ$70+7>17>^6Q^(4]$=@>W^2I@)Y I2D5(V.G MB)06O7+82_:#3"[++/-CVC)+_4F2&2\:C8V793'<[7;TFAG-K=+TG@U[:I$_ M G[K^!.KL*'C2OQDDIDV2:@=Q6-JLSCY/ZS?.=Z>]]3/#-.)'V53ZTU2X\63 MT;'&/];##%:GM'A3,A\@O(I29V)KXJDS*=S^AY*S@8DSD0L<.Y/ 6FB2B[.* M"F,0M=>"*K#JJ)Q\./2BP8MHJ3\F1K&?14;7,2D=^]$T@U/7/3AZGJGL]O83 M4D2Q:[1[J8?1X9^[=L_[ZW+W27YFWH_HYTKW0MG9"\>2G*S]5:B-KYDJ5Y=3M:U_7F>CRNEFN1Q=55L1%Y\Y?' MHLSBNGE;/HVK32GB51>4I6//=8-Q%B?Y:'[3??:AG-\4VSI-;^$GWY3%BU.V6S>T]D57KBZZ M27"2MV?6?5TV?TV:N'J^B*OU.Z?]Z; _MLESG(J\KMXY<;YR[N+RLZCCAU0X M]V*Y+9,Z$97S@W._.PN=XG$7V&[[EN!\%S6A25I]WP1\NH^<[_[Y_4>>NR.MUY;!\)5::^,@<'QCBQTVF]NGR7M/UWC,"_[-- MKQR7O',\UZ.:_5G8A'M=N*<[G+^GSOZ>.C>'1V)YY5"B"U=R2?>G'NUXU'#J MZ<^=WW]I-G5^KD56_4]WTNRXOI[;]N+K:A,OQ>VH:;:5*)_%:/ZO?Y# _;>N M8DA8A(0Q)(R#8$JE_7VE?1-]_E'$:?*G6#E/S5==U=4\+:JJ:2;-=TLFNTRU M[S*ZJN\T@DZC_<)\GKLWX^?#4I[=(CJ[!3N[!3<>ZS=FN5T[T0\LK1I6T'G!P<4.B2V=1UWV;/J#ST0K!594A5/CDJWC1TI_1054E[ ML$][8$S[G>TY&AP=-IG2T"?'V38*#LVVM2Q#RG*-;. %OG6I_F[ MHW-\=V]BW36F1_O8["'Q9L<5,>[2T(I8RS*D+-?(^F1*)BK^ROGJ7@699XUE]5!XIW_._?KHJQ_^%64F?XY6UL;H][0ZPY*BZ T!J5Q M%$T]#SQY'G@7ZK,]&%5P)"V"TAB4QE$TM>#2V"#&I^D!S98>/R:%1'U@Z6L' MM2FL=1E4EVMTB1M,V]O34]U6>@S$;#*\[;;QD\B77\\5 /0PWQ<)28N@- :E M<11-K;5T0]P-7T7*C78ZW+H+I$:[P;Z1]AREH4U\S;VK67!PZ2QE&526:V0I"6:GNZCT M7SRS_W*RBW[C':M9;O!U![5RH#0&I7$433T-I"/D^9=JM%!;"$J+H#0&I7$4 M32VXM(4\\^@8^T9[/#SE1*.%&CRVL@PJRS6RE+J&1BMM&>^,+;/-DV6RB=-S M^49Z'@LH+8+2&)3&432UO-(!\J:7:J!0CP=*BZ T!J5Q%$TMN/1X//,H'_L& M.CMJ*4>M$^K3G!=D4$&N$6R'TYWLF=)6\<[8*IJ>^:WWI=!Q.%!:!*4Q*(VC M:.JP=VGR4/=";95"'1\H+8+2&)3&432UX-+QH>:!0-9MU<<82<=86<= M8:<=7<("HM("HN9!02>O7U_S)![._&,'P"PPN%2VN@RJRS6Z-"2S\'2+E*8+ M-9LN-C,#S(C!5P_4E('2&)3&432UM-+>H<&EVB74\('2(BB-06D<15,++@T? M:A[RL["83T@UHRJ"[7Z%)*0D/KE'8+-=LMIR<(:!,/ M'48#I450&H/2.(JF%EGZ/?12LZPHU-Z!TB(HC4%I'$53Y[I+>\<_,X;'HHGZ MQ[..B!\2S?VG66QHV:QU&527:W0G70L]T4-]Z:WXPR9960W[-S.'7EE06@2E M,2B-HVAJK:4;XU]J(I4/]6N@M A*8U :1]'4@DN_QC\SD,>FE1[/*?+"B:Z3 M0DT76UD&E>4:V5,M]&!U%K-)J9VI6;G&#B:9G0IT76UD& ME>4:V#2K_'-XW.L^N<.85R+#FJWG!=D4$&N$>Q<@K<]Q>7 M3^UR@JEX;*3BHIEX2RS[GXSE''WD^49P]L>P+WU J MP+G0#KQ;$SQT*B\\1?>*5SR!/Y9ZQ+_G% MV_7UR,DCHC%=B1PBE/_V=$'C.$>2<7PM04?',7/'ZN$MLXG2 M_#8N129_C:2?F"]"OKD ^5_P^]==M ]CF@I^ <)T#=Z'V1@1<@2L&G#=MQBY%)>4+<+.7&>>%&,O)->:RD.#O=]()O!4TX?_H$CZ,0/0CY!/XBF_# M%;T>R1G*:;:GH_FOOT#7^4V7OB6P6C'PL1C8A#Y_$T89^!S&.ZI+\^#K%K[Y MLK*?0P\'!,XF^VH"&C,7N00=S6JAD6-HQ!C:2Z4W^Z[(P M#M/W9ED"JU5D>JS(='#F3FT6PQ)8K1CNL1BND1XWB:1']"^5'&!'>I[,UQ$=\[QCG5,M-K#3T.7-R(3V,$ MW2#0A^^IG*>XP6-R#1F#@P\J \M.(86F"MWN;P$CVQ/LU2J#@&X MFO'_ 6N+@C&&OO/ $EBM7-!10L 9?%DHA[!4#UMH]8)4E!$\!;&$5B^($CW0K'I.\#-H2RU)4+?)3XV9'P0=#V)(*0QD M;-@M>MH48N:A>S]+#Z$\D%(>" Z_MV 4-[T+8@FM7I#*7HM9YYR68J@M7Z93 MA/P&M35F+D)N%[65RD%FE?,L(8;:(F;<>H[4&74]"R$E]_! M(90(4DH$!<-3VNKVBBVT^@ZY4C_8K'Y.][ 2H$9K[#G-QP>-&<*^Y^IIC97J MP.;]CF?U,-S>RA@3T@I18X4(Z8A0R0!LE@$G7C.T>SO!R'6:L;7-#*L"KKP" M,4N !N<^N;N9<;JRVQ;:/7,E;C 9/"ICJUNF]A"JQ=$"1IL%C0G M>#IM\W1*FLU+8X6AZW>P5"D-;-[ Z&3I3_8L\W"][]L0J@,KU8&]X8EL=7_% M%EJ]($KI8+/2>4;/:K^](5.OM>:VK3"&74NNTACXQ#N>9W6L]FZ&[$7- #5& M'>V*J(Y/S!W?O P03;=O+P,:*XR=CF6 J%Y/S+W^_2Z-5M$VC$_T*3-,[[?> M0^PB$"4?R/!'-HC5,QNVT.H%49*%G/-NAK0/9#3G-=&\EG$ZMK%)Y<2&>;-" M1\Z?;$_FD7K?KB%D!5&R@@S_-H98W3:QA58OB!(SY-S#&V: WNGJ7MQT;'\1 MI3J(A3,>9HS>B>A.@W3DH<0".>HY2# MF#Y(+^?2D_EGAV.>APO!ML5)R7LF!$N*CQL:KFF6&\C?'Q@3/R[RPY?'P[;S M_P%02P,$% @ VH/X5FXA'>$$" ($\ !D !X;"]W;W)K&ULS9QM;]LV$,>_"N$50PMTL<0GV5UBH$U0K$,[%$W;O1CV M0K&91*@L>9*<-, ^_"39%46+.DO>"=";Q@_'/\GCD?[U3M+Y8YQ\2^^5RLCW M=1BE%Y/[+-N\FD[3Y;U:^^E9O%%1_LUMG*S]+'^;W$W33:+\5=EH'4ZIX\CI MV@^BR>*\_.QCLCB/MUD81.IC0M+M>NTG3V]4&#]>3-S)CP\^!7?W6?'!='&^ M\>_4M3V82LU*V_#;-/\>-O:C\A4>@MXS M_R6/>UMG0I;;-(O7 M^\;Y"-9!M/OK?]\[HM; Y2T-Z+X![=J [1NPQ(\D*:QS MM>)%Z9NR=3Z;("J6\3I+\F^#O%VV>.L'"?GJAUM%/B@_W28J)7ZT(E=!N@SC MW?OG5RKS@S!]07XA7ZZOR/-G+\@S$D3D\WV\37/K]'R:Y6,I%*?+?;]O=OW2 MEGY_WX9GQ'%?$NI09FE^"3>_4LLSPG;-J=E\FGN@<@.MW$!+/7;4#2_)ZS15 MVEU1]QE%0?O/'3("5_O<\[(.\R MM4[_MCEG-QIN'TVQ=5^E&W^I+B;YWDQ5\J FBY]_R+U6R3+P0[+Q-RJQ#1!4Z+LD2&+&9$4U63&J6!:8CD,2,QPG*\=) MG%C>R8A:D-+YW)4'H6RQFLWG+9'L56/TP#%^.;L^(W?Q@TJB_,4++O"B&)&;.?5;.?C2JT9YB.0Q(S'#>O'#?'">UY(VBYPYS#T&Y:4299 M2VB[CF81Y\@QG6SBQ,]4#F(WV9&1PEI]%P=+S9QYC<+<407V?CA8SD-2,YVG MV\F&R&A136A4CBO>44$/2\UTG@8]"B?;.@/X7L<\KKDS M\PX#WV9'/=X"XE13%86IJG_DPT0#=]=[&8=(?5%-='0^KCV BH-8:F9Y1^,@ M@W-RW0L\3K<]8+5KWP-,LQ>#V>M_[ $K]\#=]5U&+#73.9K[V+@*G P5&K'4 M3.?5:IQ814YV-!$#FICCTUS&8"YKB_PN94]8NO="#9$Q8QH V;A*GPP5%;'4 M3.=I5&1(Y4_6K&P*X0OE,TUE#*:RKM$.$P[<2>^E&R*IQC3^ ML7'511DJ'F*IF<[3>,B0:J.L6?9LG.Z0B7GIBB8P#A-8[WBWT@S<2>_K6X9( MLW&->GQ>\Q0PXY[FF+@Y35U>>[W0)#-Q7 M[Q4<(@_':U>SC:NJRG&OC1N"$;EF1(Y45>7-DBEG5!X>^18SX&(8KG&,GU!; M[1+^,/? O?9>RR$2=%RC(!]7)9:C0B.6FND\#8T9H9!5)15S2+M8T3'S(QQZ>Q3)Q6RCT>^%;<@7OKO79#I.J$1D(QKDJN0&5% M+#7SYB;-BA*IDBN;%5K+N6^Q:C_WI88R>5H5M^OE\[!\WR7#4C.=HL^Z6>!MO=)>:FB3IY5X;=L")B&XH]ZS'2*9)S4E MRG$5?"4J1F*IFZ*=;\K*O_)9EVX;7MHJ).GU83![6'E);BCWG,=(L4G M-4O*<=6%)2IL8JF9SM.P*9'JPK!.[UDW2\BMOQ^>AC_OM"+RASA23V1=3I7< M;B/[LSQ@\=YWD ^1]O,T87KC*AY[J$2*I68Z3Q.I=Z1XW"U>FB5AUY'BX'\0 M%BLA6NYP\33V>:>5C9LCASD)[J;WL@V1\_,T/GKCJAA[J)")I68Z3T.F=Z1B MW"WF;7?8-F.^:=4>\YKDO--JQ4#,6^$'[J;WL@V1Z/-J3TH95W'8PWW,RA#D MZ&ER](X4A[O%_$ZD_KBFPQ0I:+(;W+3V^++BV7$Y>-T%44I"=9NW<V>Y/%F_*)9C=QEL7K\N6]\E&PO=V]R:W-H965T2I@.D-M&T39I4->OV[, E6#4VLTW2_?O9 MAK D)=$F[05\[7N.S[G8EWC+Q8LL 11ZK2B3B5,J5=^YKLQ*J+ <\1J87BFX MJ+#2H5B[LA: ,904 A4X8!Z]<&YD"I(=(R?G:<3K^E >Z/=^P?K7?M984E MS#G]07)5)LZM@W(H<$/5$]]^@LZ/%9AQ*NT3;=O'/8 ?G0 $'2#X6T#8 4)KM%5F;2VPPFDL^!8)DZW9S,#6QJ*U&\+,5UPJ MH5>)QJGT 5/,,D!+>V06H#"A$MV@^RSC#5,2/4$&9(-7%-!EMWREUY^7"W1Y M<84N$&'H6\D;B5DN8U=I38;9S;K]']K]@Q/[?VGH"'G^-0J\(!R S\_#%Y"- M4-C"@T.XJRO1ER/HRQ%8OO $W[(]S(@7^H!U%1!]!:X1 S7DL26-ADG-1;R3 M-FA_RV)!-+8OK$)IU- MP\"/W>V1U"T,Y;U:J:&C_M8;4MH3C/1TW M870L=BAI-AW6.NZUCO^UFB>/T/AML2:S6^](Y4!6>.M%1S+=O7Y@>O%7+-:$ M242AT#AO--4THNUO;:!X;5O$BBO=<.RPU+\$$"9!KQ>IKUY59"166(UX# MTRL%%Q56.A0K5]8"<&Y!%74#SQN[%2;,21,[]R#2A*\5)0P>!)+KJL+B_08H M;V:.[VPG'LFJ5&;"39,:KV )ZKE^$#IR>Y:<5, DX0P)*&;.-_]Z'IM\F_"3 M0"-WQL@X>>'\U03W^WG!$N:<_B*Y*F?.E8-R*/":JD?>W$'GQPK,.)7V%S5M[GCJH&PM%:\ZL%90 M$=9^\5MW#CL /SH""#I \*^ L .$UFBKS-I:8(731/ &"9.MV$ MF5M<*J%7B<:I] 93S#) 2ULR"U"84(F^H'NV ::X>$?GW>2%GGU>+M#YV04Z M0X2AIY*O)6:Y3%REE1@^-^MVO6EW#8[L^GU-1\CS+U'@!>$ ?'X:OH!LA,(6 M'NS#7>V_/X2@/X3 \H5'^)9M"2->:%^=[TO$0 TY:ZFB82KSZ*YEC3.8.?I5 M21 ;<-+/G_RQ]W7(YW\BVW,=]J[#4^SI(VYT)2D0!-/!.VSA8PLWW6"33J)H MDKB;70>'2>/(ZW/VA$6]L.BDL%O"B*[H'*TX'ZZN%A_O;.I'\?1 VU#:51P< MD1?W\N*3\IZXPO1OH0SIBP\.Q8_#0%DWU[7[0Y^X\;]-:?V"Q(DPB M"H4&>J.)YA%MNVH#Q6O[XE^XTOW##DO=X4&8!+U><*ZV@6DB_7]&^@=02P,$ M% @ VH/X5OX3TA*V @ ' @ !D !X;"]W;W)K&ULK99=;YLP%(;_BL6JJ96V0 RA'R-(;=FT39H6->UV,>W"@9-@U6!F MFZ3[][,-0;2A62KU)MAPWO><\V";1!LN[F4.H-!#P4HY=7*EJ@O7E6D.!9$C M7D&IGRRY*(C24[%R926 9%94,!=[7N@6A)9.'-E[,Q%'O%:,EC 32-9%0<3? M*V!\,W7&SO;WERMQPXZ@B*YB#NJMF0L_]P"1( M1,H,?5!GJOE:LQ'RQN\0]K _(+_>+T\@'2&_D>,!>7)(=CPD=S76CBWNV&+KYQ_$ M]@8849"AA,J4<5D+#?77Y4(JH=?^[R%6C7LP[&[.@PM9D12FCM[P$L0:G/CM MFW'H?1@B]YIFR2N9/:+J=U3]?>[QO*XJ1O4ZS*#BDJK!9=98A-;"G'SK>#+V MS\>1N^XSV9OHI4QV4_KG7AAT*1\U&W3-!GN;W6Y#Z&]#;K=A6@L!I4+$;LSHO MN-)GO1WF^O,-P@3HYTO.U79B#OSN#T'\#U!+ P04 " #:@_A6^W"&G]4# M #/$P &0 'AL+W=O.SASB)5<#4-LET?_W:P/#(&+2IG"^)#?>> MG'M]3 Y>G"C[P0\8"_"8I3E?6@ 3[XV!*N6! MTA]J\O=V:3F*$4YQ(A0$DE]'O,)IJI DCY\-J-7^IDKLCY_0/U3%RV(>$,_<%/03.$E-.75)S@UL8X%DI(+FC7)DD%&\OH; M/3:-Z"5 ?R3!;1+<_YO@-0E>56C-K"KK'@D4+Q@] ::B)9H:5+VILF4U)%?+ MN!%,WB4R3\1W*$5Y@L&FTLP]%HBD'+P%:R:5PL0O@/(M^/-G20JY=N(-R&74 MJR;LM8S[NKD'KUZ\!B\ R<&7 RVY3. +6TANZA?LI.%Q5_-P1WA\+-,;X, W MP'5<3Y.^FDZ_Q\D-\.IT=YANRXZT;7';MK@5GC>"MZE5#>@.%/U.X$$G=&76 MN+X>5VW*6UZ@!"\MN>LX9D=LQ2__@('S3E>T(;!!"[RV!=X4>KP>J7O/*-ZH.-=0\]ZC-[ZD>? ,^*Z,'_N.WKFLY;Y[+>Z/**NV3,2 M;A1YP1E53=0L\D9Z'+1,@TFF7S 7'4,=N^<[[[-5$^= *],N^=B507YGGS$97"SE/ MR?_K>$-WXH08UE(SZAM,H0T+[9P#]*ZESTE/$U9FC#'B^8C^NRL")SV(I^P?!\ZT'0+2";7[8@573W12:"+E\D0VK#L MSM? X%IJ->IX3*$-V]!Y'CCI)WY#K>%S&<[=V;E8-5&A-^*:86=/X+0_^5"R MG(B2X8KNCCRJL9[F)-#%BV0(;5AVYW3@_%I:->I_3*$-7\X[ ^1..HO+M=K@ M]5\[H1NX87_P=02P,$% @ VH/X5D> H'PZ M P ZPT !D !X;"]W;W)K&ULM5==;]HP%/TK M5E9-G;223Q+H(%+;J%JG;JO*NCU,>S#A E8=F]D&RK^?G:09E#2C5?:2V,X] MY_HK+FXEW, A1XRRN30FBNU.+5MF0RR[#8G /EZZ'E6H\-MV0V5Z;! MC@<+/(,1J+O%C= UNV*9D R8))PA =.A=>:>)JYC 'G$=P)KN55&1LJ8\WM3 MN9H,+D5I73 +?+C^R7N7@M9HPE7'#Z@TS4 M?&CU+#2!*5Y2=)9"=8]R @KWOBA-&(+ MX ;/ +P2X!T*\$N ?R@@* %![DPA)?07<*\& MGAP.=W;AMK:O\M"K//1R/O\9ODO"B(*3:^W6!%TQA=F,C"F@,RE!2?3S6L>C M*P69_%5G54$>U).;=7\J%SB%H:47M@2Q BM^^\8-G0]UQK5)EK1$MF.J7YGJ M-[''9VDJEMI/2O"84*((U,ZS@B3,2

MXI[72_J#NS5MBO[47TGB(+=J*2Q M0Z^4&U1R@T:Y7]4;1)EK1$MF-=6%D7_L\])VS3U#;) MDI;(=DR-*E.CQOEXRS>8J@U:X(T^VBB4\BPCRA3K/&SD>JF';9(ET=YVYW9[ MCE.M_!US>I4YO4-VJ.9]J;>7.0JW$A=:>WO[DNL&3Z.2QMZ\0# #:# &0 'AL+W=OK M!:]5GI5P+XBLBX*)YQO(^6EI4>OEPT.V/RC]P5XM*K:'-:COU;W D=U;V68% ME#+C)1&P6UJ?Z/4M#;1"(_%W!B=Y\4ZT*QO.?^C!']NEY6@BR"%5V@3#QQ%N M(<^U)>3XMS-J]6MJQR^26G5C9*+)+64O&B4T:"(BO;)WOJ G&A0/T)!;=3<']6P>L4O,;1 MEJQQZXXIMEH(?B)"2Z,U_=+$IM%&;[)2;^-:"9S-4$^M;EC.RA3(NLF9.U L MRR7YC7Q*4U'#EOR5L4V69RH#2=YWTQ]P_OOZCKQ_]X&\(UE)'@^\EJSD6\5MU]K6YC)/IPN'TX MW,:>-V%OW68SX3M,L#8"^3D")O=:>[[9GB[":UFQ%)865ID$<01K]>LO-'1^ M-SG[/QE[Y;K7N^[-65_=\@+/!LG:ZBJW6*0Y4QB #92PRY31^]9DV)C4)\9Q MY89.G"SLXZ5;!JDHIEXO]8K7[WG]-WEY":7"##SB@^.V'2!'WF<\E*HJST 8 MF5NSP04-I7[L#Y@-4HX;.V;FH&<.9IGO!=^!U$<@RYL8I[R4>.!DY9[LP)Q@ MP0@D]B@=T(Z%(L^)S+!A#QO.![@Y?4 0MCWJ,T(2+C I-I@41M!PS!#'\0!T M+!2$P40F1#UH- OZ +C_-1!Y8 )(Q9ZQS9C3-1HC!G$P0#0(N71BX^,>,7XC MED+H5*VX:.H+SY<3$X*5ZKFK-86ID2D3=#P.612' ^BQ4.A%$PF0]-#)+/0C M>\)-QWBR30XFLF2TJ.^[PW :A(*8FLFHD.JL504N%-4YYY"YYO*(U>ZF_S<=:6S==F+ M8V08[>Y8+''\R!^PVA<73WWK_\K$/BLEUN0.]9RK",V(]B+=#A2OFKOHABOL M+&ULK59=;]LV%/TKA%8, M+=!&WY*3V0;BCV(;$""(V_6AZ ,C7=M$*5(C*;O]]R,I6;45QC/:O-@B>F5-1<55GHH-KZL!>#2 MDBKJ1T&0^14FS)N.[=R]F(YYHRAA<"^0;*H*B^\SH'P_\4+O,/% -EME)OSI MN,8;6('Z6-\+/?)[E9)4P"3A# E83[S;\&:9&[P%_$-@+X^>D7'RR/E7,_BK MG'B!V1!0*)11P/IO!W.@U CI;?S;:7I]2$,\?CZHO[?>M9='+&'.Z2=2JNW$ M&WFHA#5NJ'K@^S^A\Y,:O8)3:7_1OL7FF8>*1BI>=62]@XJP]A]_Z_)P1- Z M;D+4$:(A(7F&$'>$^-((24=(+HV0=@1KW6^]V\0ML,+3L>![) Q:JYD'FWW+ MUODBS-3)2@F]2C1/36>88E8 6MFB7(#"A$KT#GW"0F"FOJ,'D"!V@%YW:V_T MXL?5 KU^]0:]0H2A#UO>2,Q*.?:5WI"1]8LN^*P-'CT3/$9WG*FM1$M60NG@ M+\[SLS-\7R>BST9TR,8L.BOX=T.O4!"^15$0Q8[]S"^A1Y8>N>S\6O3E3T<_ M24;)G].[X#O2-H,PAKY0^82Q*="]XV13J1WW<%H5H,$6?'SBE2+^\ M>PW[XJJ%-EKBCF;NPQM9XP(FGK[P;,UYT]]_"[/@#]=!O*38XB7%EB\D=G)D M27]DR3GU_FW&"CW"AC!&V ;Q-:I!$.YZP6:M7F;US#=E-QTE23KV=\?)?@JZ M3O/@%+1P*,6C[!2T="E=)SWHQ'3:FT[/FNXJ4"+]U41U5Y_[0WWJNM7?,R7X MFBA7 EKM]'C;033P_Q3S+D[#@?^GH' 4Y@/_#E">N^UGO?WLK/TYE\JM.VSI9X[ M"C08%.C< *U[9O>.1*=R'V M<:L[41 &H-?7G*O#P 3H>]OI?U!+ P04 " #:@_A6(!H&Q,H" "9!P M&0 'AL+W=OV^FR0MU.XDMC.S[O\QXWYWBZ MYN)!U@ */3+:R)E7*]6>^;XL:F!8GO(6&OVFXH)AI:=BZ5DC!H).$-$E#-O//P["(,3(#=\9W 6FZ-D4EEP?F#F7PN9UY@' &% M0AD)K!\KF .E1DG[^+T1]0:F"=P>/ZM_M,GK9!98PIS3'Z14]ZB$"G=4 MW?#U)]@DE!B]@E-I?]&ZWYO%'BHZJ3C;!&L'C#3]$S]N#F(K((KV!$2;@,CZ M[D'6Y256.)\*OD;"[-9J9F!3M=':'&G,OW*KA'Y+=)S*YYPQHO0Q*XEP4Z(Y M;Q1IEM 4!"0Z0=]:$-BLH"O0R4MT? D*$RK?H2-$&G17\T[J0#GUE;9C1/UB M@[[HT=$>])>.GJ(@?(^B(!JA^]M+='ST[F\97VGX#IJ!*$(A7]GARRXBQPL]*!E;[&2EVL=(<5QI,]K&Q@9:^Q,OOAJ1ITHZP4 M"!K)V:F"G6(*1Z/)Y!\3_E:C-9?65RR6I)&:4.FXX#3368C^'N@GBK>V]RZX MTIW<#FM]=X(P&_3[BG/U/#'M?+B-\S]02P,$% @ VH/X5DP?'SK+ @ M[0< !D !X;"]W;W)K&ULK55=;YLP%/TK%JNF M3LH"X2,K'4%J$TW;U*E5NVX/TQX< MR[6=;+BXD26 0K<597+FE$K5QZXKLQ(J+,>\!J:_%%Q46.FI6+FR%H!S"ZJH MZWO>U*TP84Z:V+4+D2:\490PN!!(-E6%Q=TI4+Z9.1-GNW!)5J4R"VZ:U'@% M5Z"NZPNA9V[/DI,*F"2<(0'%S#F9',^G)MX&_""PD3MC9)PL.;\QDR_YS/&, M(*"0*<. ]6L-\E;Z3FDHFKM$*3Q\TZ-:>M&O\9-5\;.D;>9(1\SP\&X//] M\ 5D8Q2TPCST]R3+10(YHUP1M MBV2-$+I$J.;"[DQ>(-YW#35=,]@);:JI367.FG4:',51XJYWW0X$Q6'2-(R]\)"Y\(NXH#/UA<5$O+GJ)N+[4=T,JHR<")D$0 MQX]D[DWXRHZ9]G:F+[$SNO]C$"9 ?R\X5]N).?+[&S[]"U!+ P04 " #:@_A6S0%K M(>8$ #K'0 &0 'AL+W=O3S&SC+W @!682;$^STVTSR6[WH=,'Q0C0K&U128;DW_?*=@P&1X5$ M^P*VK'N.=(\^KJY&&\:_BR4A$CUE:2[&UE+*U95MBV1),BPNV(KD\&7.>(8E MO/*%+5:5: M+P7W=+&4JL">C%9X01Z(_+JZX_!F-R@SFI%<4)8C3N9CZ]J]BMU &90U_J)D M(W:>D>K*(V/?UL4"+0+^@/S#E6XJ.SD$A,4W$.I5\?0G3VX1Q]0#1'7Y:L$& K M1K:$%BE<.ZG9;RIV[Q5V'WT&OJ5 43XCLP[[4&\?:.QM\$3C#N_%'3>>%O!3 MD5X@Q_V(/,?S.]HS/<;<*\V]KNZ\CSUZ'WNL-P])>_ M:6C]_3M41[>29.*?KH%38?>ZL=5Z>R56."%C"Q940?B:6).??W(#Y]#GWRA4F""@&5)(-]61*>J=DIE[NU*S%3BA]I2N4S.H,O M">AZWJ5KU:;ACI.="Z??V]-5V_)3=3V*,C))&1L":^D:-+H&I^G*B8HDMTHI M%1'$GOL2=LFEI_+1,\%YAAB#S!2:);NZ*]!XZ^! MUE]_M@?[1^WNHX4Z-<@P"1968/U=/_L'8IADC V!M40;-J(-M:)=)PDO8"FK M#CR$PUKV"%N2L(%+I]_PP$NNVQOL[S):[E.%.8HR,DD9#P]GK^,-MH.AY7+7 MV9[\'*W3;_,U^)5QB,8[3VY:ZU,GAU&TT"A:9!0M-H765G7G/._^P%-7#6Y* M=)-HH5&TR"A:; JM+;JW%=W3;WJ%%!+45MO>JN#)4L5_R78D=$KM'6XQ?7]X M$#OHJ4\6T3L,(#I8(Z.L<0>KWW,"Y[4U=)OB<+5GZLG=H;,1!""4=26S;O1@ M)\\NHUF-_^FH5\73(VBA4;1(J-HL2FTMNC;1(FK MSQ>\,359H^YN&L'!J7FJYSY9Q6,X(Z.1U>1^W5W[C7DW=CO+0O8JJ>\#[G#'Y\J((FOO=R7]02P,$% @ VH/X M5IA^*WX2" @3\ !D !X;"]W;W)K&ULQ5M1 M<]LV$OXK&%W;2V8Y>;2^.)G?:ATP>(A"Q.2$(E(,F^Z8\_ M@*1$@H(@L;P'\%MPE]\"O-JR_"M?4BK0+K-"7YRQU-V/:ZY_9V%S['3TNA+@QNKE;DB3Y0\65UG\NSP1XEBE.:\9AE M**>+Z]ZM^S[PILJ@:/%+3+>\<8S4K-B"8T% J"R#\;.J-) MHI#D./ZH0'O[/I5A\WB'_E-Q\_)FYH33&4M^C2.QO.Y->BBB"[).Q&>V_2>M M;FBD\$*6\.)_M*W:.CT4KKE@:64L1Y#&6?F7/%=$- PDCMD 5P;X7 .O,O!: M!OB8P; R&+9[&!XQ&%4&Q:T/RGLOB/.)(#=7.=NB7+66:.J@8+^PEGS%F9HH M#R*7O\;23MP\"!9^7;(DHCG_.PK^6,?B!;U#Q67T::6?/<6?8<&B"])3CF*,_0EBP6_D!?E\>.2K3G)(GXU$'*$JI]!6(WFKAP- M/C(:%WUDF5AR%&01C0SV,[N]=\K>M]N/+?8#R>R>7KRC]PY; 7^B\S["DPN$ M'>R9[L=N_J]UTD>.>]3<_]_,@W/,<6&.+61X^[GF%7C>L;FFILL[]5A':,92 M&>LX*:+%;9Z3[(G*^"/0_ 4UV]V3E^+R[9;D$?KMWQ(2?1 TY;^;9E?9_]#< MOXJY[_F*A/2Z)X,JI_F&]FY^^)L[=GXTN082S(<$"X# -"<.]TXI..$=-,;^=R7T>"MR2]6R*Y^*<%&!9C*@YL;F17EOZO!ILGX8;.QH5D M-#2-R]&>RY&5RU^+-$:C=V1#7>ZXO3T>' M*G2'C1!O(MF*U'6R0H+Y)=BXX7UOZ(R'K3E]V H[P\;,UPB<[ F<= BO]%G. MT9B?#K!6T*Y<3@XBI^<>QE=#*U-\!1J91N9T3^:T6WS=\8E6>1S2.IA>(*[Q M?G[$M0Z@*_'3@UCJCOM>BW=#(]P?C5NT XU+H]UU:E'A6(G_DN4T9$]9_!\Y M=?F1F""]H8[;Y!M5@[6[KC17:,TG=SHZG.#G-0N@QJ93W=!OKI7JSR71!:%R MJL;,)'ON[""="81$\T_<($8O5#V'&*6E-G.Q?$-Z,I:I-84I2MT[G,TFRQJTC)(YEI9+RH4DO,^9K, M$WKJ-;VRU77KE>"Y6BQ%NM\ M)UU/\0LJ4"NT)FVC2R._9S8,H,:G\UL+5=>N5+̃/\Z+^+_,'>B3Y$Q4< M_=DJR/ZI6LE4CSYEU,@SI*"<@:+YH&@!%)KNL5KNNI>OG51 93(HF@^*%D"A MZ:ZLA;=K5]ZE.S:4BSA[0KE2COQB5R22XM'H'%#=#8KF5VA:$50QX&5?N@:#XH6@"% MIKNRKAU@N[360][QZH$=IK-#0*L')V[1*ZL'1O*_1;$ U\4"?*I8<#3R-:_> M%0]0.Q8&SS1<%]6%3XM%'-+^>=B8=$"Z#0=.+KV@+^/Z^%X\.5Z9'; M'UVV70)9DO!!T0(H--TE=3D"V\L196A:-9*1Y17!#N46:=@8BT"+"Z!H 12: MSG]=7,#VQ?2?J4!Q%K)46ZD4Q6L"(N$RIILRM31=))9R*&I#WX5M@T/5## -:0P!%"Z#0=)?5I09L+S7LJM=% M5-L6Z::2/4>?DJGI*1FU*0>M%8"B!5!H^G[/NE;@V?-,G M/(DCY1$>DL18;JMZT_=E'92T9O9!==ZY":KXH=!TA]2*W[/+X2[[L^Q0G7?3 MN@>[*8:C@Y4:0ZOQ]&"9!FID.HFU^H7*O%V[.E?'VT73V ZB,!T4+H-!T MOS:VI[^VC/=@-ZC#[E"'W:+^+62\5\MXSR[C_\IB3@5Y8L%D9N^Y,^N@&AX* M36>]UO">7<.?6T\^ 7-<+-H-.W,/*M:AT'3N:['N_>6] VXP M $7S0=$"*#3=KW41P'OM'08>Z X#4#0?%"V 0M-=6=<,//@=!IYQ%;_]?&ULQ5AM3^LV%/XK5H8VD+@T=ND+K%3B[6IW&JP"L7V8]L%-W-;#B8/M4#KM MQ^_829-RF[J%B5T^T,3Q.>H98P:])"+59\',F.RTU=+1C"54 M'\F,I?!E(E5"#;RJ:4MGBM'8"26B1<*PVTHH3X/AP(V-U' @Z/@*P3:SE1[4^2LHD^V(F)T*1-H$TU=H9TK1=,I@](U:+Q J_-&=.&& MS^=4Q>B/7T E^F)8HO]LBEUA_[C9OFW74YW1B)T%T(^:J6<6#+__#G?#'SW> M'5?>'?NT#V_S9,P4DA/$EJ6@72EDRU+(7"G\XWZ;T!?Z.TZ_71N>AV30>FZ MU*D@=;R0[E@DIREW,2XRVF36KX.@!:-*(X*2HO P03%=^.JA6\'K>E4_I*H M^#Q5Z'L>5'Z&KL) M@5?;.VNP7V'M?^,.ZW^ =R>5=R?^3-R/1H=V*>=)GM1=EM&%DD( L\1YM*SU M"%P"CFQRH3""PY4:"8_PABK!84T+X8[]+R<3:+9T6O:<:_F-W5=JW:'K\0I# M82^47U\#:#3KU] MN]V3-4QJ.&2'O,5<1S)/#91M#J7-C!^ES&&:.?#[J0-"1$+<0[<_[R$D77R:?<]RP6I*8CX M"62WEMRBY*3:<_:W-26IV8AL8:-E%@U3<#RD*Q A?@(.W8XYEZT74P-3)9RG M(P:GX3*:<"8?_P7'9/>%ZT=+^Q#\">,V^(VN^E%AM\WV.5@3&_$3VTU9KFFU M(2DQ4W NHHZ 8;PFXS$HUC5R145"AS,Y/*T&ULQ9EM;ZLV%,>_BL6NMGNEM6"> MTR61FL#=.NU*5;N[O9CVP@E.0 6<:SM)NT\_8R@)X*)VL]0W"3CG_.R_CWW" M,=,CH0\LQ9B#QR(OVVE"0K<,DR4@**-S/C&E[%,*@7S_3/TOQ0LP*,;PD^9]9 MPM.9$1H@P1NTS_D=.?Z"&T%>Q5N3G,E/<&QL+0.L]XR3HG$6(RBRLOY&C\U$ MG#D(CMK!;ASLOH/[@H/3.#BO[<%M'-S7]N U#E*Z66N7$Q8KZRLEHH]YR*7S/AQ^?WG*P?4I(GF+(?0/QMG_$G< %D\\5"1" ! M2U*(9TKV#)4)FYIH__<^^=R7#:E>)(GO/22DD1Q1>KX9*XIA25 M6RRR!P>K)W!N=XN>9//U$=$$_/6;0((;C@OVMVIUU/V[ZOZKC'G%=FB-9X9( MB0S3 S;FWW\'?>LG56ATPB*=L%@3K!-$MPVB.T:OMWL3G/59$%7AJ$F^)%7_ M-XP0J7>)-Q\0>W)MLR^T>99!8USCL?Q<3S>K(51I[K]U0/C0+8GYIX:.1# M.U!K]EO-_JCF)6$L#E'JM4C@+>NMETPB*=L%@3K!.%H(U"\,X9,] 9 M1)VP2"/9@": MXJB5%FFEQ;IHW5">U5A06PYI4.?[VK,\IY=%%%9VZ(:]/**PFKAA_ZE+U:/C M6.I, NV3:'M4])V82$37J4PGB7@0RL&Y53# MP?Y-^4AE:36!@ M]Y/*T,JW+/>%I'*JY>!X,?>SJ. HRF5.04F1E1GC%%5GC4K9H[ WKT6=M$@K M+=9%ZX;E5&Y"_[W3BM9Z52LMTDJ+==&ZH3S5K'"TFGI;6@D&!S8!]& _K0RM M7'M0\RBLH!/:83^O*+H,!T=$YMF!>('I5KZ)8$+/ON3UB6?;VK[MN)9G_+WV M!;Q:0D5[5+T=D0?P)WS]:N4+HMNL9"#'&]&5=1F(G4GKMQ7U#2<[>1R_(IR3 M0EZF&"685@;B]PTA_/FFZJ!]9S3_%U!+ P04 " #:@_A6)ST?ZG(# < M#0 &0 'AL+W=O$99 K)G(B83YUSOVSZ-2,MP.^,UBIUCDQD=P+\6 : M_R13QS,3 @ZQ-@X4_Y9P"9P;(YS&8^WI-+/J M$ ?=W4;DX,,A^4!I(E_R!)(._66_/GQ-'_7K1SUZ%\$W](,U_8N@ MU_!KR0[5 M,L1MM%EO1;7>CD@!DHF$T%*G0K+_.]/VHM_<)T] 91>_7MVN_/9DML7ON.%W M_$Y^&W"$9J+,=1>_RGQDS&,GSWP\=@_^2TKG@_R7\Z*TR;JT]ZHSY<@L=C%W8/%>*0L,?MOE14V/Q+! M.95JT]N9*KTWV97&/LVBRFS&ULM9E=;]LV%(;_"J$510ML$4E]I[:! MQ%*Q#@L0),UV,>R"L6A;J"1Z)&UG_WZ4K,B6Q C.PMPDEOR>ASP\U&L?<[)G M_(=84RK!4Y&78FJMI=QBGG(! M?@'/ND\QE23+Q6=U[^$^!I\^? 8?0%:"[VNV%:1,Q<26:EX5W5XT<[@^S &_ M, <'W*B!UP(D94I337P\'N^/Q-MJ/=I%P<^+G FR6G&Z(O63S9;M7OCK=R4%WR0M MQ-^ZJA^XKIY;.>"EV) %G5K*X@3E.VK-/OZ$?/A%M^0F8;%)6&((UBF.VQ;' M'://OC-)FVRWFBR#V4F:0KN)9'Z7$?#7[OA3,)BD[#$$*Q3 [^M M@?].;N";+(Y)6&P2EAB"=8H3M,4)WN@&AWCO]#%WL%M]S'3<8"A#H1,Y?3<8 MREP?.GY/E@QECAMYOJ-W@[!--AQ--MER]759E^1HW&MWFDE8;!*6&()U%C]J M%S]Z)QN(3!;')"PV"4L,P3K%0?#XI1Z^T0@:0.<1=P,GZ!F!1H8CK_=Q'^M@ M8>CWOF,D.EGD!Y'>!]!)"X-&L[U2/4JV( +0)_!P<7^AS7<4\=I]9Y06&Z4E MIFC=8N!C,? [.4,#-E4BD[38*"TQ1>N6Z-C0H=&6Y!QW<(9/*G)PU'<'C0R& M,.S;PU"& P0']C"411X.7G"'8X>$QENDFRQ- M[KO"4(3=@2D,15[_)\E$)X)NSQ+LDQ,2U2VLZJ,I 19L6\K#3^'MW?;XZZH^ M].G=OT:7!&ULK591C]HX$/XK M5FYU:J5M$@*$=@\BL82JK6ZEU:[:>SCUP20#6'7LG&U@M[^^8R?D8#>-V!8> MB.W,]WGFFXD]XYU4W_0:P)"'@@L]\=;&E%=!H+,U%%3[L@2!;Y92%=3@5*T" M72J@N0,5/(C", X*RH27C-W:K4K&>&\]DL.2;KBYD[L/4,=D!4 Z)3 ?T:T'\*&/P$,*@!@U,!PQK@0@^JV)UP*34T&2NY(\I:(YL= M./4=&O5BPM;)O5'XEB'.)'>P!;$!LE2R(#,IC,+4:73"K,G,;0]*DS?-*S+5 M&JN7BIS\S>B"<68>R:L4#&577QFEP0)L@-XQS+08\#@[[:'8.L M]NNZ\BOZB5]] J93_H5/.H0H]]43=_Q]5]2-<=%0_Z=+K1;_]J6 M_8I_T,YO#\?AK4%KSDSS]Z$VB^X+2<57:\Z*NP%LTT&/E;;]E#K4XS23L=>JN&9R(XT'#8: M#G]=PTL"#R5>>) 3(\D""!Z''"<*[ 6=XS<@E^01*-J7H#(0K:I7#O3" T%# M?SAX(OM)5FEG,"_5_4QD1[K'C>YQI^XI+$$IIZ4[:=J$BY]78CSRHR?"G625 MMEF]\X?O#G_'D'D+9/C6CQNKH[A'3=RC7ZHWOK]K+_>*X#.3*\&^M]Z.UZ/G MWO5ZSS[FRBH^,(K")\IT^OO2DCH3625M<-#UH$@KUVYJDLF-,%4#U*PV'>W4 M-7+!_^95.WQ#U8H)33@L$1KZ(ZQ]5;68U<3(TO50"VDP(VZXQJX&PO=V]R M:W-H965T@UYT1]NT8FM^.@$QP&9G25&S<0)J."K'".YJ&8*ML+*Y4EY2@T ME0(49N/@JC.\'KCU?L%GBEM=:X-SLI#RV77NEN,@4,,249*;D&Y MU5;--;Q5'VWAJ'"',C?*SE(;9Y(9;E"L$3(E.4RD,,KF25L(D\/$;X]*PSE, M4?D*$"G"QP6C*^*2JN'T!@VA3)_!"5 !]Y0Q-SX*C85S6X3I'N2Z!(E? 'F_ M9FV(.BV(H[@+#_,;.#TY^UDFM-XJ@W%E,/:ZW>,&6S!#5Z-4K%[PTH*WN\+6 M"B[A$^5NGOQ@M>'.(-=/309+D(MF$/=U#75!4AP']O/1J#88 M)*]?=?K1FR,VNY7-[C'UY(>[HN9.UMP1+M?"-'&7RGVO[#[B31)WNJ-PTX!S M4>%<_ +G;V6]!7-#E %;W0B/5SNJGX:^1LZCP7D4-_DYBO:;Y]"KC/?^EW+K M_0.;_&ULK59M M;]HP$/XK5C9-G=21-Y)M#"*U!+1-JE2UZO9AV@>3',1J$F>V@:Z_?K83,BAN M2EOX0/QRSW-WSUGV#=>4W?(,0*"[(B_YR,J$J :VS9,,"LQ[M()2[LPI*["0 M4[:P><4 IQI4Y+;G.*%=8%):T5"O7;)H2)VWP@\":;XV1 MRF1&Z:V:?$M'EJ,"@AP2H1BP_*Q@#'FNB&08?QI.JW6I@-OC#?M4YRYSF6$. M8YK_)*G(1M8G"Z4PQ\M<7-'U5VCR"11?0G.N_]&ZMOT86"A9@ 02' L(&H(MIUV)II6,L M<#1D=(V8LI9L:J#+I=%28%*J@W4MF-PE$B>B*UA!N00T9[1 8UH*)FO-91 B M0V/M'AA'']HM.>!R_R0&@4G.W\NMF^L8G;Q]/[2%C$>QVDGC^[SV[3WBVT<7 MDC7C:%*FD!KP<3<^[,#;4H=6#&\CQKG72?A]F?>0XYXBS_%\0SSC0^">AGNF M=%[G??(Z[]-N> Q)#_FN";ZCI=\>+%_S^<\Y6+OG"OTZFW&]_MMT>&K^OIE? M7;@#7N$$1I:\43FP%5C1NS=NZ'PQ5>Z89/$QR2;'))L>B6RGXOVVXOTN]FB, M*R)P3NXA10Z?4?]AO9JNWZ=KI];OT.] M3H[I=6KPZGJ[7G=T#UK=@Y?JC@O*!+G'ZA$WR5\3!]LA!2;U@[W0/QO,XGTZ MSV0WV:>3FNW;33OS?N%I#EM5PY>J2HH*$R:[*V'2--Q+[J&:3UK$3UI,GK28 M=J;W7/'LK0Y#WMP+W0MRJ<>R%/6;T*ZV[>:9[K(>K)^[@[%K6(_=P:3N)O_3 MU[WM!68+4G*4PURZIC)%AN8,I#[&ULK55=;],P%/TK5I 02*/.1U=@I)&V#L00$U,GX 'Q MX":WC37'#K;3#FD_GFLG#1VD>=I+XH][SKWGV+I.=TK?F1+ DOM*2#,/2FOK M,TI-7D+%S$35('%GK73%+$[UAII: RL\J!(T#L,9K1B709;ZM1N=I:JQ@DNX MT<0T5<7T[PL0:C)LMH0MR ;(6JN*+)2T&HTU6(0MR<*G!VW( M*[>5@]OUYB^YN2,O+L$R+LS+E%JLQ/'1O,MZT6:-CV2=D6M,51KR7A90#. 7 MX_@H'B&@:$'O0[SWX2(>9?S4B D)HQ,2AW$R5- X_!+R"4E:>#Q23M(?2^+Y MID?X]M:3+Q+(0W\20\?P0,[S7#423VT).? M6PD8.I+1C*Y;G)F:Y3 /L!T8 MT%L(LN?/HEGX;LB.)R)[9,ZT-V?JV9-CYOQOPH_/&$.N+%3FYY#VZ5-J?R*R M1]I/>^VGXQ?CD7:-VD](#=JM8=,=DM[R1:$G=$U]FX63:)K2[:&FX:BHCVJ+ MI0>-!J_CQO=?0_SU:WM.O]JW^'/?V>C?\/9]N&9ZPZ4A M8(#2>OL0+=]MQV M8E7MV]9*6;S[?ECB,P7:!>#^6BF[G[@$_<.7_0%02P,$% @ VH/X5NL2 M3Y@: P T0H !D !X;"]W;W)K&ULK59K;YLP M%/TK%JNF5MK"FSR6(#4ATSJI4M77/DS[X,!-0 6<)KD<$<1*[(,TU]C2,EZI)G:9N ^6<1< M#NC^<(D7\ #\:7E'14^O6:(D@YPE)$<4YB/MVAQ,NS)>!3PGL&9;;22=S AY MD9V;:*09K+] Y<>5?"%)F7JB=1GK&AH*"\9)5H'%#+(D+]_XM,S3-(XA:\,%QO'<$KPN[M6=K MXWEL'27\6J0=9)@?D&58=LM\)J? +06WVNS\G_KTG]5WDF'7&\!6?/8?-P * M$A:FA!44T/?K&>-4_,4_VM:[9'3:&>7)-F!+',)($T<7 [H"S7__SO2,3VW) M/B=9<$ZRZ9G(=I;%J9?%.<:^6989B*L Q ^H>ES^I6T+4G)YBDO>#"O?="RK M/]17VYG>C^I[7B,HV ^R7,_N[49-6P3[3N^-:\>S6WMV3_%\T*6[)^KT7*]A MDC=(DHYM!FM.3H;RD; M'=LQ&T[;HBQY)NQ8+:-,8S>LD;5I&Y?9[[:;[=9FNT?-/N.TP&4YD(IZ!.=A MJ]ON_HKU^X;1<'M4ZF^/B9,DIV>2+'.G;]W1&="%*HX8"DF1\_*TKD?K^NM: ME1V-\;$YF)@MXX&HU\KRZHV^+/9N,5TD.4,IS(64T>F*G4W+ JKL<+)4%<*, M<%%OJ&8L:DZ@,D!\GQ/"-QTI4%>Q_F]02P,$% @ VH/X5G:N/.,[! MQ!$ !D !X;"]W;W)K&ULM5AK;]LV%/TKA!8, M"9!&$O5T9AMH+ _K@ Y!LZR?&8NVB4BB2U)V^^]'4HHLTXP:+-H76Z3N/>0] M]^CR,3U0]LRW& OPO2PJ/G.V0NQN79>OMKA$_(;N<"7?K"DKD9!-MG'YCF&4 M:Z>R<*'GQ6Z)2.7,I[KOGLVGM!8%J? ] [PN2\1^W.&"'F:.[[QT?"&;K5 = M[GRZ0QO\@,7C[I[)EMNAY*3$%2>T @RO9\Y'_W;I0^6@+?XA^,![ST"%\D3I MLVI\RF>.IV:$"[P2"@+)OSU>X*)02'(>WUI0IQM3.?:?7]!_U\'+8)X0QPM: M?"6YV,ZG+2GKI"S56.Z MJW9F=\W,X"LS"\!G6HDM!\LJQ[G%/QOVCP?\7H.#@+^61DD,:R6%JLH#KW.ZB3$J LQ M&M18ABLJ2]ZK*HO&5-F88-F88,N1P$Y2$'K"_D!>C* MEMYF9E%/4W$,3>4M+%9A&L2&BFU8?I08*K9AR3'M*DXZ"I-!"I?KM=P4 ;H& M.2EJM2WJ2!1T]0SPMYKL48$KP7_&2'(VOR!(C5 7-J/ ^/0SBU$$33HL1C$, M[&RD'1OI_R4H39_L>H>DTO,$3V)3!@N+5>K'$X-"*U8:&AS:L& :V4F<="1. MAA??(P,J]#Z%UD(Y&;-0C@F6C0FV' GL)"6^=]Q(>X/*OC/KG9D:+;+P;W]#6PFX%#9U:K:"AYJ7=*K3KU.^=+OQ!4K+S;_8]M/BV M@,UMC=W*W-=8KRIDO2>H*'X<5X6F;EV#0ULBP4N) M_$E1:\?JUY@P.1?+N16,_<1DY=PJ2,PE9FG#\B>QP8K;.Y7*P\)&7P=PF?NZ M$LU!H^OMKAP^ZH.VT7_GWRY\2W^FKBCT*?@(W]QO?$9L0RH."KR60WDWB9PJ M:ZX,FH:@.WTF?J)"GK#UXQ:C'#-E(-^OJ&PODEX3"MSM:SHD[?@C"9S+J_WXQ<6N"2A5[1[A.A5JX4+ XB)Q\>)']+& MI'N[TNOAYT:KX9YCY+Z'O&&BM.2HZ1R8#2+<:WDGLS452PSK,AD-LD)NJB4B M+F"4:B,=@A+C :E%1KIN2-Z=C!-O@,"NKV_:HT#F>* MKMJ=+MD0[,TDF10J9:I)TR;KT&@@6 9V%)_-X:Z+,@10ZR(WC93362&I];!F MU TC.V5"W,'C_3/;T5YF6WMF=TPV36.H;CH9UP'];36GO2T;O4@W*/ECH;\L MS'2D[4.1L5O%,KZT_676&,#4V[@Z+4NQ^BSX3.;,3?[HA*,!7?.">:'XD\D& MI3(U :9(\,B4YM/MR&]%RWNVU.MR6F:XY\X)>OZWZSQCDBDJMDV;VG_+J_QB MQU'OM2S;;Y5]PUZ/]3O[K9OLGH+)^!1,GD1-]D_!9'(")GNO]JUYT&18GS*V MCC([!YDF&L"!<4A^P-%3;)(&DP47FLNZ-^=IRN2S\XR1UW1B_@C:T3?C4Y;1 MA=#W#3@DF_9WEO)%GC2C;F$AZE&;]C>87CMN3JLF%Y]%^BBGCW(, M[0?+X^JA!LIG@E8C/%UQH0_[H!(TG\NXWE 0:V"UCM0'Y_'J@I/R>*8%TJB*$G\"&!^!U&$(? TX@CF #Q@2!39]^#> M^RA-8?20$3; M8T.P6BP^0"X99K>]9!:GT?>@/*'UEI4W+G=\USUVX,\,*N 5PINTFO-^B6 M7*CHR^=#77/3#7>T@]P)K7QA7? HX-7^=[S>95MAQ9.0PNV&4?-=0L1*H40I MOD,QC'H1LVO]^I'W@$XT3^KGA10R[YDVU*'']ZX!YD M& UZOL*5,-8U9S3U<\^X!7_R?J]R^JN0#LR8._C3Z&HCU'-=C;^+;G ;31P. MVWT0K\ROA%&O5B*'L!7*Q])N[R2R S!#([(R0K4CV$%;"G\N58Z,\UY5R?LQC1V_8'5GVSR;R6V7/KS[8VML9K+J^[\5C87.IZE DA,9'$Q":9*BM\UV!+PXM:(2-CN._" M[P9!S",QL4A0V[4F-S%FDIA8)<=]UXR,#V!=..7&E)(0*^6]\?:,;\]FB(G) M)2&6RU'SL0N?]4FPOX>4: )#G<%@"F07(28FFH18-,#26F&828LV@-FQU M\P0S3T)LGM"&1V.(.2QD%$T]ZCER&=0Y*#S$Q\:1G$4_'=RL_/#D=8F+F28G-EK-:U&Q]R3$KOG%.:,^_EP:]4GQ=R3$KL'Z4*F@E:C8Q9* MB2UT"O/O.IKMGHY9**6V$#IYZX28F(52:@MAF.WA';-02IW^H)BA+#/,0AFQ MA8Y.A3NL*6;WFQ 3LU!&;*$3F)-R(_4.PN6##+-0=H;5M4,T.]?A?#/#+)2= M(_\Y-/I#*YKHGSAGS8!:70BS4$9L(1PS"S$Q"V7$%L(Q^R$F9J&,V$(XYB#$ MQ"R4$5L(Q[P,,3$+9<06:F7G'7;Q-OD($_0^II\^L7[0!'TK/__R7KURNCJTK*&U]VKVXU+PYO2!S>[OCR M U!+ P04 " #:@_A6H9?JE,D! "@'@ &@ 'AL+U]R96QS+W=O M/@@* MFC1NNWB\7%FU_:')EV6_#EVSW#7K&'0RF8;^YXSJ9?9SYFAQ[N)?)K:KU789 M7]OEYR$>\R^#PU?;[](FQER-%DV_CGE>A=/^?CJ%ZT'&E\G5Z.UC7O5O'U*% MTD$*05H^R"#(R@BOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'HK MZJT$>BOJK01Z&^IM!'H;ZFT$>AOJ;01ZVV"SA$!O0[V-0&]#O8U ;T.]C4!O M0[V-0&]#O8U ;T.]C4!O1[V=0&]'O9U ;T>]G4!O1[V=0&\?;'83Z.VHMQ/H M[:BW$^CMJ+<3Z.VHMQ/H[:BW$^A=H]XU@=XUZEW_I]XIG_UW7VSI;#)^VUGRO6U5UGZ2+$.P M#XSY;$F5]JFQ5,>1N7&5#O'1+9C5V4HOB(G!8,0R4P>J0S\T-9+I^(GF>EV& MWO,VOO:%J2>)H](GON[,:N__CG:W--*%_4QG[5_H*>?4$L! A0#% @ VH/X5@=!36*! M L0 ! ( ! &1O8U!R;W!S+V%P<"YX;6Q02P$" M% ,4 " #:@_A6(09R5.\ K @ $0 @ &O 9&]C M4')O<',O8V]R92YX;6Q02P$"% ,4 " #:@_A6F5R<(Q & "<)P $P M @ '- 0 >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( M -J#^%;-4>ENQ 4 +X> 8 " @0X( !X;"]W;W)KXA,4UT& Z&@ & M @($(#@ >&PO=V]R:W-H965T&UL4$L! A0# M% @ VH/X5C8NMVP' P 7PH !@ ("!FQ0 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ VH/X5N&_-7=T M!@ I1H !@ ("!YB@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ VH/X5L]8.BEQ!@ #A$ !@ M ("!$3H 'AL+W=O&UL4$L! A0#% @ VH/X5EC2II?J!@ ^0\ !D M ("!0T8 'AL+W=O&PO M=V]R:W-H965T55 !X;"]W;W)K&UL4$L! A0#% @ VH/X5GF2/4[9!P SQ, !D ("! M=&( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ VH/X5J &C%]^ @ M@< !D ("!&PO=V]R:W-H965T&UL4$L! A0#% @ VH/X5OCP>*1( M! WPH !D ("!#8, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ VH/X5EL0EQ\N P L0< !D M ("!+9$ 'AL+W=O&PO=V]R M:W-H965TJ7 !X;"]W;W)K&UL M4$L! A0#% @ VH/X5HHRE"^Z @ _ 4 !D ("!3IL M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MVH/X5ASYM01%!@ >"L !D ("!7*H 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ VH/X5E4[2!YJ @ M/P8 !D ("!NKL 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ VH/X5D> H'PZ P ZPT !D M ("!5,4 'AL+W=O0# #:# &0 @('%R >&PO=V]R:W-H M965T#, !X;"]W;W)K&UL4$L! M A0#% @ VH/X5B :!L3* @ F0< !D ("!8- 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ VH/X M5IA^*WX2" @3\ !D ("!@-L 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ VH/X5B<]'^IR P ' T M !D ("!ONT 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ VH/X5C;ES2:P @ Q@< !D M ("!I?D 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ VH/X5NL23Y@: P T0H !D ("!@P(! 'AL+W=O M&PO=V]R:W-H965T : " 1H3 0!X M;"]? 3 " 1L5 0!;0V]N=&5N=%]4>7!E&UL 64$L%!@ [ #L %! \7 0 $! end XML 65 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 66 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 67 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.2 html 194 251 1 false 50 0 false 6 false false R1.htm 0000001 - Document - Cover Sheet http://www.calix.com/role/Cover Cover Cover 1 false false R2.htm 0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Sheet http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Statements 4 false false R5.htm 0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 5 false false R6.htm 0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 0000007 - Disclosure - Company and Basis of Presentation Sheet http://www.calix.com/role/CompanyandBasisofPresentation Company and Basis of Presentation Notes 7 false false R8.htm 0000008 - Disclosure - Significant Accounting Policies Sheet http://www.calix.com/role/SignificantAccountingPolicies Significant Accounting Policies Notes 8 false false R9.htm 0000009 - Disclosure - Cash, Cash Equivalents, and Marketable Securities Sheet http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities Cash, Cash Equivalents, and Marketable Securities Notes 9 false false R10.htm 0000010 - Disclosure - Fair Value Measurements Sheet http://www.calix.com/role/FairValueMeasurements Fair Value Measurements Notes 10 false false R11.htm 0000011 - Disclosure - Balance Sheet Details Sheet http://www.calix.com/role/BalanceSheetDetails Balance Sheet Details Notes 11 false false R12.htm 0000012 - Disclosure - Commitments and Contingencies Sheet http://www.calix.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 12 false false R13.htm 0000013 - Disclosure - Stockholders' Equity Sheet http://www.calix.com/role/StockholdersEquity Stockholders' Equity Notes 13 false false R14.htm 0000014 - Disclosure - Revenue from Contracts with Customers Sheet http://www.calix.com/role/RevenuefromContractswithCustomers Revenue from Contracts with Customers Notes 14 false false R15.htm 0000015 - Disclosure - Income Taxes Sheet http://www.calix.com/role/IncomeTaxes Income Taxes Notes 15 false false R16.htm 0000016 - Disclosure - Net Income Per Common Share Sheet http://www.calix.com/role/NetIncomePerCommonShare Net Income Per Common Share Notes 16 false false R17.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 17 false false R18.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 18 false false R19.htm 9954701 - Disclosure - Significant Accounting Policies (Policies) Sheet http://www.calix.com/role/SignificantAccountingPoliciesPolicies Significant Accounting Policies (Policies) Policies http://www.calix.com/role/SignificantAccountingPolicies 19 false false R20.htm 9954702 - Disclosure - Cash, Cash Equivalents and Restricted Cash (Tables) Sheet http://www.calix.com/role/CashCashEquivalentsandRestrictedCashTables Cash, Cash Equivalents and Restricted Cash (Tables) Tables 20 false false R21.htm 9954703 - Disclosure - Fair Value Measures and Disclosures (Tables) Sheet http://www.calix.com/role/FairValueMeasuresandDisclosuresTables Fair Value Measures and Disclosures (Tables) Tables 21 false false R22.htm 9954704 - Disclosure - Balance Sheet Details (Tables) Sheet http://www.calix.com/role/BalanceSheetDetailsTables Balance Sheet Details (Tables) Tables http://www.calix.com/role/BalanceSheetDetails 22 false false R23.htm 9954705 - Disclosure - Commitments and Contingencies (Tables) Sheet http://www.calix.com/role/CommitmentsandContingenciesTables Commitments and Contingencies (Tables) Tables http://www.calix.com/role/CommitmentsandContingencies 23 false false R24.htm 9954706 - Disclosure - Stockholders' Equity (Tables) Sheet http://www.calix.com/role/StockholdersEquityTables Stockholders' Equity (Tables) Tables http://www.calix.com/role/StockholdersEquity 24 false false R25.htm 9954707 - Disclosure - Revenue from Contracts with Customers (Tables) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersTables Revenue from Contracts with Customers (Tables) Tables http://www.calix.com/role/RevenuefromContractswithCustomers 25 false false R26.htm 9954708 - Disclosure - Income Taxes (Tables) Sheet http://www.calix.com/role/IncomeTaxesTables Income Taxes (Tables) Tables http://www.calix.com/role/IncomeTaxes 26 false false R27.htm 9954709 - Disclosure - Net Income Per Common Share (Tables) Sheet http://www.calix.com/role/NetIncomePerCommonShareTables Net Income Per Common Share (Tables) Tables http://www.calix.com/role/NetIncomePerCommonShare 27 false false R28.htm 9954710 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - Summary of Cash and Cash Equivalents (Details) Sheet http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails Cash, Cash Equivalents, and Marketable Securities - Summary of Cash and Cash Equivalents (Details) Details 28 false false R29.htm 9954711 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - Schedule of Marketable Securities (Details) Sheet http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails Cash, Cash Equivalents, and Marketable Securities - Schedule of Marketable Securities (Details) Details 29 false false R30.htm 9954712 - Disclosure - Fair Value Measures and Disclosures (Details) Sheet http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails Fair Value Measures and Disclosures (Details) Details http://www.calix.com/role/FairValueMeasuresandDisclosuresTables 30 false false R31.htm 9954713 - Disclosure - Balance Sheet Details - Accounts Receivable (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails Balance Sheet Details - Accounts Receivable (Details) Details 31 false false R32.htm 9954714 - Disclosure - Balance Sheet Details - Inventory (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsInventoryDetails Balance Sheet Details - Inventory (Details) Details 32 false false R33.htm 9954715 - Disclosure - Balance Sheet Details - Prepaid Expenses and Other Assets (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails Balance Sheet Details - Prepaid Expenses and Other Assets (Details) Details 33 false false R34.htm 9954716 - Disclosure - Balance Sheet Details - Property and Equipment, net (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails Balance Sheet Details - Property and Equipment, net (Details) Details 34 false false R35.htm 9954717 - Disclosure - Balance Sheet Details - Narrative (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails Balance Sheet Details - Narrative (Details) Details 35 false false R36.htm 9954718 - Disclosure - Balance Sheet Details - Accrued Liabilities (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails Balance Sheet Details - Accrued Liabilities (Details) Details 36 false false R37.htm 9954719 - Disclosure - Balance Sheet Details - Warranty Reserve (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails Balance Sheet Details - Warranty Reserve (Details) Details 37 false false R38.htm 9954720 - Disclosure - Commitments and Contingencies - Operating Leases (Details) Sheet http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails Commitments and Contingencies - Operating Leases (Details) Details 38 false false R39.htm 9954721 - Disclosure - Commitments and Contingencies - Operating Lease Liability (Details) Sheet http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails Commitments and Contingencies - Operating Lease Liability (Details) Details 39 false false R40.htm 9954722 - Disclosure - Commitments and Contingencies - Narrative (Details) Sheet http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails Commitments and Contingencies - Narrative (Details) Details 40 false false R41.htm 9954723 - Disclosure - Stockholders' Equity - Stock Options (Details) Sheet http://www.calix.com/role/StockholdersEquityStockOptionsDetails Stockholders' Equity - Stock Options (Details) Details 41 false false R42.htm 9954724 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plans (Details) Sheet http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails Stockholders' Equity - Employee Stock Purchase Plans (Details) Details 42 false false R43.htm 9954725 - Disclosure - Stockholders' Equity - Stock-Based Compensation Expense (Details) Sheet http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails Stockholders' Equity - Stock-Based Compensation Expense (Details) Details 43 false false R44.htm 9954726 - Disclosure - Stockholders' Equity - Stock Repurchase Program (Details) Sheet http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails Stockholders' Equity - Stock Repurchase Program (Details) Details 44 false false R45.htm 9954727 - Disclosure - Revenue from Contracts with Customers - Revenue (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails Revenue from Contracts with Customers - Revenue (Details) Details 45 false false R46.htm 9954728 - Disclosure - Revenue from Contracts with Customers - Contract Asset and Liability (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails Revenue from Contracts with Customers - Contract Asset and Liability (Details) Details 46 false false R47.htm 9954729 - Disclosure - Revenue from Contracts with Customers - Performance Obligations (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails Revenue from Contracts with Customers - Performance Obligations (Details) Details 47 false false R48.htm 9954730 - Disclosure - Revenue from Contracts with Customers - Contract Costs (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails Revenue from Contracts with Customers - Contract Costs (Details) Details 48 false false R49.htm 9954731 - Disclosure - Revenue from Contracts with Customers - Concentration Risk (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails Revenue from Contracts with Customers - Concentration Risk (Details) Details 49 false false R50.htm 9954732 - Disclosure - Income Taxes - (Details) Sheet http://www.calix.com/role/IncomeTaxesDetails Income Taxes - (Details) Details http://www.calix.com/role/IncomeTaxesTables 50 false false R51.htm 9954733 - Disclosure - Net Income Per Common Share (Details) Sheet http://www.calix.com/role/NetIncomePerCommonShareDetails Net Income Per Common Share (Details) Details http://www.calix.com/role/NetIncomePerCommonShareTables 51 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 1 fact(s) appearing in ix:hidden were eligible for transformation: ecd:TrdArrDuration - calx-20230701.htm 4 calx-20230701.htm calx-20230701.xsd calx-20230701_cal.xml calx-20230701_def.xml calx-20230701_lab.xml calx-20230701_pre.xml calx_23q2ex311.htm calx_23q2ex312.htm calx_23q2ex321.htm ex101non-employeedirectorc.htm ex102non-employeedirectore.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 70 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "calx-20230701.htm": { "axisCustom": 0, "axisStandard": 19, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 671, "http://xbrl.sec.gov/dei/2023": 29, "http://xbrl.sec.gov/ecd/2023": 10 }, "contextCount": 194, "dts": { "calculationLink": { "local": [ "calx-20230701_cal.xml" ] }, "definitionLink": { "local": [ "calx-20230701_def.xml" ] }, "inline": { "local": [ "calx-20230701.htm" ] }, "labelLink": { "local": [ "calx-20230701_lab.xml" ] }, "presentationLink": { "local": [ "calx-20230701_pre.xml" ] }, "schema": { "local": [ "calx-20230701.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" ] } }, "elementCount": 472, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2023": 1, "http://xbrl.sec.gov/dei/2023": 5, "http://xbrl.sec.gov/ecd/2023": 1, "total": 7 }, "keyCustom": 26, "keyStandard": 225, "memberCustom": 11, "memberStandard": 35, "nsprefix": "calx", "nsuri": "http://www.calix.com/20230701", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0000001 - Document - Cover", "menuCat": "Cover", "order": "1", "role": "http://www.calix.com/role/Cover", "shortName": "Cover", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000010 - Disclosure - Fair Value Measurements", "menuCat": "Notes", "order": "10", "role": "http://www.calix.com/role/FairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000011 - Disclosure - Balance Sheet Details", "menuCat": "Notes", "order": "11", "role": "http://www.calix.com/role/BalanceSheetDetails", "shortName": "Balance Sheet Details", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000012 - Disclosure - Commitments and Contingencies", "menuCat": "Notes", "order": "12", "role": "http://www.calix.com/role/CommitmentsandContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000013 - Disclosure - Stockholders' Equity", "menuCat": "Notes", "order": "13", "role": "http://www.calix.com/role/StockholdersEquity", "shortName": "Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000014 - Disclosure - Revenue from Contracts with Customers", "menuCat": "Notes", "order": "14", "role": "http://www.calix.com/role/RevenuefromContractswithCustomers", "shortName": "Revenue from Contracts with Customers", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000015 - Disclosure - Income Taxes", "menuCat": "Notes", "order": "15", "role": "http://www.calix.com/role/IncomeTaxes", "shortName": "Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000016 - Disclosure - Net Income Per Common Share", "menuCat": "Notes", "order": "16", "role": "http://www.calix.com/role/NetIncomePerCommonShare", "shortName": "Net Income Per Common Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "menuCat": "Notes", "order": "17", "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "shortName": "Pay vs Performance Disclosure", "subGroupType": "", "uniqueAnchor": null }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "ecd:MtrlTermsOfTrdArrTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "995445 - Disclosure - Insider Trading Arrangements", "menuCat": "Notes", "order": "18", "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "shortName": "Insider Trading Arrangements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "ecd:MtrlTermsOfTrdArrTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954701 - Disclosure - Significant Accounting Policies (Policies)", "menuCat": "Policies", "order": "19", "role": "http://www.calix.com/role/SignificantAccountingPoliciesPolicies", "shortName": "Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "menuCat": "Statements", "order": "2", "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AssetsCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954702 - Disclosure - Cash, Cash Equivalents and Restricted Cash (Tables)", "menuCat": "Tables", "order": "20", "role": "http://www.calix.com/role/CashCashEquivalentsandRestrictedCashTables", "shortName": "Cash, Cash Equivalents and Restricted Cash (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954703 - Disclosure - Fair Value Measures and Disclosures (Tables)", "menuCat": "Tables", "order": "21", "role": "http://www.calix.com/role/FairValueMeasuresandDisclosuresTables", "shortName": "Fair Value Measures and Disclosures (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954704 - Disclosure - Balance Sheet Details (Tables)", "menuCat": "Tables", "order": "22", "role": "http://www.calix.com/role/BalanceSheetDetailsTables", "shortName": "Balance Sheet Details (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954705 - Disclosure - Commitments and Contingencies (Tables)", "menuCat": "Tables", "order": "23", "role": "http://www.calix.com/role/CommitmentsandContingenciesTables", "shortName": "Commitments and Contingencies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954706 - Disclosure - Stockholders' Equity (Tables)", "menuCat": "Tables", "order": "24", "role": "http://www.calix.com/role/StockholdersEquityTables", "shortName": "Stockholders' Equity (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954707 - Disclosure - Revenue from Contracts with Customers (Tables)", "menuCat": "Tables", "order": "25", "role": "http://www.calix.com/role/RevenuefromContractswithCustomersTables", "shortName": "Revenue from Contracts with Customers (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954708 - Disclosure - Income Taxes (Tables)", "menuCat": "Tables", "order": "26", "role": "http://www.calix.com/role/IncomeTaxesTables", "shortName": "Income Taxes (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954709 - Disclosure - Net Income Per Common Share (Tables)", "menuCat": "Tables", "order": "27", "role": "http://www.calix.com/role/NetIncomePerCommonShareTables", "shortName": "Net Income Per Common Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLoss", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954710 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - Summary of Cash and Cash Equivalents (Details)", "menuCat": "Details", "order": "28", "role": "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "shortName": "Cash, Cash Equivalents, and Marketable Securities - Summary of Cash and Cash Equivalents (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLoss", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleExcludingAccruedInterestCurrent", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954711 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - Schedule of Marketable Securities (Details)", "menuCat": "Details", "order": "29", "role": "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "shortName": "Cash, Cash Equivalents, and Marketable Securities - Schedule of Marketable Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-78", "decimals": "-3", "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "us-gaap:PreferredStockParOrStatedValuePerShare", "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "menuCat": "Statements", "order": "3", "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "us-gaap:PreferredStockParOrStatedValuePerShare", "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleExcludingAccruedInterestCurrent", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954712 - Disclosure - Fair Value Measures and Disclosures (Details)", "menuCat": "Details", "order": "30", "role": "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails", "shortName": "Fair Value Measures and Disclosures (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-102", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AssetsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AccountsReceivableGrossCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954713 - Disclosure - Balance Sheet Details - Accounts Receivable (Details)", "menuCat": "Details", "order": "31", "role": "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails", "shortName": "Balance Sheet Details - Accounts Receivable (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AccountsReceivableGrossCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954714 - Disclosure - Balance Sheet Details - Inventory (Details)", "menuCat": "Details", "order": "32", "role": "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails", "shortName": "Balance Sheet Details - Inventory (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DepositsAssetsCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954715 - Disclosure - Balance Sheet Details - Prepaid Expenses and Other Assets (Details)", "menuCat": "Details", "order": "33", "role": "http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails", "shortName": "Balance Sheet Details - Prepaid Expenses and Other Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DepositsAssetsCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954716 - Disclosure - Balance Sheet Details - Property and Equipment, net (Details)", "menuCat": "Details", "order": "34", "role": "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails", "shortName": "Balance Sheet Details - Property and Equipment, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AccruedLiabilitiesCurrent", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954717 - Disclosure - Balance Sheet Details - Narrative (Details)", "menuCat": "Details", "order": "35", "role": "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails", "shortName": "Balance Sheet Details - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-134", "decimals": "-5", "lang": "en-US", "name": "us-gaap:RoyaltyGuaranteesCommitmentsAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954718 - Disclosure - Balance Sheet Details - Accrued Liabilities (Details)", "menuCat": "Details", "order": "36", "role": "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails", "shortName": "Balance Sheet Details - Accrued Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-12", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954719 - Disclosure - Balance Sheet Details - Warranty Reserve (Details)", "menuCat": "Details", "order": "37", "role": "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails", "shortName": "Balance Sheet Details - Warranty Reserve (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-12", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954720 - Disclosure - Commitments and Contingencies - Operating Leases (Details)", "menuCat": "Details", "order": "38", "role": "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails", "shortName": "Commitments and Contingencies - Operating Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseLiabilityCurrent", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954721 - Disclosure - Commitments and Contingencies - Operating Lease Liability (Details)", "menuCat": "Details", "order": "39", "role": "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails", "shortName": "Commitments and Contingencies - Operating Lease Liability (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R4": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "menuCat": "Statements", "order": "4", "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954722 - Disclosure - Commitments and Contingencies - Narrative (Details)", "menuCat": "Details", "order": "40", "role": "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails", "shortName": "Commitments and Contingencies - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "-5", "lang": "en-US", "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954723 - Disclosure - Stockholders' Equity - Stock Options (Details)", "menuCat": "Details", "order": "41", "role": "http://www.calix.com/role/StockholdersEquityStockOptionsDetails", "shortName": "Stockholders' Equity - Stock Options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "INF", "first": true, "lang": "en-US", "name": "calx:NumberOfEmployeeStockPurchasePlans", "reportCount": 1, "unique": true, "unitRef": "plan", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954724 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plans (Details)", "menuCat": "Details", "order": "42", "role": "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "shortName": "Stockholders' Equity - Employee Stock Purchase Plans (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "INF", "first": true, "lang": "en-US", "name": "calx:NumberOfEmployeeStockPurchasePlans", "reportCount": 1, "unique": true, "unitRef": "plan", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954725 - Disclosure - Stockholders' Equity - Stock-Based Compensation Expense (Details)", "menuCat": "Details", "order": "43", "role": "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails", "shortName": "Stockholders' Equity - Stock-Based Compensation Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-170", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockRepurchaseProgramPeriodInForce1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954726 - Disclosure - Stockholders' Equity - Stock Repurchase Program (Details)", "menuCat": "Details", "order": "44", "role": "http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails", "shortName": "Stockholders' Equity - Stock Repurchase Program (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-170", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockRepurchaseProgramPeriodInForce1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954727 - Disclosure - Revenue from Contracts with Customers - Revenue (Details)", "menuCat": "Details", "order": "45", "role": "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails", "shortName": "Revenue from Contracts with Customers - Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-172", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetNet", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954728 - Disclosure - Revenue from Contracts with Customers - Contract Asset and Liability (Details)", "menuCat": "Details", "order": "46", "role": "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails", "shortName": "Revenue from Contracts with Customers - Contract Asset and Liability (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-12", "decimals": "-5", "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiability", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954729 - Disclosure - Revenue from Contracts with Customers - Performance Obligations (Details)", "menuCat": "Details", "order": "47", "role": "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails", "shortName": "Revenue from Contracts with Customers - Performance Obligations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-3", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:CapitalizedContractCostGross", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954730 - Disclosure - Revenue from Contracts with Customers - Contract Costs (Details)", "menuCat": "Details", "order": "48", "role": "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails", "shortName": "Revenue from Contracts with Customers - Contract Costs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-4", "decimals": "-5", "lang": "en-US", "name": "us-gaap:CapitalizedContractCostGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-193", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954731 - Disclosure - Revenue from Contracts with Customers - Concentration Risk (Details)", "menuCat": "Details", "order": "49", "role": "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails", "shortName": "Revenue from Contracts with Customers - Concentration Risk (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-193", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-43", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "menuCat": "Statements", "order": "5", "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-43", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954732 - Disclosure - Income Taxes - (Details)", "menuCat": "Details", "order": "50", "role": "http://www.calix.com/role/IncomeTaxesDetails", "shortName": "Income Taxes - (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "3", "lang": "en-US", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954733 - Disclosure - Net Income Per Common Share (Details)", "menuCat": "Details", "order": "51", "role": "http://www.calix.com/role/NetIncomePerCommonShareDetails", "shortName": "Net Income Per Common Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-5", "decimals": "-3", "lang": "en-US", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "menuCat": "Statements", "order": "6", "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": "-3", "lang": "en-US", "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000007 - Disclosure - Company and Basis of Presentation", "menuCat": "Notes", "order": "7", "role": "http://www.calix.com/role/CompanyandBasisofPresentation", "shortName": "Company and Basis of Presentation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000008 - Disclosure - Significant Accounting Policies", "menuCat": "Notes", "order": "8", "role": "http://www.calix.com/role/SignificantAccountingPolicies", "shortName": "Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000009 - Disclosure - Cash, Cash Equivalents, and Marketable Securities", "menuCat": "Notes", "order": "9", "role": "http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities", "shortName": "Cash, Cash Equivalents, and Marketable Securities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 50, "tag": { "calx_A2017NonqualifiedEmployeeStockPurchasePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2017 Nonqualified Employee Stock Purchase Plan", "label": "2017 Nonqualified Employee Stock Purchase Plan [Member]", "terseLabel": "2017 Nonqualified Employee Stock Purchase Plan" } } }, "localname": "A2017NonqualifiedEmployeeStockPurchasePlanMember", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "xbrltype": "domainItemType" }, "calx_A2019EquityIncentiveAwardPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2019 Equity Incentive Award Plan [Member]", "label": "2019 Equity Incentive Award Plan [Member]", "terseLabel": "2019 Equity Incentive Award Plan" } } }, "localname": "A2019EquityIncentiveAwardPlanMember", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "domainItemType" }, "calx_A2021PerformanceTargetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2021 Performance Targets", "label": "2021 Performance Targets [Member]", "terseLabel": "2021 Performance Targets" } } }, "localname": "A2021PerformanceTargetsMember", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "domainItemType" }, "calx_AccruedBusinessEventsCurrent": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 12.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued Business Events, Current", "label": "Accrued Business Events, Current", "terseLabel": "Business events" } } }, "localname": "AccruedBusinessEventsCurrent", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "calx_AccruedCustomerRebates": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 11.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued customer rebates.", "label": "Accrued Customer Rebates", "terseLabel": "Customer advances or rebates" } } }, "localname": "AccruedCustomerRebates", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued excess and obsolete inventory at contract manufacturer.", "label": "Accrued Excess and Obsolete Inventory At Contract Manufacturer", "terseLabel": "Accrued customer rebates/prepayments", "verboseLabel": "Component inventory held by suppliers" } } }, "localname": "AccruedExcessAndObsoleteInventoryAtContractManufacturer", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails", "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "calx_AccruedFreight": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 7.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued Freight", "label": "Accrued Freight", "terseLabel": "Freight" } } }, "localname": "AccruedFreight", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "calx_AmericasNonUSMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Americas, Non-U.S.", "label": "Americas, Non-U.S. [Member]", "terseLabel": "Americas ex U.S." } } }, "localname": "AmericasNonUSMember", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "xbrltype": "domainItemType" }, "calx_CashCashEquivalentsAndMarketableSecurities": { "auth_ref": [], "calculation": { "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Cash, Cash Equivalents, And Marketable Securities", "label": "Cash, Cash Equivalents, And Marketable Securities", "totalLabel": "Total cash, cash equivalents, and marketable securities" } } }, "localname": "CashCashEquivalentsAndMarketableSecurities", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "xbrltype": "monetaryItemType" }, "calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent", "label": "Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent", "terseLabel": "Contract with customer, asset, expected to be billed remainder of year, percent" } } }, "localname": "ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails" ], "xbrltype": "percentItemType" }, "calx_CustomerOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer One", "label": "Customer One [Member]", "terseLabel": "Customer One" } } }, "localname": "CustomerOneMember", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "calx_LesseeOperatingLeaseLiabilityTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease Liability", "label": "Lessee, Operating Lease Liability [Table Text Block]", "terseLabel": "Lessee, operating lease liability" } } }, "localname": "LesseeOperatingLeaseLiabilityTableTextBlock", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "calx_LesseeOperatingLeaseLiabilityToBePaidYearFourAndAfterYearFour": { "auth_ref": [], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease, Liability, To Be Paid, Year Four And After Year Four", "label": "Lessee, Operating Lease, Liability, To Be Paid, Year Four And After Year Four", "terseLabel": "2027 and thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityToBePaidYearFourAndAfterYearFour", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "calx_MiddleEastAndAfricaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Middle East And Africa", "label": "Middle East And Africa [Member]", "terseLabel": "Middle East & Africa" } } }, "localname": "MiddleEastAndAfricaMember", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "xbrltype": "domainItemType" }, "calx_NumberOfEmployeeStockPurchasePlans": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number Of Employee Stock Purchase Plans", "label": "Number Of Employee Stock Purchase Plans", "terseLabel": "Number of employee stock purchase plans" } } }, "localname": "NumberOfEmployeeStockPurchasePlans", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "xbrltype": "integerItemType" }, "calx_PaymentsForFinancingArrangements": { "auth_ref": [], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Payments For Financing Arrangements", "label": "Payments For Financing Arrangements", "negatedTerseLabel": "Payments related to financing arrangements" } } }, "localname": "PaymentsForFinancingArrangements", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "calx_PerformanceBasedStockOptionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Based Stock Options", "label": "Performance Based Stock Options [Member]", "terseLabel": "Performance Based Stock Options" } } }, "localname": "PerformanceBasedStockOptionsMember", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "calx_PrepaidExpensesAndOtherAssetsMiscellaneousCurrent": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Prepaid Expenses And Other Assets, Miscellaneous, Current", "label": "Prepaid Expenses And Other Assets, Miscellaneous, Current", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpensesAndOtherAssetsMiscellaneousCurrent", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails" ], "xbrltype": "monetaryItemType" }, "calx_ProductReturnReserveCurrent": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 10.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Product Return Reserve, Current", "label": "Product Return Reserve, Current", "terseLabel": "Product returns" } } }, "localname": "ProductReturnReserveCurrent", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "calx_RevenueShareObligationCurrent": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Revenue Share Obligation, Current", "label": "Revenue Share Obligation, Current", "terseLabel": "Revenue share payments" } } }, "localname": "RevenueShareObligationCurrent", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "calx_SanJoseCaliforniaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "San Jose, California", "label": "San Jose, California [Member]", "terseLabel": "San Jose, California" } } }, "localname": "SanJoseCaliforniaMember", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "domainItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture", "terseLabel": "Employee termination period following purchase date to receive shares subject to risk of forfeiture" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "xbrltype": "durationItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomeTargetAchievementPerformanceThresholdPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income, Target Achievement Performance Threshold, Percent", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income, Target Achievement Performance Threshold, Percent", "terseLabel": "Net income per share, target achievement performance threshold, percent" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomeTargetAchievementPerformanceThresholdPercent", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "percentItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods", "terseLabel": "Number of offering periods" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "xbrltype": "integerItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period", "terseLabel": "Maximum number of shares allocated per purchase period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "xbrltype": "sharesItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares", "label": "Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares", "terseLabel": "Increase in the number of shares of common stock issuable (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "sharesItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met", "terseLabel": "Number of shares granted if no-GAAP income below 80% and bookings below 90% of target (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "sharesItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceOfCommonStockOfferingPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-based Payment Award, Purchase Price Of Common Stock, Offering Period", "label": "Share-Based Compensation Arrangement By Share-based Payment Award, Purchase Price Of Common Stock, Offering Period", "terseLabel": "Offering period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceOfCommonStockOfferingPeriod", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "xbrltype": "durationItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceMaximumCombinedPayoutPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Maximum Combined Payout, Percent", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Maximum Combined Payout, Percent", "terseLabel": "Maximum combined payout percent" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceMaximumCombinedPayoutPercent", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "percentItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent", "terseLabel": "Target achievement threshold for shares award sliding scale" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "percentItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent", "terseLabel": "Shares award weighting percent" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "percentItemType" }, "calx_ShortTermMarketableSecuritiesAndCashEquivalentsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Short-Term Marketable Securities And Cash Equivalents", "label": "Short-Term Marketable Securities And Cash Equivalents [Member]", "terseLabel": "Short-Term Marketable Securities And Cash Equivalents" } } }, "localname": "ShortTermMarketableSecuritiesAndCashEquivalentsMember", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails" ], "xbrltype": "domainItemType" }, "calx_ShortTermMarketableSecuritiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Short-Term Marketable Securities", "label": "Short-Term Marketable Securities [Member]", "terseLabel": "Short-Term Marketable Securities" } } }, "localname": "ShortTermMarketableSecuritiesMember", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "xbrltype": "domainItemType" }, "calx_SoftwareMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Software", "label": "Software [Member]", "terseLabel": "Software" } } }, "localname": "SoftwareMember", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "calx_StandardAndExtendedProductWarrantyAccrualIncreaseForWarrantiesIssuedNetOfAdjustments": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Standard And Extended Product Warranty Accrual, Increase For Warranties Issued, Net Of Adjustments", "label": "Standard And Extended Product Warranty Accrual, Increase For Warranties Issued, Net Of Adjustments", "terseLabel": "Accruals for product warranty and retrofit" } } }, "localname": "StandardAndExtendedProductWarrantyAccrualIncreaseForWarrantiesIssuedNetOfAdjustments", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails" ], "xbrltype": "monetaryItemType" }, "calx_StockRepurchasedDuringPeriodAverageCostPerShare": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Stock Repurchased During Period, Average Cost Per Share", "label": "Stock Repurchased During Period, Average Cost Per Share", "terseLabel": "Average price paid per share (in dollars per share)" } } }, "localname": "StockRepurchasedDuringPeriodAverageCostPerShare", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails" ], "xbrltype": "perShareItemType" }, "calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Taxes Payable, Current, Excluding Accrued Income Taxes", "label": "Taxes Payable, Current, Excluding Accrued Income Taxes", "terseLabel": "Taxes payable" } } }, "localname": "TaxesPayableCurrentExcludingAccruedIncomeTaxes", "nsuri": "http://www.calix.com/20230701", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES", "terseLabel": "United States" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag", "terseLabel": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code", "terseLabel": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2023", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r563" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report", "terseLabel": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r596" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report", "terseLabel": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type", "terseLabel": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One", "terseLabel": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r561" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key", "terseLabel": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status", "terseLabel": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r561" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number", "terseLabel": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r561" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category", "terseLabel": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code", "terseLabel": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r635" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current", "terseLabel": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r561" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name", "terseLabel": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r561" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company", "terseLabel": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r561" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business", "terseLabel": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r561" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number", "terseLabel": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number", "terseLabel": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r560" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security", "terseLabel": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r562" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name", "terseLabel": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol", "terseLabel": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "tradingSymbolItemType" }, "ecd_Additional402vDisclosureTextBlock": { "auth_ref": [ "r597" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "localname": "Additional402vDisclosureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AdjToCompAmt": { "auth_ref": [ "r603" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "localname": "AdjToCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AdjToCompAxis": { "auth_ref": [ "r603" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "localname": "AdjToCompAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "auth_ref": [ "r603" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "localname": "AdjToNonPeoNeoCompFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AdjToPeoCompFnTextBlock": { "auth_ref": [ "r603" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "localname": "AdjToPeoCompFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AggtErrCompAmt": { "auth_ref": [ "r568", "r579", "r589", "r614" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "localname": "AggtErrCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "auth_ref": [ "r571", "r582", "r592", "r617" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "localname": "AggtErrCompNotYetDeterminedTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AllAdjToCompMember": { "auth_ref": [ "r603" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "localname": "AllAdjToCompMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllExecutiveCategoriesMember": { "auth_ref": [ "r610" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "localname": "AllExecutiveCategoriesMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllIndividualsMember": { "auth_ref": [ "r575", "r583", "r593", "r610", "r618", "r622", "r630" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "localname": "AllIndividualsMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "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" ], "xbrltype": "domainItemType" }, "ecd_AllTradingArrangementsMember": { "auth_ref": [ "r628" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "localname": "AllTradingArrangementsMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "ecd_AwardExrcPrice": { "auth_ref": [ "r625" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "localname": "AwardExrcPrice", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "perShareItemType" }, "ecd_AwardGrantDateFairValue": { "auth_ref": [ "r626" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "localname": "AwardGrantDateFairValue", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AwardTmgDiscLineItems": { "auth_ref": [ "r621" ], "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "localname": "AwardTmgDiscLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "auth_ref": [ "r621" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgMethodTextBlock": { "auth_ref": [ "r621" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "localname": "AwardTmgMethodTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgMnpiCnsdrdFlag": { "auth_ref": [ "r621" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "localname": "AwardTmgMnpiCnsdrdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_AwardTmgMnpiDiscTextBlock": { "auth_ref": [ "r621" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "localname": "AwardTmgMnpiDiscTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgPredtrmndFlag": { "auth_ref": [ "r621" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "localname": "AwardTmgPredtrmndFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_AwardUndrlygSecuritiesAmt": { "auth_ref": [ "r624" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "localname": "AwardUndrlygSecuritiesAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_AwardsCloseToMnpiDiscIndName": { "auth_ref": [ "r623" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "localname": "AwardsCloseToMnpiDiscIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AwardsCloseToMnpiDiscTable": { "auth_ref": [ "r622" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "localname": "AwardsCloseToMnpiDiscTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "auth_ref": [ "r622" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "localname": "AwardsCloseToMnpiDiscTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ChangedPeerGroupFnTextBlock": { "auth_ref": [ "r601" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "localname": "ChangedPeerGroupFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CoSelectedMeasureAmt": { "auth_ref": [ "r602" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "localname": "CoSelectedMeasureAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_CoSelectedMeasureName": { "auth_ref": [ "r602" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "localname": "CoSelectedMeasureName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "auth_ref": [ "r607" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "auth_ref": [ "r606" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "localname": "CompActuallyPaidVsNetIncomeTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "auth_ref": [ "r608" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "auth_ref": [ "r605" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "auth_ref": [ "r604" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ErrCompAnalysisTextBlock": { "auth_ref": [ "r568", "r579", "r589", "r614" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "localname": "ErrCompAnalysisTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ErrCompRecoveryTable": { "auth_ref": [ "r565", "r576", "r586", "r611" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "localname": "ErrCompRecoveryTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_ExecutiveCategoryAxis": { "auth_ref": [ "r610" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "localname": "ExecutiveCategoryAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "auth_ref": [ "r572", "r583", "r593", "r618" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "auth_ref": [ "r572", "r583", "r593", "r618" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "auth_ref": [ "r572", "r583", "r593", "r618" ], "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" } } }, "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "auth_ref": [ "r572", "r583", "r593", "r618" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ForgoneRecoveryIndName": { "auth_ref": [ "r572", "r583", "r593", "r618" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "localname": "ForgoneRecoveryIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_IndividualAxis": { "auth_ref": [ "r575", "r583", "r593", "r610", "r618", "r622", "r630" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "localname": "IndividualAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "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" ], "xbrltype": "stringItemType" }, "ecd_InsiderTradingArrLineItems": { "auth_ref": [ "r628" ], "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "localname": "InsiderTradingArrLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_InsiderTradingPoliciesProcLineItems": { "auth_ref": [ "r564", "r634" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]" } } }, "localname": "InsiderTradingPoliciesProcLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "auth_ref": [ "r564", "r634" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "localname": "InsiderTrdPoliciesProcAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "xbrltype": "booleanItemType" }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "auth_ref": [ "r564", "r634" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "xbrltype": "textBlockItemType" }, "ecd_MeasureAxis": { "auth_ref": [ "r602" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "localname": "MeasureAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_MeasureName": { "auth_ref": [ "r602" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "localname": "MeasureName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_MnpiDiscTimedForCompValFlag": { "auth_ref": [ "r621" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "localname": "MnpiDiscTimedForCompValFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_MtrlTermsOfTrdArrTextBlock": { "auth_ref": [ "r629" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "localname": "MtrlTermsOfTrdArrTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "textBlockItemType" }, "ecd_NamedExecutiveOfficersFnTextBlock": { "auth_ref": [ "r603" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "localname": "NamedExecutiveOfficersFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_NonGaapMeasureDescriptionTextBlock": { "auth_ref": [ "r602" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "localname": "NonGaapMeasureDescriptionTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_NonNeosMember": { "auth_ref": [ "r572", "r583", "r593", "r610", "r618" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "localname": "NonNeosMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "domainItemType" }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "auth_ref": [ "r600" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_NonPeoNeoAvgTotalCompAmt": { "auth_ref": [ "r599" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "localname": "NonPeoNeoAvgTotalCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_NonPeoNeoMember": { "auth_ref": [ "r610" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "localname": "NonPeoNeoMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_NonRule10b51ArrAdoptedFlag": { "auth_ref": [ "r629" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "localname": "NonRule10b51ArrAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_NonRule10b51ArrTrmntdFlag": { "auth_ref": [ "r629" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "localname": "NonRule10b51ArrTrmntdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_OtherPerfMeasureAmt": { "auth_ref": [ "r602" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "localname": "OtherPerfMeasureAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_OutstandingAggtErrCompAmt": { "auth_ref": [ "r570", "r581", "r591", "r616" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "localname": "OutstandingAggtErrCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_OutstandingRecoveryCompAmt": { "auth_ref": [ "r573", "r584", "r594", "r619" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "localname": "OutstandingRecoveryCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_OutstandingRecoveryIndName": { "auth_ref": [ "r573", "r584", "r594", "r619" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "localname": "OutstandingRecoveryIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_PayVsPerformanceDisclosureLineItems": { "auth_ref": [ "r598" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "localname": "PayVsPerformanceDisclosureLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_PeerGroupIssuersFnTextBlock": { "auth_ref": [ "r601" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "localname": "PeerGroupIssuersFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_PeerGroupTotalShareholderRtnAmt": { "auth_ref": [ "r601" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "localname": "PeerGroupTotalShareholderRtnAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PeoActuallyPaidCompAmt": { "auth_ref": [ "r600" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "localname": "PeoActuallyPaidCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PeoMember": { "auth_ref": [ "r610" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "localname": "PeoMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_PeoName": { "auth_ref": [ "r603" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "localname": "PeoName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_PeoTotalCompAmt": { "auth_ref": [ "r599" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "localname": "PeoTotalCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PvpTable": { "auth_ref": [ "r598" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "localname": "PvpTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_PvpTableTextBlock": { "auth_ref": [ "r598" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "localname": "PvpTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "auth_ref": [ "r565", "r576", "r586", "r611" ], "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]" } } }, "localname": "RecoveryOfErrCompDisclosureLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_RestatementDateAxis": { "auth_ref": [ "r566", "r577", "r587", "r612" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "localname": "RestatementDateAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_RestatementDeterminationDate": { "auth_ref": [ "r567", "r578", "r588", "r613" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "localname": "RestatementDeterminationDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "dateItemType" }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "auth_ref": [ "r574", "r585", "r595", "r620" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "localname": "RestatementDoesNotRequireRecoveryTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_Rule10b51ArrAdoptedFlag": { "auth_ref": [ "r629" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "localname": "Rule10b51ArrAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_Rule10b51ArrTrmntdFlag": { "auth_ref": [ "r629" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "localname": "Rule10b51ArrTrmntdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "auth_ref": [ "r569", "r580", "r590", "r615" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "localname": "StkPrcOrTsrEstimationMethodTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TabularListTableTextBlock": { "auth_ref": [ "r609" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "localname": "TabularListTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TotalShareholderRtnAmt": { "auth_ref": [ "r601" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "localname": "TotalShareholderRtnAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "auth_ref": [ "r608" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TradingArrAxis": { "auth_ref": [ "r628" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "localname": "TradingArrAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TradingArrByIndTable": { "auth_ref": [ "r630" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "localname": "TradingArrByIndTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrAdoptionDate": { "auth_ref": [ "r631" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "localname": "TrdArrAdoptionDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrDuration": { "auth_ref": [ "r632" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "localname": "TrdArrDuration", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "durationItemType" }, "ecd_TrdArrIndName": { "auth_ref": [ "r630" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "localname": "TrdArrIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrIndTitle": { "auth_ref": [ "r630" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "localname": "TrdArrIndTitle", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrSecuritiesAggAvailAmt": { "auth_ref": [ "r633" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "localname": "TrdArrSecuritiesAggAvailAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "sharesItemType" }, "ecd_TrdArrTerminationDate": { "auth_ref": [ "r631" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "localname": "TrdArrTerminationDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_UndrlygSecurityMktPriceChngPct": { "auth_ref": [ "r627" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "localname": "UndrlygSecurityMktPriceChngPct", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "pureItemType" }, "srt_AsiaPacificMember": { "auth_ref": [ "r735", "r736", "r737", "r738" ], "lang": { "en-us": { "role": { "label": "Asia Pacific [Member]", "terseLabel": "Asia Pacific" } } }, "localname": "AsiaPacificMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_EuropeMember": { "auth_ref": [ "r735", "r736", "r737", "r738" ], "lang": { "en-us": { "role": { "label": "Europe [Member]", "terseLabel": "Europe" } } }, "localname": "EuropeMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_ExecutiveOfficerMember": { "auth_ref": [ "r657" ], "lang": { "en-us": { "role": { "label": "Executive Officer [Member]", "terseLabel": "Executive Officer" } } }, "localname": "ExecutiveOfficerMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r180", "r537", "r689", "r728", "r729" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "terseLabel": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r180", "r537", "r689", "r728", "r729" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r178", "r179", "r447", "r448", "r449", "r500", "r501", "r502", "r503", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r519", "r536", "r551", "r689", "r728" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails", "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r178", "r179", "r447", "r448", "r449", "r500", "r501", "r502", "r503", "r505", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r519", "r536", "r551", "r689", "r728" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails", "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualAxis": { "auth_ref": [ "r657", "r722" ], "lang": { "en-us": { "role": { "label": "Title of Individual [Axis]", "terseLabel": "Title of Individual [Axis]" } } }, "localname": "TitleOfIndividualAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Title of Individual [Domain]", "terseLabel": "Title of Individual [Domain]" } } }, "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]", "terseLabel": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r15", "r548" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "verboseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableGrossCurrent": { "auth_ref": [ "r112", "r181", "r182", "r523" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails": { "order": 2.0, "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, before Allowance for Credit Loss, Current", "verboseLabel": "Accounts receivable" } } }, "localname": "AccountsReceivableGrossCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [ "r506" ], "lang": { "en-us": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold.", "label": "Accounts Receivable [Member]", "terseLabel": "Accounts Receivable" } } }, "localname": "AccountsReceivableMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r181", "r182" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "totalLabel": "Accounts receivable, net", "verboseLabel": "Accounts receivable, net" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounts Receivable, after Allowance for Credit Loss, Current [Abstract]", "verboseLabel": "Summary of accounts receivable, net" } } }, "localname": "AccountsReceivableNetCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": { "auth_ref": [ "r76" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Accretion (Amortization) of Discounts and Premiums, Investments", "negatedTerseLabel": "Net accretion of available-for-sale securities" } } }, "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r17" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Liabilities, Current", "totalLabel": "Total accrued liabilities", "verboseLabel": "Accrued liabilities" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails", "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current [Abstract]", "verboseLabel": "Summary of accrued liabilities" } } }, "localname": "AccruedLiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccruedProfessionalFeesCurrent": { "auth_ref": [ "r17" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Professional Fees, Current", "terseLabel": "Professional and consulting fees" } } }, "localname": "AccruedProfessionalFeesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r37", "r108", "r423" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedLabel": "Accumulated depreciation and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r23", "r24", "r64", "r113", "r420", "r435", "r436" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "verboseLabel": "Accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r2", "r10", "r24", "r341", "r344", "r374", "r431", "r432", "r649", "r650", "r651", "r653", "r654", "r655" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]", "verboseLabel": "Accumulated Other Comprehensive Loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r56" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "verboseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r315", "r316", "r317", "r444", "r653", "r654", "r655", "r719", "r733" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r40", "r41", "r284" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "verboseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r313", "r318" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Share-Based Payment Arrangement, Expense", "verboseLabel": "Stock-based compensation" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r114", "r183", "r219" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails": { "order": 1.0, "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "negatedLabel": "Allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r160" ], "lang": { "en-us": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "verboseLabel": "Potentially dilutive shares, weighted average (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_Assets": { "auth_ref": [ "r91", "r111", "r134", "r165", "r171", "r175", "r216", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r336", "r338", "r357", "r415", "r471", "r548", "r559", "r687", "r688", "r723" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "verboseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r104", "r116", "r134", "r216", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r336", "r338", "r357", "r548", "r687", "r688", "r723" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "verboseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r45" ], "calculation": { "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Fair Value Disclosure", "totalLabel": "Total assets" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]", "terseLabel": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by location on balance sheet (statement of financial position).", "label": "Balance Sheet Location [Axis]", "terseLabel": "Balance Sheet Location [Axis]" } } }, "localname": "BalanceSheetLocationAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r43", "r44" ], "lang": { "en-us": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]", "terseLabel": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BalanceSheetRelatedDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Balance Sheet Related Disclosures [Abstract]", "terseLabel": "Balance Sheet Related Disclosures [Abstract]" } } }, "localname": "BalanceSheetRelatedDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/SignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CapitalizedContractCostAmortization": { "auth_ref": [ "r228" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "Capitalized Contract Cost, Amortization", "terseLabel": "Capitalized contract cost, amortization" } } }, "localname": "CapitalizedContractCostAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostGross": { "auth_ref": [ "r677" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "Capitalized Contract Cost, Gross", "verboseLabel": "Capitalized contract cost, gross" } } }, "localname": "CapitalizedContractCostGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostImpairmentLoss": { "auth_ref": [ "r228" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "Capitalized Contract Cost, Impairment Loss", "terseLabel": "Capitalized contract cost, impairment" } } }, "localname": "CapitalizedContractCostImpairmentLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Cash": { "auth_ref": [ "r97", "r417", "r445", "r466", "r548", "r559", "r646" ], "calculation": { "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails": { "order": 2.0, "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash", "terseLabel": "Cash" } } }, "localname": "Cash", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents [Abstract]", "terseLabel": "Cash and Cash Equivalents [Abstract]" } } }, "localname": "CashAndCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r28", "r106", "r521" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails": { "order": 2.0, "parentTag": "calx_CashCashEquivalentsAndMarketableSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "totalLabel": "Total cash and cash equivalents", "verboseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAxis": { "auth_ref": [ "r106" ], "lang": { "en-us": { "role": { "documentation": "Information by type of cash and cash equivalent balance.", "label": "Cash and Cash Equivalents [Axis]", "terseLabel": "Cash and Cash Equivalents [Axis]" } } }, "localname": "CashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "calculation": { "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails": { "order": 2.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Money market funds" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Cash and Cash Equivalents [Line Items]", "terseLabel": "Cash and Cash Equivalents [Line Items]" } } }, "localname": "CashAndCashEquivalentsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock": { "auth_ref": [ "r658" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of cash, cash equivalents, and debt and equity securities, including any unrealized or realized gain (loss).", "label": "Cash, Cash Equivalents, and Marketable Securities [Text Block]", "terseLabel": "Cash, Cash Equivalents and Marketable Securities" } } }, "localname": "CashCashEquivalentsAndMarketableSecuritiesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r28", "r74", "r132" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "periodEndLabel": "Cash and cash equivalents at end of period", "periodStartLabel": "Cash and cash equivalents at beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r1", "r74" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net increase in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashEquivalentsAtCarryingValue": { "auth_ref": [ "r646", "r727" ], "calculation": { "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails": { "order": 1.0, "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash Equivalents, at Carrying Value", "terseLabel": "Cash equivalents" } } }, "localname": "CashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashMember": { "auth_ref": [ "r106" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Cash [Member]", "terseLabel": "Cash" } } }, "localname": "CashMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommercialPaperMember": { "auth_ref": [ "r82", "r553", "r554", "r555", "r556" ], "lang": { "en-us": { "role": { "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds.", "label": "Commercial Paper [Member]", "terseLabel": "Commercial paper" } } }, "localname": "CommercialPaperMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r20", "r50", "r416", "r457" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies", "verboseLabel": "Commitments and contingencies (See Note 6)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]", "terseLabel": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r81", "r236", "r237", "r507", "r682" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "verboseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r549", "r550", "r551", "r553", "r554", "r555", "r556", "r653", "r654", "r719", "r731", "r733" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r55" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "verboseLabel": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r55", "r458" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "verboseLabel": "Common stock, shares authorized (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r55" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "verboseLabel": "Common stock, shares issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r11", "r55", "r458", "r477", "r733", "r734" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "periodEndLabel": "Ending Balance (in shares)", "periodStartLabel": "Beginning Balance (in shares)", "verboseLabel": "Common stock, shares outstanding (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r55", "r419", "r548" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "verboseLabel": "Common stock, $0.025 par value; 100,000 shares authorized; 66,320 shares issued and outstanding as of July 1, 2023, and 65,735 shares issued and outstanding as of December 31, 2022" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r25", "r121", "r123", "r127", "r410", "r428" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComputerEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.", "label": "Computer Equipment [Member]", "terseLabel": "Computer equipment" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "auth_ref": [ "r520", "r680", "r681" ], "lang": { "en-us": { "role": { "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks.", "label": "Computer Software, Intangible Asset [Member]", "terseLabel": "Licensed Software" } } }, "localname": "ComputerSoftwareIntangibleAssetMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r30", "r32", "r46", "r47", "r180", "r506" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r30", "r32", "r46", "r47", "r180", "r437", "r506" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]", "terseLabel": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r30", "r32", "r46", "r47", "r180", "r506", "r637" ], "lang": { "en-us": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]", "terseLabel": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskLineItems": { "auth_ref": [ "r506" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Concentration Risk [Line Items]", "terseLabel": "Concentration Risk [Line Items]" } } }, "localname": "ConcentrationRiskLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r30", "r32", "r46", "r47", "r180" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "terseLabel": "Concentration risk, percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r29", "r30", "r32", "r33", "r46", "r90", "r506" ], "lang": { "en-us": { "role": { "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Concentration Risk [Table]", "terseLabel": "Concentration Risk [Table]" } } }, "localname": "ConcentrationRiskTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r30", "r32", "r46", "r47", "r180", "r506" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.", "label": "Concentration Risk Type [Domain]", "terseLabel": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetNet": { "auth_ref": [ "r261", "r263", "r274" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "Contract with Customer, Asset, after Allowance for Credit Loss", "terseLabel": "Contract with customer, asset" } } }, "localname": "ContractWithCustomerAssetNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r261", "r262", "r274" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Contract with Customer, Liability", "terseLabel": "Deferred revenue" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r261", "r262", "r274" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "verboseLabel": "Deferred revenue" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "auth_ref": [ "r261", "r262", "r274" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.", "label": "Contract with Customer, Liability, Noncurrent", "verboseLabel": "Long-term portion of deferred revenue" } } }, "localname": "ContractWithCustomerLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r275" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Contract with customer, liability, revenue recognized" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateDebtSecuritiesMember": { "auth_ref": [ "r542", "r544", "r730" ], "lang": { "en-us": { "role": { "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment.", "label": "Corporate Debt Securities [Member]", "terseLabel": "Corporate debt securities" } } }, "localname": "CorporateDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r69", "r405" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of Goods and Services Sold", "verboseLabel": "Cost of revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]", "terseLabel": "Cost of revenue" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r31", "r180" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer Concentration Risk" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainLossBeforeTax": { "auth_ref": [ "r663", "r664" ], "calculation": { "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails": { "order": 2.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized gain (loss) in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain (Loss), before Tax", "terseLabel": "Unrealized Losses" } } }, "localname": "DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent": { "auth_ref": [ "r676" ], "calculation": { "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost excluding accrued interest, after allowance for credit loss, of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Excluding Accrued Interest, after Allowance for Credit Loss, Current", "totalLabel": "Amortized Cost" } } }, "localname": "DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleExcludingAccruedInterestCurrent": { "auth_ref": [ "r676" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails": { "order": 1.0, "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostExcludingAccruedInterestAfterAllowanceForCreditLossCurrent", "weight": 1.0 }, "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails": { "order": 1.0, "parentTag": "calx_CashCashEquivalentsAndMarketableSecurities", "weight": 1.0 }, "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails": { "order": 1.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount excluding accrued interest, of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.", "label": "Debt Securities, Available-for-Sale, Excluding Accrued Interest, Current", "terseLabel": "Fair Value", "verboseLabel": "Marketable securities" } } }, "localname": "DebtSecuritiesAvailableForSaleExcludingAccruedInterestCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLoss": { "auth_ref": [ "r671" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of realized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Realized Gain (Loss)", "terseLabel": "Realized gains and losses on marketable securities" } } }, "localname": "DebtSecuritiesAvailableForSaleRealizedGainLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleTable": { "auth_ref": [ "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r192", "r193", "r194", "r195", "r196" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale [Table]", "terseLabel": "Debt Securities, Available-for-sale [Table]" } } }, "localname": "DebtSecuritiesAvailableForSaleTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock": { "auth_ref": [ "r660", "r661", "r662", "r663", "r664", "r665", "r666", "r667", "r668", "r669", "r670", "r671" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale [Table Text Block]", "terseLabel": "Debt securities, available-for-sale" } } }, "localname": "DebtSecuritiesAvailableForSaleTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandRestrictedCashTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs.", "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]", "terseLabel": "Summary of prepaid expenses and other current assets" } } }, "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r321", "r322" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred tax assets" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "auth_ref": [ "r76" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) and income tax credits.", "label": "Deferred Income Taxes and Tax Credits", "terseLabel": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxesAndTaxCredits", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r327" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.", "label": "Deferred Tax Assets, Valuation Allowance", "terseLabel": "Valuation allowance" } } }, "localname": "DeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepositsAssetsCurrent": { "auth_ref": [ "r647" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment within one year or during the operating cycle, if shorter.", "label": "Deposits Assets, Current", "terseLabel": "Supplier deposits" } } }, "localname": "DepositsAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r6", "r36" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation", "verboseLabel": "Depreciation and amortization" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [ "r273", "r535", "r536", "r537", "r538", "r539", "r540", "r541" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r273", "r535", "r536", "r537", "r538", "r539", "r540", "r541" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]", "terseLabel": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock": { "auth_ref": [ "r8", "r38" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of share-based payment arrangement.", "label": "Disclosure of Share-Based Compensation Arrangements by Share-Based Payment Award [Table Text Block]", "terseLabel": "Disclosure of share-based compensation arrangements by share-based payment award" } } }, "localname": "DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "Net income per common share:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r128", "r141", "r142", "r143", "r144", "r145", "r150", "r152", "r157", "r158", "r159", "r163", "r348", "r349", "r411", "r429", "r528" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)", "verboseLabel": "Basic net income per common share (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareBasicAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic [Abstract]", "terseLabel": "Net income per common share:" } } }, "localname": "EarningsPerShareBasicAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r128", "r141", "r142", "r143", "r144", "r145", "r152", "r157", "r158", "r159", "r163", "r348", "r349", "r411", "r429", "r528" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted (in dollars per share)", "verboseLabel": "Diluted net income per common share (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r149", "r160", "r161", "r162" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "verboseLabel": "Net Income Per Common Share" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/NetIncomePerCommonShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r358" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations", "verboseLabel": "Effect of exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r324" ], "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective tax rate" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/IncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r17" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee-related Liabilities, Current", "verboseLabel": "Compensation and related benefits" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r314" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "terseLabel": "Recognition period" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "auth_ref": [ "r717" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount", "terseLabel": "Unrecognized stock-based compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": { "auth_ref": [ "r717" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for option under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount", "terseLabel": "Unrecognized stock-based compensation expense, stock options" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": { "auth_ref": [ "r313" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Expense, Tax Benefit", "terseLabel": "Income tax benefit recognized" } } }, "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeStockMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "An Employee Stock Purchase Plan is a tax-efficient means by which employees of a corporation can purchase the corporation's stock.", "label": "Employee Stock [Member]", "verboseLabel": "Employee Stock Purchase Plan" } } }, "localname": "EmployeeStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Employee Stock Option [Member]", "terseLabel": "Stock Options" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_EquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tangible personal property used to produce goods and services.", "label": "Equipment [Member]", "verboseLabel": "Test equipment" } } }, "localname": "EquipmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r11", "r102", "r124", "r125", "r126", "r136", "r137", "r138", "r140", "r146", "r148", "r164", "r217", "r218", "r260", "r315", "r316", "r317", "r329", "r330", "r340", "r341", "r342", "r343", "r344", "r345", "r347", "r359", "r360", "r361", "r362", "r363", "r364", "r374", "r431", "r432", "r433", "r444", "r497" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [ "r351", "r352", "r355" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r351", "r352", "r355" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value, Recurring and Nonrecurring [Table]", "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r45", "r89" ], "lang": { "en-us": { "role": { "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).", "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]", "terseLabel": "Fair value, assets measured on recurring basis" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r256", "r277", "r278", "r279", "r280", "r281", "r282", "r352", "r378", "r379", "r380", "r533", "r534", "r542", "r543", "r544" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]", "terseLabel": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r351", "r352", "r353", "r354", "r356" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]", "terseLabel": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r350" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/FairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r256", "r277", "r282", "r352", "r378", "r542", "r543", "r544" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value, Inputs, Level 1 [Member]", "terseLabel": "Level 1" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r256", "r277", "r282", "r352", "r379", "r533", "r534", "r542", "r543", "r544" ], "lang": { "en-us": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value, Inputs, Level 2 [Member]", "terseLabel": "Level 2" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]", "terseLabel": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r256", "r277", "r278", "r279", "r280", "r281", "r282", "r378", "r379", "r380", "r533", "r534", "r542", "r543", "r544" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]", "terseLabel": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r350", "r356" ], "lang": { "en-us": { "role": { "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.", "label": "Fair Value, Recurring [Member]", "terseLabel": "Fair Value, Recurring" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancialInstrumentAxis": { "auth_ref": [ "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r220", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r257", "r259", "r346", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r427", "r531", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r671", "r672", "r673", "r674" ], "lang": { "en-us": { "role": { "documentation": "Information by type of financial instrument.", "label": "Financial Instrument [Axis]", "terseLabel": "Financial Instrument [Axis]" } } }, "localname": "FinancialInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r230", "r231", "r232", "r233", "r406", "r407" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [ "r406" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r34", "r35" ], "lang": { "en-us": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FurnitureAndFixturesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.", "label": "Furniture and Fixtures [Member]", "verboseLabel": "Furniture and fixtures" } } }, "localname": "FurnitureAndFixturesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r70", "r481" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and Administrative Expense", "verboseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "auth_ref": [ "r67" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing general and administrative expense.", "label": "General and Administrative Expense [Member]", "terseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r109", "r229", "r409", "r532", "r548", "r678", "r679" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "verboseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r68", "r134", "r165", "r170", "r174", "r176", "r216", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r357", "r530", "r687" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r0", "r65", "r94", "r165", "r170", "r174", "r176", "r412", "r425", "r530" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "terseLabel": "Income before income taxes", "totalLabel": "Income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]", "terseLabel": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r234", "r235", "r482" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]", "terseLabel": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r235", "r482" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Abstract]", "terseLabel": "Income Tax Disclosure [Abstract]" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r135", "r320", "r325", "r326", "r328", "r331", "r333", "r334", "r335", "r443" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]", "verboseLabel": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/IncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r96", "r100", "r147", "r148", "r168", "r323", "r332", "r430" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "terseLabel": "Income taxes", "verboseLabel": "Income taxes" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r5" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "verboseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r5" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable, net" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r5" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.", "label": "Increase (Decrease) in Accrued Liabilities", "verboseLabel": "Accrued liabilities" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredRevenue": { "auth_ref": [ "r517" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Deferred Revenue", "verboseLabel": "Deferred revenue" } } }, "localname": "IncreaseDecreaseInDeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r5" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventory" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "verboseLabel": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "auth_ref": [], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.", "label": "Increase (Decrease) in Other Noncurrent Liabilities", "verboseLabel": "Other long-term liabilities" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r5" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "verboseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r153", "r154", "r155", "r159", "r286" ], "calculation": { "http://www.calix.com/role/NetIncomePerCommonShareDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "terseLabel": "Effect of dilutive common stock equivalents (in shares)" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_InterestIncomeExpenseNonoperatingNet": { "auth_ref": [], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount of nonoperating interest income (expense).", "label": "Interest Income (Expense), Nonoperating, Net", "verboseLabel": "Interest income, net" } } }, "localname": "InterestIncomeExpenseNonoperatingNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoriesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tangible personal property held for sale in the ordinary course of business, or in process of, or to be consumed in, production for sale.", "label": "Inventories [Member]", "terseLabel": "Inventories" } } }, "localname": "InventoriesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r79", "r524" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.", "label": "Inventory, Finished Goods, Net of Reserves", "verboseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r115", "r522", "r548" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "totalLabel": "Total inventory", "verboseLabel": "Inventory" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory, Net [Abstract]", "verboseLabel": "Summary of inventory, net" } } }, "localname": "InventoryNetAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r79", "r525" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.", "label": "Inventory, Raw Materials, Net of Reserves", "verboseLabel": "Raw materials" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r80" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "verboseLabel": "Leasehold improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r721" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.", "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]", "terseLabel": "Schedule of future minimum rental payments for operating leases" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r373" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "Lessee, Operating Lease, Liability, to be Paid", "terseLabel": "Total future minimum lease payments", "totalLabel": "Total future minimum lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails", "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r373" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r373" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r373" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r721" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "terseLabel": "Remainder of 2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r373" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedTerseLabel": "Less imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r16", "r134", "r216", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r337", "r338", "r339", "r357", "r456", "r529", "r559", "r687", "r723", "r724" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r60", "r93", "r422", "r548", "r652", "r675", "r720" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders\u2019 equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "verboseLabel": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r18", "r105", "r134", "r216", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r337", "r338", "r339", "r357", "r548", "r687", "r723", "r724" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "verboseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by category of items purchased under a long-term purchase commitment.", "label": "Category of Item Purchased [Axis]", "terseLabel": "Category of Item Purchased [Axis]" } } }, "localname": "LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "General description of the goods or services to be purchased from the counterparty to the long-term purchase commitment.", "label": "Long-Term Purchase Commitment, Category of Item Purchased [Domain]", "terseLabel": "Long-term Purchase Commitment, Category of Item Purchased [Domain]" } } }, "localname": "LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LongtermPurchaseCommitmentPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Long-Term Purchase Commitment, Period", "terseLabel": "Purchase commitment period" } } }, "localname": "LongtermPurchaseCommitmentPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LossContingenciesLineItems": { "auth_ref": [ "r238", "r239", "r240", "r241", "r683", "r684" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Loss Contingencies [Line Items]", "terseLabel": "Commitments and Contingencies [Line Items]" } } }, "localname": "LossContingenciesLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesTable": { "auth_ref": [ "r238", "r239", "r240", "r241", "r683", "r684" ], "lang": { "en-us": { "role": { "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations.", "label": "Loss Contingencies [Table]", "terseLabel": "Loss Contingencies [Table]" } } }, "localname": "LossContingenciesTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r690" ], "lang": { "en-us": { "role": { "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities.", "label": "Money Market Funds [Member]", "terseLabel": "Money market funds" } } }, "localname": "MoneyMarketFundsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MovementInStandardProductWarrantyAccrualRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Movement in Standard Product Warranty Accrual [Roll Forward]", "terseLabel": "Movement in Standard Product Warranty Accrual [Roll Forward]" } } }, "localname": "MovementInStandardProductWarrantyAccrualRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MunicipalNotesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Short-term debt securities issued by state, city or local governments or the agencies operated by state, city or local governments.", "label": "Municipal Notes [Member]", "terseLabel": "Municipal securities" } } }, "localname": "MunicipalNotesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r131" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash provided by financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "verboseLabel": "Financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r131" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 4.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "verboseLabel": "Investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r74", "r75", "r76" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "verboseLabel": "Operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r66", "r76", "r95", "r103", "r119", "r122", "r126", "r134", "r139", "r141", "r142", "r143", "r144", "r147", "r148", "r156", "r165", "r170", "r174", "r176", "r216", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r349", "r357", "r426", "r479", "r495", "r496", "r530", "r557", "r687" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss)", "terseLabel": "Net income", "totalLabel": "Net income", "verboseLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://www.calix.com/role/NetIncomePerCommonShareDetails", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Attributable to Parent [Abstract]", "verboseLabel": "Numerator:" } } }, "localname": "NetIncomeLossAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "verboseLabel": "Newly Adopted Accounting Standard and Recent Accounting Pronouncements Not Yet Adopted" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/SignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r71" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).", "label": "Nonoperating Income (Expense)", "totalLabel": "Total interest income and other income (expense), net" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "verboseLabel": "Interest income and other income (expense), net:" } } }, "localname": "NonoperatingIncomeExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.", "label": "Operating Expenses", "totalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "verboseLabel": "Operating expenses:" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r165", "r170", "r174", "r176", "r530" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Operating income" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r369", "r547" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.", "label": "Operating Lease, Cost", "terseLabel": "Rent expense" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r366" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "totalLabel": "Operating lease liability" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails", "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r366" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 9.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 }, "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails": { "order": 1.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Operating leases", "verboseLabel": "Accrued liabilities - current portion of operating leases" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails", "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r367" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.", "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]", "terseLabel": "Operating lease, liability, current, statement of financial position" } } }, "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails" ], "xbrltype": "enumerationSetItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r366" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails": { "order": 2.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Operating leases", "verboseLabel": "Operating leases" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r368", "r370" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "terseLabel": "Operating lease, payments" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r365" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right-of-use operating leases" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r372", "r547" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Weighted average operating discount rate used to determine the operating lease liability (percent)" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r371", "r547" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Weighted average remaining lease term for operating lease" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "auth_ref": [ "r52", "r87", "r438", "r439" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "verboseLabel": "Company and Basis of Presentation" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CompanyandBasisofPresentation" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r17" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 8.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Accrued Liabilities, Current", "verboseLabel": "Other" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r110" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "verboseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r4", "r9", "r88" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "terseLabel": "Foreign currency translation adjustments, net" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "verboseLabel": "Other comprehensive income (loss), net of tax:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r4", "r9", "r88", "r120", "r123" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "terseLabel": "Other comprehensive income (loss)", "totalLabel": "Total other comprehensive income (loss), net of tax" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r117", "r118", "r215" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax", "terseLabel": "Unrealized gain (loss) on available-for-sale marketable securities, net" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilities": { "auth_ref": [ "r49", "r414", "r452", "r453", "r559", "r732" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other.", "label": "Other Liabilities", "terseLabel": "Other liabilities" } } }, "localname": "OtherLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r19" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "verboseLabel": "Other long-term liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r72" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "verboseLabel": "Other income (expense), net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r27" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "Payments for Repurchase of Common Stock", "negatedTerseLabel": "Repurchases of common stock" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": { "auth_ref": [ "r26", "r129", "r184" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Payments to Acquire Debt Securities, Available-for-Sale", "negatedTerseLabel": "Purchases of marketable securities" } } }, "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r73" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchases of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r691", "r692", "r693", "r694", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r715", "r716" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]", "terseLabel": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [ "r691", "r692", "r693", "r694", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r715", "r716" ], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r54", "r258" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred Stock, Par or Stated Value Per Share", "verboseLabel": "Preferred stock, par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r54", "r458" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred Stock, Shares Authorized", "verboseLabel": "Preferred stock, shares authorized (in shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r54", "r258" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred Stock, Shares Issued", "verboseLabel": "Preferred stock, shares issued (in shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r54", "r458", "r477", "r733", "r734" ], "lang": { "en-us": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred Stock, Shares Outstanding", "verboseLabel": "Preferred stock, shares outstanding (in shares)" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r54", "r418", "r548" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred Stock, Value, Issued", "terseLabel": "Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of July 1, 2023 and December 31, 2022" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r648" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "totalLabel": "Total prepaid expense and other assets", "verboseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPrepaidExpensesandOtherAssetsDetails", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": { "auth_ref": [ "r129", "r130", "r659" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale", "terseLabel": "Maturities of marketable securities" } } }, "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r3", "r12" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "verboseLabel": "Proceeds from common stock issuances related to employee benefit plans" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrual": { "auth_ref": [ "r48", "r242", "r244", "r246" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.", "label": "Standard and Extended Product Warranty Accrual", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period" } } }, "localname": "ProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "auth_ref": [ "r17", "r685", "r686" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Product Warranty Accrual, Current", "terseLabel": "Current portion of warranty and retrofit" } } }, "localname": "ProductWarrantyAccrualClassifiedCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualPayments": { "auth_ref": [ "r245" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.", "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments", "negatedTerseLabel": "Cost of warranty and retrofit claims" } } }, "localname": "ProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Long-Lived Tangible Asset [Axis]", "terseLabel": "Property, Plant and Equipment, Type [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r80", "r107", "r424" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "verboseLabel": "Property and equipment, gross" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property, Plant and Equipment [Line Items]" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r7", "r413", "r424", "r548" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "totalLabel": "Property and equipment, net", "verboseLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net, by Type [Abstract]", "verboseLabel": "Summary of property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNetByTypeAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]", "verboseLabel": "Summary of property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r80" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Long-Lived Tangible Asset [Domain]", "terseLabel": "Property, Plant and Equipment, Type [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted": { "auth_ref": [ "r53", "r92" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations.", "label": "Purchase Commitment, Remaining Minimum Amount Committed", "terseLabel": "Outstanding purchase commitments" } } }, "localname": "PurchaseCommitmentRemainingMinimumAmountCommitted", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r51", "r319", "r725" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 3.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "verboseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.", "label": "Research and Development Expense [Member]", "terseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "auth_ref": [ "r106" ], "lang": { "en-us": { "role": { "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents [Domain]", "terseLabel": "Cash and Cash Equivalents [Domain]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r57", "r84", "r421", "r434", "r436", "r442", "r459", "r548" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated undistributed earnings (deficit).", "label": "Retained Earnings (Accumulated Deficit)", "verboseLabel": "Accumulated deficit" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r102", "r136", "r137", "r138", "r140", "r146", "r148", "r217", "r218", "r315", "r316", "r317", "r329", "r330", "r340", "r342", "r343", "r345", "r347", "r431", "r433", "r444", "r733" ], "lang": { "en-us": { "role": { "documentation": "Accumulated undistributed earnings (deficit).", "label": "Retained Earnings [Member]", "terseLabel": "Accumulated Deficit" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]", "terseLabel": "Revenue from Contract with Customer [Abstract]" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r166", "r167", "r169", "r172", "r173", "r177", "r178", "r180", "r272", "r273", "r405" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Total revenues", "verboseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r101", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r271", "r276" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue from Contracts with Customers" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomers" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "auth_ref": [ "r13" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "terseLabel": "Revenue from external customers by geographic areas" } } }, "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "auth_ref": [ "r480", "r518", "r526" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.", "label": "Revenue [Policy Text Block]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueRecognitionPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/SignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r98" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Remaining performance obligation, amount" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r99" ], "lang": { "en-us": { "role": { "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Performance obligations expected to be satisfied, expected timing" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r99" ], "lang": { "en-us": { "role": { "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "auth_ref": [ "r636" ], "lang": { "en-us": { "role": { "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Percentage", "terseLabel": "Remaining performance obligation, percentage" } } }, "localname": "RevenueRemainingPerformanceObligationPercentage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_RoyaltyGuaranteesCommitmentsAmount": { "auth_ref": [ "r408" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount the entity has committed to make for future royalty guarantees.", "label": "Royalty Guarantees, Commitments, Amount", "terseLabel": "Royalty payment commitment" } } }, "localname": "RoyaltyGuaranteesCommitmentsAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": { "auth_ref": [ "r22" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.", "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]", "verboseLabel": "Summary of accounts receivable, net" } } }, "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "verboseLabel": "Summary of accrued liabilities" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": { "auth_ref": [ "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r192", "r193", "r194", "r195", "r196" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Debt Securities, Available-for-Sale [Line Items]", "terseLabel": "Debt Securities, Available-for-sale [Line Items]" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCashAndCashEquivalentsTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of cash and cash equivalent balances. This table excludes restricted cash balances.", "label": "Schedule of Cash and Cash Equivalents [Table]", "terseLabel": "Schedule of Cash and Cash Equivalents [Table]" } } }, "localname": "ScheduleOfCashAndCashEquivalentsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of cash and cash equivalents.", "label": "Schedule of Cash and Cash Equivalents [Table Text Block]", "verboseLabel": "Summary of cash and cash equivalents" } } }, "localname": "ScheduleOfCashAndCashEquivalentsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandRestrictedCashTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "auth_ref": [ "r86" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.", "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]", "terseLabel": "Schedule of income taxes" } } }, "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r656" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "verboseLabel": "Schedule of net income (loss) per share" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/NetIncomePerCommonShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r34", "r35", "r406" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r14", "r61", "r62", "r63" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Schedule of Inventory, Current [Table Text Block]", "verboseLabel": "Summary of inventory" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r243" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.", "label": "Schedule of Product Warranty Liability [Table Text Block]", "verboseLabel": "Product warranty activities" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table]", "terseLabel": "Schedule of Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r283", "r285", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Selling and Marketing Expense", "verboseLabel": "Sales and marketing" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingAndMarketingExpenseMember": { "auth_ref": [ "r67" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling and marketing expense.", "label": "Selling and Marketing Expense [Member]", "terseLabel": "Sales and marketing" } } }, "localname": "SellingAndMarketingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r5" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Noncash Expense", "verboseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1": { "auth_ref": [ "r545" ], "lang": { "en-us": { "role": { "documentation": "Estimated period over which an employee is required to provide service in exchange for the equity-based payment award, 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, Award Requisite Service Period", "terseLabel": "Award performance period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r545" ], "lang": { "en-us": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "terseLabel": "Award vesting period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [ "r283", "r285", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate": { "auth_ref": [ "r38" ], "lang": { "en-us": { "role": { "documentation": "The highest percentage of annual salary that an employee is permitted to utilize with respect to the plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Maximum Employee Subscription Rate", "verboseLabel": "ESPP, maximum employee payroll deduction percentage" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of additional shares authorized for issuance under share-based payment arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Additional Shares Authorized", "terseLabel": "Number of additional shares authorized (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r546" ], "lang": { "en-us": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized", "terseLabel": "Number of shares authorized (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r38" ], "lang": { "en-us": { "role": { "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant", "terseLabel": "Shares available for future grant (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [ "r294" ], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross", "verboseLabel": "Stock options granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r304" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted-average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": { "auth_ref": [ "r38" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued under share-based payment arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period", "terseLabel": "Number of shares issued (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward": { "auth_ref": [ "r718" ], "lang": { "en-us": { "role": { "documentation": "Number of shares purchased for issuance under share-based payment arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Purchased for Award", "terseLabel": "Number of shares purchased (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]", "terseLabel": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r295" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Weighted-average exercise price per share, stock options (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationAwardTrancheOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.", "label": "Share-Based Payment Arrangement, Tranche One [Member]", "terseLabel": "Period One" } } }, "localname": "ShareBasedCompensationAwardTrancheOneMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.", "label": "Share-Based Payment Arrangement, Tranche Two [Member]", "terseLabel": "Period Two" } } }, "localname": "ShareBasedCompensationAwardTrancheTwoMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "auth_ref": [ "r691" ], "lang": { "en-us": { "role": { "documentation": "Percentage of vesting of award under share-based payment arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage", "terseLabel": "Award vesting rights, percentage" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Purchase price of common stock expressed as a percentage of its fair value.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent", "verboseLabel": "ESPP, discounted purchase price percentage" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": { "auth_ref": [ "r83", "r85" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).", "label": "Shareholders' Equity and Share-Based Payments [Text Block]", "verboseLabel": "Stockholders' Equity" } } }, "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquity" ], "xbrltype": "textBlockItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r77", "r133" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]", "verboseLabel": "Significant Accounting Policies" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/SignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r11", "r21", "r102", "r124", "r125", "r126", "r136", "r137", "r138", "r140", "r146", "r148", "r164", "r217", "r218", "r260", "r315", "r316", "r317", "r329", "r330", "r340", "r341", "r342", "r343", "r344", "r345", "r347", "r359", "r360", "r361", "r362", "r363", "r364", "r374", "r431", "r432", "r433", "r444", "r497" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]", "terseLabel": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [ "r136", "r137", "r138", "r164", "r405", "r440", "r446", "r450", "r451", "r452", "r453", "r454", "r455", "r458", "r461", "r462", "r463", "r464", "r465", "r467", "r468", "r469", "r470", "r472", "r473", "r474", "r475", "r476", "r478", "r480", "r481", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r497", "r552" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]", "terseLabel": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]", "terseLabel": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]", "terseLabel": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]", "terseLabel": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r136", "r137", "r138", "r164", "r405", "r440", "r446", "r450", "r451", "r452", "r453", "r454", "r455", "r458", "r461", "r462", "r463", "r464", "r465", "r467", "r468", "r469", "r470", "r472", "r473", "r474", "r475", "r476", "r478", "r480", "r481", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r497", "r552" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]", "terseLabel": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_StockAppreciationRightsSARSMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period.", "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)" } } }, "localname": "StockAppreciationRightsSARSMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan": { "auth_ref": [ "r11", "r42", "r54", "r55", "r84" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of capital stock issued (purchased by employees) in connection with an employee stock ownership plan.", "label": "Stock Issued During Period, Shares, Employee Stock Ownership Plan", "terseLabel": "Shares purchased under ESPP (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "auth_ref": [ "r11", "r54", "r55", "r84" ], "lang": { "en-us": { "role": { "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).", "label": "Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture", "terseLabel": "Issuance of common stock under equity incentive plans, net of forfeitures (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r11", "r54", "r55", "r84", "r295" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "terseLabel": "Stock options exercised (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "auth_ref": [ "r39", "r54", "r55", "r84" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).", "label": "Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture", "terseLabel": "Issuance of common stock under equity incentive plans, net of forfeitures" } } }, "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of stock repurchase plan authorized.", "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Stock repurchase program, authorized amount" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramPeriodInForce1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Period which shares may be purchased under a stock repurchase plan authorized by an entity's Board of Directors, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Stock Repurchase Program, Period in Force", "terseLabel": "Stock repurchase program, period authorized" } } }, "localname": "StockRepurchaseProgramPeriodInForce1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails" ], "xbrltype": "durationItemType" }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount remaining of a stock repurchase plan authorized.", "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "terseLabel": "Remaining authorized repurchase amount" } } }, "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedDuringPeriodShares": { "auth_ref": [ "r11", "r54", "r55", "r84", "r441", "r497", "r504" ], "lang": { "en-us": { "role": { "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.", "label": "Stock Repurchased During Period, Shares", "negatedTerseLabel": "Repurchases of common stock (in shares)", "terseLabel": "Shares repurchased (in shares)" } } }, "localname": "StockRepurchasedDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedDuringPeriodValue": { "auth_ref": [ "r11", "r54", "r55", "r84", "r444", "r497", "r504", "r558" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Stock Repurchased During Period, Value", "negatedTerseLabel": "Repurchases of common stock", "terseLabel": "Repurchases of common stock" } } }, "localname": "StockRepurchasedDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://www.calix.com/role/StockholdersEquityStockRepurchaseProgramDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r55", "r58", "r59", "r78", "r460", "r477", "r498", "r499", "r548", "r559", "r652", "r675", "r720", "r733" ], "calculation": { "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.", "label": "Equity, Attributable to Parent", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period", "totalLabel": "Total stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent [Abstract]", "verboseLabel": "Stockholders\u2019 equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": { "auth_ref": [ "r645" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.", "label": "Supplemental Balance Sheet Disclosures [Text Block]", "verboseLabel": "Balance Sheet Details" } } }, "localname": "SupplementalBalanceSheetDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/BalanceSheetDetails" ], "xbrltype": "textBlockItemType" }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "auth_ref": [ "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r257", "r259", "r346", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r427", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r671", "r672", "r673", "r674" ], "lang": { "en-us": { "role": { "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.", "label": "Financial Instruments [Domain]", "terseLabel": "Financial Instruments [Domain]" } } }, "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": { "auth_ref": [ "r527", "r542", "r726" ], "lang": { "en-us": { "role": { "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Excludes US treasury securities and debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB).", "label": "US Government Agencies Debt Securities [Member]", "terseLabel": "U.S. government agency securities" } } }, "localname": "USGovernmentAgenciesDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USGovernmentDebtSecuritiesMember": { "auth_ref": [ "r726" ], "lang": { "en-us": { "role": { "documentation": "Debt securities issued by the United States government.", "label": "US Government Debt Securities [Member]", "terseLabel": "U.S. government securities" } } }, "localname": "USGovernmentDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesScheduleofMarketableSecuritiesDetails", "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesSummaryofCashandCashEquivalentsDetails", "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" ], "xbrltype": "domainItemType" }, "us-gaap_VestingAxis": { "auth_ref": [ "r691", "r692", "r693", "r694", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r715", "r716" ], "lang": { "en-us": { "role": { "documentation": "Information by vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Axis]", "terseLabel": "Vesting [Axis]" } } }, "localname": "VestingAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VestingDomain": { "auth_ref": [ "r691", "r692", "r693", "r694", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r715", "r716" ], "lang": { "en-us": { "role": { "documentation": "Vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Domain]", "terseLabel": "Vesting [Domain]" } } }, "localname": "VestingDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r151", "r159" ], "calculation": { "http://www.calix.com/role/NetIncomePerCommonShareDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "totalLabel": "Weighted-average common shares outstanding used to compute diluted net income (loss) per share (in shares)", "verboseLabel": "Diluted (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r150", "r159" ], "calculation": { "http://www.calix.com/role/NetIncomePerCommonShareDetails": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic (in shares)", "verboseLabel": "Weighted-average common shares outstanding used to compute basic net income (loss) per share (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]", "verboseLabel": "Denominator:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/NetIncomePerCommonShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]", "terseLabel": "Weighted-average number of shares used to compute net income per common share" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "stringItemType" } }, "unitCount": 6 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r101": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org//606/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(15))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "a", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r149": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org//260/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aaa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aaa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(3)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(4)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.3,4)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "340", "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(5)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "https://asc.fasb.org//740/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(i)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iii)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iv)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(i)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(i)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(ii)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)(i)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(5)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(6)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(7)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(b)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Topic": "928", "URI": "https://asc.fasb.org//1943274/2147483119/928-440-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(15))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(19))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(2))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(21))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(22))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "25", "SubTopic": "40", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480637/718-40-25-10", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(11))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(2)(a))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(i)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(2)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(2)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(14))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(15))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(16)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(17))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(19))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(8))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Subparagraph": "(b)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15(5))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(9))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(1)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Subparagraph": "(c)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r52": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "https://asc.fasb.org//205/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(25))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "55", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r560": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r561": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r562": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r563": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r564": { "Name": "Form 20-F", "Paragraph": "a", "Publisher": "SEC", "Section": "16", "Subsection": "J", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r565": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r566": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r567": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "A", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r568": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "B", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r569": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "C", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r570": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "D", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r571": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "E", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r572": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "ii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r573": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "iii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r574": { "Name": "Form 20-F", "Paragraph": "2", "Publisher": "SEC", "Section": "6", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r575": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "ii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r576": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r577": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r578": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "i", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r579": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "ii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r580": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "iii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r581": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "iv", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r582": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "v", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r583": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r584": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "3", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r585": { "Name": "Form 40-F", "Paragraph": "b", "Publisher": "SEC", "Section": "19", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r586": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r587": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r588": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "i", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r589": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "ii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r590": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "iii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r591": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "iv", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r592": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "v", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r593": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r594": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "3", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r595": { "Name": "Form N-CSR", "Paragraph": "b", "Publisher": "SEC", "Section": "18", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r596": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r597": { "Name": "Regulation S-K", "Number": "229", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r598": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r599": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r600": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r601": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "iv", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r602": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "vi", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r603": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "3", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r604": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "4", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r605": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r606": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r607": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r608": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "iv", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r609": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "6", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r610": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "6", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r611": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r612": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r613": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "A", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r614": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "B", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r615": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "C", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r616": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "D", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r617": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "E", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r618": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r619": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r620": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r621": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r622": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r623": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "A", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r624": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "C", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r625": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "D", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r626": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "E", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r627": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "F", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r628": { "Name": "Regulation S-K", "Number": "229", "Publisher": "SEC", "Section": "408", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r629": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "408", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r630": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "A", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r631": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "B", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r632": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "C", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r633": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "D", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r634": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "408", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r635": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r636": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r637": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r638": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r639": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r640": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r641": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(3)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r642": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(i)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r643": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(ii)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r644": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(iii)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r645": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "210", "URI": "https://asc.fasb.org//210/tableOfContent", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r646": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r647": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r648": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r649": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r650": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r651": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r652": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r653": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r654": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r655": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r656": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r657": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r658": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "320", "URI": "https://asc.fasb.org//320/tableOfContent", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r659": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r660": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r661": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r662": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aaa)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r663": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r664": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r665": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r666": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r667": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r668": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r669": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(4))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r670": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r671": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r672": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "321", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r673": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "321", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r674": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "321", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r675": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r676": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r677": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "340", "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r678": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r679": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r680": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r681": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r682": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org//450/tableOfContent", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r683": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r684": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r685": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r686": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(5)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r687": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r688": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r689": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r690": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r691": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r692": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r693": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r694": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r695": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r696": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r697": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r698": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r699": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r700": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r701": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r702": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r703": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r704": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r705": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r706": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r707": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r708": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r709": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r710": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r711": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r712": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r713": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r714": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r715": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r716": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r717": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r718": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(l)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r719": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r720": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r721": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r722": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r723": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r724": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r725": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r726": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r727": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(2))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r728": { "Name": "Accounting Standards Codification", "Paragraph": "2B", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r729": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r730": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480109/944-80-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r731": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r732": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r733": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r734": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r735": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r736": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r737": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r738": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r77": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org//235/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.BB)", "Topic": "330", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r81": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org//440/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-12A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r83": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "https://asc.fasb.org//505/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r85": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org//718/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r87": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "https://asc.fasb.org//810/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(17))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" } }, "version": "2.2" } ZIP 71 0001406666-23-000034-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001406666-23-000034-xbrl.zip M4$L#!!0 ( -J#^%;EJI5+#5L! !ID$0 1 8V%L>"TR,#(S,#U%BR>*$ M(M4DY=CSZP]0I&Z69)$B)1:EFK5WVA(IL@IX@ )0*.#7__L\\H4G$L5>&/S6 MDMM22_B_G5__O[.S?WZZ^R)C0''.),VU3,WH6:[MBNZY MIDGP0Y?(:M_4-$NR9=52-*(Z;L^09,O UPX3F!_,,8C/O>?D+";]WUK#)!F? M?_CP\^?/-GQN/X9/'[S ]P*"<_Z01$X0XY2.'&/C@"^7+H)YO1C:;J+8U4_X.6>$Y/L]J4[?ZKT/MFV[0_/2,39[&-O MW8WP0/G#/[]^N>\/R<@Y\X(X<8+^]-'G+O'6SPTN+ UY$I\].LYX=6[9A:6; MO3C4%-E\8XK9';/!KU!D:9YX=?;LYTV/E=4%N"R"PGMK(*\( F!93PA??<[H__NN_?DV\Q"<= M?/79]"6_?DB__/5#^NA>Z+YT?G6])R%.7GSR6\OUXK'OO)P'84!@ -[S.=Y( MHO1/SW5)0/^$ZS>@<"*OG[[_.;DC@]]:_3.81^",\$G$.[\*X'4O%S"ZR/&O M Y<\_Y6\M 0/9&UPINBMC@1@!-T __OUP])3"[RD"WK/1=WWV7<>9P\W6IV! MX\=D]^=.5>IG+P8:_HLXT6?X)IZ]P6QUD*Q5O> ;W!ZZRZ^P6IV_*;N_X&(2 M14L3N K<2U@=6D**U=]: .YS%[XY&\%3AF>N,^>.W>K(R@=5+O1Z=?KZ3 F< MWXY)!$(1/'XAH+^^>$[/\Q$2ZRA%5\^ ZMCK M^?"K.)D.2]>55N4Q4-(Q*HPCM/ M0-Y_:\7>:.RC>J+?#2,ZX$4A;S_'+CSBP_(STO?/7YJ-(0XG$?U$]>)Y1@4Z M%433]'M")7GZR7/Q\\ CD4"?3]8NU1?7?UV6\-<_[DR_6G[ZF$K"]!-HXRA! MU%)I.Y/D,U1CKZ_-ANDNW&HNW#J],OT\?X/YO9".1S$I%.1EAZDJI#%)JCH$=*36A MXK1,BLQ<.?]^?UF<2AI;5$)#Y4RM@$JPA-TC<&;3 \,"AK5X*U6&3A)&.Q)T MY??XY24)PA&L'VL>FQ?.2X_XL#SZK?S4&>#G:S6I@0%Z8#5IL$8&A9)!S4,& MA9)!J8(,)H-DR+MH5D@&:]]DR&9#'M& 3#^Z\++GL>_UO>0K&?7@%:XW0BL2 M0R93DW1F=%Z!-P6F:#@:@[,3)''WV8/U<'H;? ]&\7T2]G^DS_KUP]I7S*@Q M&TGA-4K;>8U:)KG=<))W79>:_N $.)Y['5PX8R]Q_*:07Y::3O\^.*03'^.' MM\F01'A?1(;XM"=R'?3#$6D,+_;NNNR9%W&\.PY2Y5- M;>_>S;'H5P:,47GO3E:3[0\6&+1WKZGQ&IH%+NW=J3M&FX8%QNW=#6VR_JLJ M1OB*YDWW>6MRP"JC?^,=X/H=L*IXH33=&3ZT U89X9ON^1Y*\2O+ZW(IFN_= MZ3U"Q5\E_1OOF=>L^*OD1=,=[X,J_BH)S\(VY)ZFUG@OM);(6SW[GPKW/!EG M4-/=U -'WFKB$G=FF\DXM>F>[P$=,+,B T%MNM-;DP-6&?T;[P#7[X!5QHNF M.\.'=L J(SQS>;W53:WIF[6'6]-*Y%*_HCEW>NNE?]/]V/K7M.IXP5W6F@C? M>"^TKIRW&LZI:=SS9)Q!37=3#Y_S5@>7N#/;4,8UW?,]E)@'23Y/ K8=7Z9HWJ56&^VYQI&XS "K[V9 M"M]HMC-; _&K1#ZS_NTGQ\=&#/=#0I(O89\67T])C^7.S^^'890\D&B4JANG MYY//9.4KQ+SS'KW6RG_ M=1+ $\:.?Q,F#8(ZLQX]2P2O$N%'Z<6OAEZ.W:VK4@:9]>LK-JW8A"([.#AA M]_X@T&@,$)H;8MC-_N3<7^0^L[&-$U7+S$8^N,56DQ%O-3DT<^H66Y4X:&Z@ MB%MLE0*AN7&K4[78JN3^B031.-,7F6SQ@]THFN-%?W?\"?GT\C7M:(X/ M^!R1/R:P[KXL"^3LYH5;XSOD3^0%CU4)Z!XR1']K1+<5*NI\UN3)HOG\W) M:*\2D>S&R3D(#@8"9N/F303!X;9Q3VOM;,)F E\[&W@(LDJ0-F%O@>/B\+C@ MT?WFY,>!IE>#O@7+"K.49:D)X>]36C_JE!&&8-F$@#='PB&0P*/* M;*U=U;GES3]X+4M-B&WSY?-4T=F$^#8'Q $!P*YH95"LPD;#WQE;4H^8*70;,*N T?#H=# ;I2_GG*/+(+PM);. M)FPS,+!T'KMXL(-(A=U=!@Z"@X& Q_7YBK4!&DT(]C.P8IVBUFA"A/UTN,%L M)/E;%,),DI=O/DRN&[B8BCO&9WQZ>7@9DV5NS"[NE?!5GE]1F(W4,DCX2A'/ M;!RR$.$OPA&L1R1J(/*9C;8QS(!*)8#9 %$_$O0Y@@H]>SR?=."9) M_.GEJ_/O,+KPG3A>;X1.5^97O]PK6Z0JV<*L-]PXME2JL9CUE1O'EDJ5&',> M=!PEY_>)DU"KZ'<2/D;.>.B!T[#H/3C!7\*87#B^-PAA"7'8%8,)@(L2.YC@ M6&;4'J6QWD[V#/AS^H#IE>EG?,(F[C'K?G\)@T?L'/EM$O6'8.WB41,O2>V M"V#N8QB]W ZN@\,>RH4K=IS+KL;+,#2!XE MES",3#[D!?F87YM1UEVX=5&4IE=VXQV[GCXX-C?.:#&8U54DV49')WFY#OKX MBB?2!:O Q7L;H[TT9OWZOY,X\8+'91&X'X+9]0E% VTQ^$G:O1C)_A Y 0ST M-M@67LP]@O2QJUM6H[$?OA!RGX3]'[=C'$!5;UP/,T7^1B(P>4;8MOG!B1[) M/@)'3"@ 9B,@F/7B)3\!."%SOR7,G4Q<)+UT] MD_X$UZ';P<#K5U4 /&XG<[8W-(:9K^P,40+@E1TVAG1F0]]YHB?LADSG'*.W;> 9O;8+UY@- M>M?#-18B/SJS4?$*>%)2-(^X2R^>[ELU:@=$;W3,^4AYS802 M8"[\.]\([H+//?%]#!P';MKF"/Z^ M>L98\1Z.?S&Q'#$726H&NVI:G0QF@R5LLZNFQDA]F.>ODRF V#,,^QNE:P9LS6E:S9@<\ M:I>S.M8S<^]1CQT(818AA%H->,V]QQ-R$&+I".S2W$KM:)O,.=_;CO>'DR") M7LZ_WQ^;+6(RYU77SXJ:3 R3.7>Y?E;49#F8S/G!];.B+H. .0=W"RMH#O0$ MZXT=I_=J,N>]LL*0NM8-YES3/,62NB.88]^);\+@^_UQ^I\F<_XG:XRI:4VQ MF-M:9XTQ-:TM%G.;Z*PQIJ8UQFJ:QWY(*ZR.M<5JFM]^2"NLEC6E<=X[JJZO MGNOZY,J)L2AR=X!J[$A7EL9Y]/6PIZ[UI6E>?GW24\MJTS2?OS[IJ67M:5H$ M "]W8\_YYO3A!?TC77*:YOX?EBLUK31VTWS_@\M*'0N,W33'_^"R4L>Z8M?D M]2%RJQW/9\[Y'FTF"63#\A[H,W@EOP'%[B MQ0.GC]?NI_1+>?GK?A[<=D-\SEQ4@"G[?=,,?PL$W E\>ZID8#,7M)B?U:05 MLB-*]SLO_O'IY1,)^L.1$_U8SLKJ]NE>*W;")=Z3T_-+5U)$59(V])C$23@B M4;Q@PTZ_J[!BXYJYKFG^F+UWY>8C77^8B]YP9#*&S$)K\%*[B+S(_. ]GTE_6LOW.=$CW)J$XW-C MG,"U>.P$TXO]T ^C\U\ [-)@\'$ 8S\;."//?SG_/[!.D5BX(3^%.UB/@O\C MQDX0G\4PV^S&V/L/@??!J^G'G]E8).FC[P5D.C99D?[G(U+DS"7],.7O^20 M.N!=,!R'F;$(PX@,?FO]LITA9JOS@"+YZP<'.(,$K9BL-CM4+3F40D05PH%P M@0($BF^1MBGX5T5@#FT51DD'X8"]%9RC+J&-D#9P!>:P"\"L5[0PU]"BU?E^ M<_UP=2G%9&>W]U\?WN^N'ZZE[HWEP*5_^\^'/WYO+V MZ]?K^_OKVYL:IZ#DFL(_G'@(-G42!J)P>2$HDJ[9&P>] !I] V@2E.WI_;TP M BR?P5Q\9QR3\^D?'UTO'OO."QC1=$3T1Q^SI_?"!)8U^H(G$B7H:68OH>]+ M+\]5=EM*U78"BT/B3M^<76[32Q\2=_6:;;5M:?-EJ2W/KGV@SXZF-V3TT^F* M +^#62&]?FNIK5<3SZ8"G!#BT/=<8.Z0/5S29#I4^:O^4!IP3#F/]_> M?15^A14Y"(.;"=WP%[*%^PZU%=B0+2%PT#YTB7=^&?8G:&:@^=*B:_8 ;NC( MTMG?Z+H^?TJ'PXXAV%4,KM?86K<2MCKOL.2" ';T^YQ8.#CG;;MMZ>HNC-?: MIF[DXGLA.*EM2=.*P&D3=J;84,;/B(Y%*?/)8(4T*54JUT%;S=!4=@JKG[]- MP$D!L^KECHS#*&D)-,B4@ 83^CW']\.D%SY/%972ZOSI%]O4C(\; M=55&]?($!40?W@2@U/S;]^[=P]7=EW\)=U??;N\>A&_?[^Z_=V\>A(=; 4R< M![!C!%D5;N\$67_GOA=N/PL/?[X2%JR?F>73O7C R[*M:DLDJGMM>XVK#6M; M& G)D A_3-$BI!ZJ (XK<7=8];[1GU^E;N\2Z,Y=^.9L!(\8XL_.7.?E[(4X MT1D)INA36YV_3/R7/_TB&])'610PTK/+FGD8^SX?A6_OMOA\N[T]CZ.%LHR4 MS$,RBPDS@R\VS5QLL+%*[-%H7)'51LM6&^VH5YN'N^[-_35=4_ARDRXWR0PO MT_5F$(6C5%N5_U=(0J&J9S5MN:&->V.,K0N?/=#<-[3)]WF!E?R*1L7QQ^EO MI\*JXS:'?*9JAJGMLBC+,A-+S EXL@>3>D7+A*"MAA2U;-[1CO&$?A$SYG[F";K5UCB^.\VIZ9!Y<)ZOLRR4M,;4LCUGM3J&=29IJF7* MTIMHJ%KJ#@.,]41\1V5' #_D%AR12/C+)/)BUZ.)=; N_]J+/G269(W>&CTZ M@?^;PM95Z H9>N2, @W8?M] UWHHEJ@Z[H1B>/L/U_@ M>?)4 ]BMCF*:)L"[#^:F*WQSHA\_G9?7ND L[#QF+[N /V^CA_#G;/V1I5;G M'FCVES!>68!V?@V5Z-OH&ZQV7M"?[[G*X#!T7[]EUY=\"V%)]?]_;YRNM]DK ME%;'UF4UOS^\=Q3EV])^E\T*/9%O$5#-&SN^,&O?*:3].^/WPCN8L8!3+N6) MU.)OY6)M6JKHTG6:\:^+X ?+.WH?QN&P:M BJRU.KJLG:E @,8! M9^ZW_ND72Y'-C['P0'PRQFEFP2;JH/L37"T$)&MY_'!/=D\1HA7J5(VJ?-M4 M]Z!W(B_QX($1Q1>)B"N,)U$\P0!)$@IP!UVT9>5=[SUJ+8PB=_O)>8,BC^#. M*X:]"ZQ4O:V;NSG>;U^SU'Q@+3)8V6Y+YFY;<6^_4E.J'ZQJMS4I7Z!D3QM\ M;TGCQQQY8'L5UPT;6M@!'(7PRND/A0O?B>-7N;?;W8@E)<6TQY&3)I%#%[S[ MEU$O] OX4\=&B&F FV+CZAD\B^ 1O@B$?PP]^.9NIM^+A!@RW4R5^<9U[Z@D MK^S.?+:DOLA*CXKKS/C4TSU"8 AME2L*8R<2GAQ_0H3_!KM'T7%'5HB';X4( M*Q3R73E;)_#+\B;3%:FJF#$&][>Z7_Y9(B[+R?VF*$R54;JI^#IB3N#J@+&H>#@>[X/MR"^3YHM_\Q\=!J!V.] M1[(;X,F9X9ZE]*D834US7#(;?L'TGRT68-?C9P-H2#T/<-)VFE"1#)WDU#>&GLSQ4'&?ZXVPB[T7!"5SA MG;(PVQZ F[J_1OF@C^B]\,O<2C9PS )*J8CH2-UXD2P)<%U7N+VQLR2@H&H MBTD4P5O2!"M4'XF33.(96*U6YU\D?@W,\W6Y+#G!]@]X"9([+@6SY]K3'U?_ MO0GKITN8QW,UIEJX<0I#0,$!F1EY20*B1GR0G2@,"+"I9,X:<;2*TTR?\9B/.!N G=JDIZE4DS\-*9_?_8@O$.FFA\556EG-R1# M+X81.V/,J-BW1DG'.],1)'Y?F098H!>2*U,(,PU@B M89'=O&<SN]@&JXS&I2>F?*U%Y:-)(V)[VM#7ZN(.C X4^]+9OZ+N%/16DK MFK6'\*=N5/]4I6W*NSWUS1PIM:W8U2=T[4Z"+?S2)*4I@VUKJGXT)SRJ]IWG MR>#1!:B^QS!ZF1T5E%J=+U1W=A=4([UUOS$,)@B=\RC-[##E/@C0%%KE ^4: M%)TT:K2/ZR+DK_:+U3?VB[<2Q\Y_JU'9K<>C16_66:HHJI.;] M+*"7?KQ(/8'3Q5%1XX02\],DA@?%<=XR!W*^DZ=[4+K\UBVW'L\"<35U\G]/ MG7PNV@5%>TK E'X9^?**N%+%X7*V1*.H%#5@$W+P1N1.%+SU 4=OL&ZW@>XQ M@!T6A'2+8!*G43^8:EK,9,VA\S"B[_)?\.4_/7@UO%8(8&HA!O*>O)C:=8$3 M]#W'QR A'KK"F[$4LNM$;BS@*2O/W92OJ+YSWJ^-W0GP/\;"SHL%0L=A2JKS MB/BT]?S&DJ%9#%":_\3IQ:$_259_DLZT0T]CK*O6F/X[C.;(?B1GO8@X/\Z< M04*B<\?_Z;S$K0^\MBFO;C1^RZ9(>@FT MZ^8]UW^1N,S.7X7RMX.G@Z0I: 6I6ZT@)G9E6=B/?6*[X%D]&9&U)]B \$BQ4<$7B6-(.GUNH8AJ@J MDBC)LU)OTZ%VTC34>"KF:\X>]=-4UGA]*JLHA/.A;=XM9<3NR5_B'5NR<5N) MC;%P6ZEAMA(K!U0ONE^N_RD*US<7N?(X6#I;2RMBIP6MFS7PA^ZG+U=8/^_B M]N;AZN9AM>!^/99@_EISM63NF&W#V.T\K-)6Y=W25MYZK-[6++/F0WL'7Q+3 M-?J0"Y^T1D>#>59$/6/!AV_=NP?A.O/(/E_?=&\NKKM?0/&A&NG2XI=KU';U M$>_U:T"$'7XK;+]'\C-'G&&]]-N$1PG^7"BMCK7"K/P;TI9(#X?*(E3P.&N(,3+<0H._ MZ%%3FB?UR?&QV:EP/R1DK6=.*A\-D/?W*'LCF<-;D2X%#) 14+ M#]LE,)PD%#9H@W419JX)&L->ZU0U =]5RHT3PUS<55+:PE^Y(//%3(^)V3-*A<=71'$C()ZL[ MN!51*%-0:G5N@<1/'OG)Q;LQ+./BS;&2"RMJJW.!E62!PEB1:'I0\QNX"'TL M+XMK_56<>"-P#_CZWARFRC97 !PK.;!BM#K_T)7]PAE[":S\H '"2=3G*WR#.*DHIRKU//J7&RB6LAC]4]O"W[#6"L@\ M+1^/*@"^\*>?,0[HA_$$3P]W>^$D$;XZT0^2"'=>_(.KAL9P7%&Y:N! V084 M?5$U:&UZ&C@"%E&U\"T*^\1%3<#EOC'L5(KEFMN-E'L.AUQPL*9'2*=G2&\? M_GQUMWA^E MV8SBIG&SB'U_0

_Q[2_>&8,<-W0')9K$M<-'"A;:PQ)KP+]EV3@T%W][V-L\4H"+XP6 ME )7 ,WA*]< '"DYD**^BN=_A3> 63 @8 TL[.QQR6\./[GD:,M7#T/O9['C^\VB8':*:3P M<3SDPH.LM#KWU[_?=!^^WUW=T-[/M-G83W'O_E#6\W4\;@7QM=]0J M>KA@+6W>Q(61L? F+KR)RTX-1;+>!L+:M@:,-Q?)J:?4UAKZ+WD[ZNN>@V?J MF_IFKQRY?KCZ*LCM+;*YQR%\7*:-WDZ)L;8$_LY,,=8QA=&F.P4;'1DL#?WV MYO+JYO[J$AL&W=]^N;[L/L"'3]TO(.U7POV?KZ[6]!!B34F]NPZ$9!A.X!EN M+ KDN4_&R;Q9WOLZ>V"RW?D(;*JV).W4^LC4VJIJ[=3ZZ.VV2)JTVU/?[-/4 MUDVE06/5JFS^M)]N[&M* M2](GHQZ)!'5.#V6)'GL*+.UUKNN#$Z^4;B7,SG0Q:FJX5Z"5&87I3!J%A*6^ M1)Q$FP'T[IX0 0MS"O+[[9(BZW-"./T?CU$(KN)9-N!^GQ!P4ADAPFO'=ST1 MNO?WB]9?#A6Q.N\!_=];\SZ<[MCJ[M-97TRB"%@A.'%,DO@\AX1LG74>T6GD M,PK#8;T8"/2_-N.XP +WX2GSTZSO@<,=8-7/S/U1Q@ MW>3"B:(7H,;?T9W-UX)>G;:@5Z56QY9$V3)7VL^O-Y-V$=X"'.)BPL5DFYAH M-8B)W.J8MBB9*D-B4I&YU8CU-:U?DT:_%G+?]VA]*<4(N5:!-%K,MJQ&EZ27 MS(\A=)\X+B9/,?BXJ?DJK(YNJ:&-. M73GY>T,&]K5,<<15H]@/BC@LO6HHHH&I7I5XT@%/ MJFA)&D-X.B43_3IX JZ%T0LWRVO4T#,N@" 5E2 L0:VKHFJ7%B%N9;,+H"TJ MN0R L!^19HL %88 =$I&\[>(C!W/%, MO6V1E#+8DP%[FBFJ9E5V^]ZQ=UI&?3B&T:2=?C"U:(S'9W@PO&YU/^7+-]\) M$C"WKJ:L*>XY:]CLPQ(MU6#(T.)X.K3]7AV>5,"3#GCBP?!Z8'&'?Y^%@[,) MUFM-FS$&CX)/G)CGK=2JM6^GS/B"O*!\NAU\!W\9#:BB8J:U.K(DFCH/F!\Q MH+:H[4H!A9N8X .63C/D\?.=8'%)!B3"*MR)\\PCY?4KZRD_KH-^."(/SG/J MYNY@$.'>IF&(JLI2*)/#Z= 9A%7!"7A^]/S?6Y+UZB> MITPH*CT62(]LB+*I,V3G?$1$E=P!9VTIR7^BN6+B'(UDYTI)*2K*2JMC:[)H&J47A6K95K-ISR67 M2^Z!$WJ*2J[:ZEB6)EIJ57POW#[<5? M_WS[Y?+J[OY/OUB*;'X4KO[V_?KA7Z=:;\OWG)[GTX/?O.C66\\XI4#$[(CX MV'E)J])7'XPH[3>R1C1>1*C(0?=O*;)VRZO5M59'U455/\+8"I>+XY2+G ?V MR\F%CMWQ1$UBJ>C<*6V>9B5R%JTJOH]:[VJ#_/@R9\>.@F6 ^Z>+"E-;8QQ, M!U?1U8#)I*5!-9.EY-932+!9"_N#=\BRUM\%V[&Q_S#2X87DQBF M1**IB+WL*& 6-8,LF:5#&AQ7A]76^\"5#6ZG*NKEBV4R:EXWZ]0^0T;V"1^? MWJ+>2UM+AI06#-6TTDYM468UR# _80!N60?* Q#S;PQ=U)2J*M8VY1 _RTO! MES!X/$M(-!+&840Q$@X !]RP9T;SOVF [9P-9RCT +:FE([$<-N>76B5L>UW MAU9ZME\RCRG1L@&J_):?XF=':R\?NJY J+ :N:B7+Q[- ^?L8JK00?X*,*6W M.A8XA$?808)I/4V/)_DSP[ML_(5;0Q6>5EIP7*P,,(-$H[^=RTYI=,.4Y ML50)F,Q6!\M"L 2FTXN5\Q@Y"S*7/T9>5,CPP+]MB[9=\8$B'AP_#N3E#XX7 M19Z-QYMU4:GZ*!N/BI'=/2'"39@0P7B_ M5XL]QS-R<7OZ@F*J]CGVS@//_ZV51-B/]G7H<$8A[&6[2)]5D)L2SNX5NH^. M9%JE)),WDNP$0IGW2=C_,0Q]X%,\/5^&A:63%WZXZJUG'%HUN][3]-G9(\[P M_G/9HF.J 3G?HNG>98P8$H7_?DN$OY'H?NA$Y,WE_OKF\YI.)NE;*%"_.=%M M=)\X"7%I[^[Y4S.IEF92K;RM4C:-1]W7>-161VI+:S8!5[X0QDXD/.'C/@H; MIQ#C:^+B;6$6!D]'&GWNKH(DA #H*G MHQ6\SK'Q-;9L-LG5=R^+CJNC8;B]L'AYJ0AJDH!@N>V!T5ZSYX%83>> M%#?@BXZK!$^P)ZHNFFLJ;.W&DRI-T]$\,.X]GS#YDG=NU+Z/(;APU]K MJA9-645S>R\6&97VZ_H"W+HAR>W@P7DN*HS8J%/4+7M%$%F"FX\D$S5QMWUD+S$[*7E]0]2X9>'TOX88Z$YK]CB0.O,F]?78,@%;EBV::TX"UX*MTSL+%&],3JW; M5#_A QI;PC*+"<57E%=%Y&'\576\:Y"=C+>XH/+ M,I?E:@_W5B/+0-^MK6MREX&C\VLO M^M!9SBOB3ZE0:&1IF]0H]-PE(8+3QSTH)WC!#+ @3.#I28@2XY(@)O0L-(40 MC60.O, )^A[UBN$+>KBUO7'6V;LT'08S#F.ZGWD>$=])O"?R\:?G)L.I^"[\ M*H.U-/^)TX,13)+-/]D[/;X8D6\;_RG9K^J-A-,\ ?R1GO8@X/\Z< TJY_SDP15$K6/" \$%5+#J4043$G%4_/HZY9I.UK\3J4+EA!U$H/ M5:H,+KI?KO\I"M^'V,USZ^NWNZL]PW_7?KW":MU^O-DZ4E9F]NPZ$9!A.X!EN+ KD MN4_ #AJ3*,V,%F"5<]ZS/XOO@3-Q/5B0-X]U 5HZU?#49)NOL=1&A '[SC@F MY],_/KI>//:=EW,OH*^E/_J8/2M;F'%=>64B4L*DE^=+3EM*EYTL(I2].;O< MII=>&;SI-=5NRY*V\;+4EG>\IJN;7_K6+]\:K*RU5=MLSF!U3=W#8"UEMZ>^ M.5BY;Z]Y\VDR(G^'%L!178-"NQ\L$W;[+P<#3;@F;D\ M.]!%RE^=#A&5&1&5*F3U:.G$P;9'L&7:\%6\3-92@YV=7=0BSZ@, GR0QSG( M$ZAG>%>BC]:6])S2>?6LT2K_9N:Z&1[-IJ3^]J9DAJC/43A:U\7IZKGO3Y J MW3@F\']N\;,"LH0MP@Q9E&2#H3.^7&RXV+PA-D;]8H/MSR1%E)CJJ\/%AHO- M&V(CUR\V6JNCR[#:*"Q5E.!BP\7F#;$QZQ<;'<\#&:)M5W4N@87,[P9(P$48 M)YB)P%LDU^\,(2]N![^'H4LS-$GTY/5)?!_Z10N[R9+1ZLB*)NI::9^'G]]D M%T];O(0*\61B24I9M R6^K<=*/_^B*V:=3,\&NG8X@Q4*!T6N,J:(>K2ZD%Y M+AU<.IB4CBTV?X7286-30EV4Y*K.?+%VWI_UFBV_1V$<"^,H'.Q8K(4?K3Z M]4^Y](TRJ:B(R5@'5S5$C9_JY]#;P5$H STY+58O6QQZ''K%K? RT*,;NYJH M*S*''H=>81.W#/2PZ*PMB[99U>8H\U5,&N#9W8X)'LD+'@7R/,93OO%N;58/ MD4;&?J(;,R-D^AFGY$?>@Q9,&XF/G.@'04FKVYT\[@5LB\=X3WP?MUT#]^N4 M'U>IXBN\GF'6 EA2]A&FR'$XY?0"*X23WNIHLBBKO#'/$<-IBV=7(9QP-ULR M1,VHRM'C>&(03UO^+"BT]VK-C02ULT19G5H'C:"0-PB\]6'H!FJV-+HF9R_''\%??O MRN./GO151-.L:L^ _"H +C%&2P/0#Q,:RJB5MEA6O8.'JQW3%DVA><'#[R@ M'XYJWVPX80',:P)?4T9]">/"(JCB85M9M"J+%#.S!' $'M(&+H% &:Q@T90X M #D 2QC!)0"(&["R:);/<^ (/$8$YK6"2R"0'L 5=;VJ*JOLF<'-.W][C4U* M2)QD5C#-P@F3(8FF7[S+8L3O12$@";N'I4S[(QK?T:$3JW"OAI1): MMQ][W*OD%E=URI!TD5?*(HQA^/!7>?#8J(-7 M4Y'?<]P< VY6#,*J<*-)K"FRMA@8[*] MO6(1_KKCAR>\!;?%3'Q#[(HY\!IN!5>1CL9W@IL"P[V8GH76 176@3)&)\=: M4[!68?BR.I6GI3%+GGYU,C# S+QZ3B('".H%3O1RG9!1 M# *++XU"6HATNFU1>/G 0Y1:%=5'^1&B8T3RUNU[=I",IS%%P^! YD#>)9V M'2#CL4Y=-,K7J^=(/D8D;TU@8 ?)M-FJJ%F-T/-5K^]]X\G@+ M95R9;$L6(O?0$X;+%D,0X[*U M-W_R#=G2J6PUQR8\@2SM?] /Q#US8%#.(Q&"R:A'(B$P=-+>!7E70W(U%PH>"IG M:GYT4^OCAAH?MP-J2,:WDR1.G )E&U2%$O!-(Q6QS!$I;),9X;V\#C(\A]* MV2_(3 "9)EIJZ?H)'&1,@VS+F8S]@LRBFDS62\>E.,B8!MF6$PG[!9E--9EA ML)3RQ;?\ZRQ[O$NHM^DBN)O%FO%N11*+"J$I@1#:HE%>TS=M!X)#=,_V;F40 ME0&BEBB7+YG*(7JT$-W-6JX,HDJJ1:W2V8L+>C1=#.=<_G/H(Z%^!U[C M"GD;W,\8V8V\&"Y=PL?@\1M,*G1A-;T=/#C/Z]9*"WN7KAJ.A?L0,V0S=6B_4[IA-/G,(*/@0!Q(G(Q(D)>S@ MDT[M/J@=G/'R(F/E W(R?6TW3U)M0'>@B_.?"8 M9)VX*F6-8W["@&$8EC6.#P9#M=71I-6]7P[#HX#ABLG,*@PU<-S*6"XRU;FQ>IM7%&N.[CN9P&2]34JP[ M0L3;R%9%'Z957(7G9-;HM%UWVVS< 18EN^+>SA5PL^:P%Q=K+M8'/N]3I5AC MR0W1JJP9'Q=K+M9+Q[[S@E,E;ZL"?N>N=W(6U'XG9T'M=W(6U'XG9T'M=W(6 MU'XG9T'M=U(6?*"[?/!?UWOJ_ K_3'\QRRM,UI5]!IOR=$D$+^"8"D&8P--IC\' !0>< MH 8(J!/K)/!AX 5.T/<<'T8*7]!#2^V-LQY.W]W&W-)Q&'OH>9]'!+-QG\C' MGYZ;#*?Q@X7?9=ZU-/^)TX,Q3)+-/]D[1;=&02A!]65:+/Z+@\6HA*=IDF&I M+I'5OJEIEF3+JJ5H1'7<3 %V$ M=\%P'&;&(@PCC%O]LIUS9JOS@&O@KQ^;=20S8[V]N;RZN;^Z%."O^]LO MUY?=!_AP_P#_^7IU\W OW'Z&3[<7?_WS[9?+J[O[/_UB*;+Y4;CZV_?KAW\Q M/[]WUX&0#,,)/,.-16$2.!/7@R7M?>&1%UCJ-ZWU6?V;Z6I'(\9 "-\9Q^1\ M^L?'J:'M!70Z]$E5/]G7E+VYNQRFUYZ%0%/ MKZE&VS3TC9>EMKSQVEN/U=L@V#L]]>UKMF%7/E:CK>I-&:O9UI7=N'7XL


>K&1>'/]&^EF23IPEC1: -G[YOCN6=>(%PX8R]Q?$Z@ ME$#]_F0T\:ECG):?7$Z-QG1X3JH54EV2@=?W\I0Y.07*I,=:J=X9ACX8@O', ML/YCXB4O2V3:H+"5,@I[(3>H0.H"VT1->P+E.9209\HG1;KN*)P$50GGX6]M M]/D;,Q>'/CF^$_2)X,08%NF.(\\79%%0)$7=R+8<)28:<_#M-94J:4%F;4U) M _.0:NG2_<9LC;:05K32QS"+&BQGY4/_ M')5<=W N<2XUD4L5%NQC3L'+#"KX2CMML>^27,?QA"9(A -T23"M,T8O1:"' M3P1"/5&L6PJHP32]L0_OFK4- 'X/B)=,WLH?:EC#CKTD3,A:#N9U M:?8$_??3:Y%<)T]*JZ.856TG,11-.U$LK;/A=P,25<_Y<:2V.JO;(QQ%QX.B M+9[@+B@JN/1KK8XN6FNV!#C,F(;9;DX#YQ+G$N?2'EV[ VALG6IL>;6Y97TH M.['MHSLRGD3](7 R?NVNG=8.TN94AQ+NUYRZ:WRP=0*!G=,DB8W^X#R45GF& M3 G,9-&P5;&UW!8XH5A'%]UPXESB7:M#. M>?RG2I6SG2KG,FGF?%=K5VC.. MTOOE,0K.)2K)HNF>3RQ,1JR_D"C[)W=&@:G,\[;=]C@;8?7 M7N-MAWG;8=YVF+<=9J?;(F\[S-L.%R80;SO,VPZST':XE,(^QMZYO.TP;SM\ M(DE):=MAA68E*;SM\*Y)1\I*TZK])1TI4JMC:**QIKH*H[UT#AL'/?$PYRE% M,;>)7?DPIB+3C""9=T+ELG;BLK;O+G$*O $[#\N:J*IED5+6A4T1BW*BFJFY):-A=R3[!%G>#_NL,_KK7B!2X+D_$QK MZU2F:P#6UA;%-)/F- X<\V/AG$N<2S4L6"NU.]CN8ZG@"2A)E*323=,X*KGN MX%SB7&HBEXIH^*8I>)-!!7^(DNZK7@E+B..]BP^2=9&G($3IWL6*U>H8RNHQ M4UZ6MYE86F?6[P:D8KV+%1M4=551* XC%F&TQ7C8?RM,5<+>+II=U9D[#C.F M'0G.)S2U=A("8]G<2YQ+G$N<2YQ M+K'$I4)>^):ZDJ6:+*E*JV.*NB(S%&[G"#JL4U .0"I[ .+[-94V[FJLX\S# M&YQ+G$N<2Z?#I6+G0_(6-ZZ^;V5SJ2IWQ_=7048U6Q]!%1:O*#:^_.'%%4:": M0=S<4YS5TZ>9PKVNV/@6R2Y_S%.ES4 ,E8LS%VN8MW[F*E80GOW,4[=Q4F$._Q(F.\Y!CG$N=2#3&0E?H= M;/=VT2PP,S51,DJ'+SDJN>[@7.)<:B*7BFCX+0=3F5/P-H,*GA>#Y,V[#I%T MH>4I"E&Z>9>.#7%DW@[G6+"T+@RU&Y"*->_2Y59'X3 Z8AAM\P[WWPI&5UH= MV1*5\N8 QUD3/ G.)U.8.BA%,VI^X:SVR=D&A@.RNK^>Z%"X/PF%OML-G5_]J F2QLM@H9O=4Q M.&".$S"Y/*VW 5-PE39:'5NT[0IJ$W%$,6VL7RJ2I4SEFZ6 M1&G-H9%:M#/?_RK9_+BQD0<>'^)JFG_]&FF<*];-+=(=OD".49:WU2W MN#AS<>;BO&=Q7BDP5[DXTQ*JLJR(FEIQR6(NTERD3T.DBR6[K:0B[ZUHI*&C M<.O6:E/%74M&D6FE97S*/N3:2P$:TJBJ597>YE+-9?JTY#J0F>& M]FY[FZV.J]9AW/>9=CWG78U::/?*N MQ[SK<6$"\:['O.LQ"UV/2RGL8VS=R[L>\Z[')Y*4]+KKL6]29 M4JMCVZ9HZ:OU#;FT<6EKNK05JP2IE]AY7Q4MN=59EZG..ZQRB3H9B3(.ELMB M*JV.IDJB*?.FQESDCDKD"DG55WWM7X($D5NW41+=C5V,2&-D95^[L,Q>-.%$OKS/H]M*-=Q9$)JIJEUH4< M1@?V#O??(M/$HN&:J$NK1V0YSIC&&>\.P+G$N<2TT7#:UTZ1H.(78A MM,4M*(<@F4$$\3V;=7VY_+?*+!RE[\PC')Q+G$N<2Z?#I4)G1/25YCP;SHB4 M[M)3T*90\!BRK:VV^BQ\G(0#CZL'SJ7=U,.*V\"(=E"9T@Z'/N&R5]3D[NZE MT!HZ2IGM!-[=Z\U\,'5+W*?*(CN6UNH8NJBLD:G=G/CZ*QA7%$2J&<3-/0=: M/7V:*=SK*I)OD>SR!T4MVC'$4+DXNKKC2LWUOU% LSZ47%*./.IM,KY3/W)],6ZV.)NNB MM*9J+9=J+M5I].R6QU#-D596>V_V533.W][KTJZ>_&GL/^431W8 M*I5_6=JF !1:'(L0P>EC\I(3O #6A2!,X.E)B,+ODB MFA50N:"=4@9>X 1] MS_%AI/ %K6C0WCCK[%V:TC8Q:VLBJ/&JKMC"OSA85'6>IDF&I;I$5ONFIEF2+:N6HA'5<7N& M)%O&_RIZ:_JCX:RURMAY)&>]B#@_SIP!S._<\7\Z+W'KPS+0 &53LB/--Y%K M&9";:348[ U^J13 >A!&] C4.:UR@'?!M0FF %42N;N5057'2_7/]3 M%*YO+C9KR-K7A0U#O[VYO+JYO[H4X*_[VR_7E]T'^'#_ /_Y>G7S<"_!D S#"3S#C46PG'KZ+Y?[&JA7I8KG)GU_G6"AZ:B/5XD9;.1//UOE@;\RO M.1TY7Q-@0P\W[UGX"G<-8^$*5C)W72.\G6ERM/WQ\M&6YCK)(O6B%$E1>:>\ M78FHS(BH% $HVWWH7IN;Z^=_.R9H:8(?BV&C)_ <27R>!TD[YZ[F>$9E,&5K MD)76>K!9P=7.51WV&*UG*-Z>CUR%X^TL1,SS3:U(Q'Q+MDJIPZ V'B>V1-NL M*O&L0;M77![8F1HKAZ/MHS\ M"N,H?/+ AQ)Z+T+(HMG&]#.J-+Y4DVUD;6W@PBM9'-YXJ::(G:VT.JHF2D;I M^K;L63$<2GEK)58#)?7(*]JSKJ8OR1@6?8\R3W "5W!&>!+U/[OKZB,]/WQP M7;W(F<)BI;4ZIFC+575.YN?/&<3/%@5="C\ZXL18[F&I$^I.(QL*X M]5R4OH6.*VU1V-TIG[H+#LWMX-*+^T"K! 7Q6T1&WF047P=/) N"%I9(;,$B M6O9J.7]>B8M5E%79(+ "D V\9^*>_8=$X3I\V;/*8=P4KP4M%T,G>(2G><'B MAD<7V+S(Z^QU?1G5&DH&'*-:9.1HJZ8*BFMCB8J:X(CA2M* M\%@;BV JK(;+@$D%Y2QJVNH&6BU@.C';&7SFL>.Y GG&Q *2.EHA[=B1>E[< MB&9+;6<,F\:[KU*^=0.7EK[N4IX5%D&MU5$,4596*_IQN_HH8%98H>\%9CK M3!45PV(#9B=FB<_")&/G)2W"P WR0VKV#27>-ONTWU(^%18SH]4Q1) V-@PJ MCJR]*_.#(Q^=C[,%-3/-HW+*:N0.HX-[ 8HZ5DZ:42>2##A1G:=F:2K,C9ESUW* MG:(")DNMCB4:RNK^(\\T/1I0%5;<94$E(ZA,Y5C/935 :Z#Q+2#3B M)G8#3&S*LYLPZ$\B;-U8PFR2%6Q[86@\L_1(0;9[P*1"D*F8NF0JQ]4JE+[; MM)E7\#=YJVK4;:\WIM%H'=6@+H"#WS(&?GKY'N-QGUE%N^Z,AX5%$[<_=5%? MDU98JJL"\UU0.# K*LNT+V!B[TQ-5"NK_G&8;AX'+*%)BU+O%3XK=31E/Q9C"0^M?G21C7;7: M_:1-JBJ5>Q0"L-WXVI4()1=>'X?GP[V"R51252D5H=VQ25-2*; T2!OF]:O!7F832"+FEXZ"8Q18[])NTV3F!86A/][(UQ8DT5V9 ']O60= M; CMSZ*_NX?V%86V)S'-"M)_F=ENXN@\:+K"'M&)M<)-T93*G/0X%#HK)8!4=X4B')S#85!F"<8M>048A#"/L_ M!"^.)X V@O6T?-K3/@D%,AK[X0LA0H\$9. EPMB'E]=MPS1O(=B38TM;P-R. M\9'QU3.)^AXL!86UOD9M$J5\(64>JV07506!21:VG3Z'T9Q'MX,+RB J>X5E+4T?D$K9[3SBV%SE71!1;Q5$ M5A6SLH+(C(826=?<4W8N&N*#N2L815@OF=[!#?$Z%#G,Y'E1YF9N>G>!-85U MN(6'N"6>*W"L8-J@PW.":14O=JMCJ(Q4D>#'BEX6-30_5E2_R;3;L:*Y].T< M1%J( F.A"@Z= Z!]X%.0).,N \7_"0KQE<4FY>CNXRGAZ!RR] M#5"N\?^OYBR\(W$2>7WP\?!"-W"7OUBXXL.RVD%F]T7+ZMY@6EJU:XPAS 3&RB\%2XOI83S&XP^=%=+GO3] M"5)T40VDJJ&PG8G;R;)8P$&"T#0_+4^;7[0\=M_!J>Q3>PDN,T>J8MBB9I665[Y@P MC+A]KA>%(8?'Z&41'!F&('<"OLJ;BP#!IE6EU/\6JR[G&I\2Z%P%-KKA! ^! M3NE2+@+!&C/^>T<;J KZ'(U:4UG2:A9V2!5EJW229N4,K]F?XY+/);]RR6?* MAK:I0:/+%>]3URCZU!SZ0*LP3,OQP3_3@8^<"%Q&^GIM6=CZ0#\29?CI_-J+ M/G26B_KQI_"G-.$IE>D^6=JF_!14?O>$"$Z_'X[@W2\8BPG"!)Z>A*CX7.P< MB8MQ0"6=)K)F.5*.#R.%+VAN6WOCK+-W:9@--@YC#Y73.FPRG M6GCA5YD"DN8_<7HP@DFR^2=[I^?6M822TWQ52G3A7QPL*FY/TR3#4ETBJWU3 MTRS)EE5+T8CJN#U#DBWC?S&/-/O1,)I.8.P\DK->1)P?9\X YG?N^#^=E[CU M81EE +%%FF\BUP(:#6HT;:#58+ W[*4B *M;B,5V@<>P'I$([X+A.,R,11A& MN/3_LIUM9JOSD';G=&9JH%*RYH'@@:A:W#U?WPL.M<'%[T8^W@\_3!?]^MMY?>G'?#^-)1![@%9]\>CHICO95%\I!+B6O9_>G')WZQCJ82I]XKF7@(#T)>$CH1V:?GK)4/"26(@GO=AS/2?R2"P*>$I-D3[2W]"_ MY8]"& GPD]FE=,[9Q??"3R?&S))W$BR+9M4]0 9!SA$JS, MGTY$A.F] (:V\ !/G@(,;L,7^<1!OU5X],,>F+79@8 (4>=@L80$O7+A'2!^ MXHK@\PX2^EA\4?P2@TC$[^D'H!S8:/ EB9X\+,*0#)T$7/K^A":!XJMP\OW( MZX$//7#H08. )#_#Z(=(+\,P*63AS?@QNY8^YS$$QSF B4WKC0D]>"FU[^C; M78+]KX ;Z:3HP1-ZX8\)$#=YP87B1T)O$.*N8Q$OR?)0!T ?2IC]'V.%DGQQ_0C*LK4X-=2B\8$)+".#0 MTKOP##H&R$!ZVRMZ-__R0_7Z[2#K:@TC^@8+4/\E_7?-HB*_7B2:H*XW+%XL M*V\4L*5PP&1J-Q6)!X@(M31KAR+-R9J74TM^87F@0@A?_QR&OO]R%OX,,FC/ M%XBA\X25:T@ .H6,G2A5^/C R,52-^G"0C4>H?5YTV.WF0;]WKYO"_.*C/2% MTSPB5"0C+XY1X4ZUU/W5Q4Q)@0: 5X%2]4;P;*J:@\>VT(UQLW+D)3AYZM' MFT(0Z6CBXX#[)$H<&.(@#),TE@+/">D:.">5%Z217H^N"Z O4&T%^!7083H3 M>B2-SN"1!"2BEV#B9(QO=F:2 X0!:GMC>/ML'K]WN]]F$\GT_)Q_.*!T FW@ M R54./:";.5)M3R2,5V4UC$XXR^A:CP==Z9RL-T:/4#G_AMT8/",B9^ KNWZ?LK" M#-"P9/II?:390I/&R^,%G(%*AV5T:EKT%VWCZ0(T)>3%HB!\2I\MW \)@>E2 M#%["+$>@I--PO"J+@B(I"KPL3M\%M(#UPYTO0%-A6TMTH"(E);XOKU-9HQ[) MV+")C1F_D/B(T"?$@CNAX"%.?XAV2Y2D9AC^_(4X$:5_1 QZ:HV>T7*3A*X MB$R\0I?85';7DG+DO&"D$^6"VF6P."'+4DF>(7("^,'WHL0@? :3!'R>+%DA M,T<613F3"C<=!.C^OZ5S ,&]HQH$[<#/:%G(TMG?A'@83GP7QP#+\A1M_YX$ MZ3;43+&]B8GE5ZY2N1N '^2O>?U?9].D,P3:P4/6X[4!6%O5$;A;EDZ-YAE2 M$_PO#A #8"9O"<_M-ERCK>>)BJV&P9%\9RK]]>O-,3#VTMA=G.QES#E)G+8P M0O$"*DY!(JB>*5+TRBUZ]/GSE>A KY"^HZ5'4A@0S^9T"&G2WR?KI6NA]&* MJ;V$B_5LL*]6J948X:NX8*'0K[8M]&O5%OI5"H=^[T'RNO [IVWY)4G1!-DG7-4@?60'.(I,L]HLH]53=>^^H++Q3F;Q2FK]PAG+MU M!,VP4N(%PBPZ=!EAZ-+@IK'VK!I]LL&BR[1-,;-N;3AMVYAI= FX8JIV_?[+L4S.-A!1AW!$>[ MI$>7A$&X 5+_BR13[#"/$V#?//@2A )F$:*FQY#28I!K:9*@XZ;U-;)PX/K[ MB@'*03-CE$89,QA%*;G?> -) _%[]<#%>0QM$>IANO/0SPH,]@H(0C[SZ$2S MN*PJLKCPN!'/XF)D+#R+JV%97&PX5VIAYVK- 8!NX'Z=]1:<;T:ML52U%4^+ MR)(ZT%S#[&F:TW?MOD9T:!+NL2VJT:W:M(>8"3=JR3/ MN'$UK1WIP8!A +CV@VU!7K(NDL)@@L%2I/L0'@PW^![PPUW?9%*()_UA9GR, ML%8_;FT!5R-QEKL"CA;I)0N_$07FJ"O#[EV5Z$WL)0 M(Y)M]JV9]NLIP*H9]%^6IE\M95:F_ AK=$+W=@%_MH3A/KH!AX$L>F UFW4[ ME;:E4ZUHI24TX(4V6Q8B2PVX,5B/SS1>E>YWICD8L_#O'Y,0?Y:!".#5)QOI MAZ^)4"V[Z8O2_(SY4]_(RF="RM;/ZDT^8/"5VLIT,]EWXAAL79P]B,XDBI"E M/=)W)C%9#&LNXWR]!*;0G>=6H64^?>1\HY)QBJX+YRR*]=S-6J1=,$LFP @M M[G0N))F=P1=G,0"[+=RCDEI\W&L +@ :'SH),.4*A@\Z,/33##L'-^+PHA^F MB4;T$5GL&-\+/*$A;T(=,>!W0"LKP@ GHTE:23W-I<#+$0']$X,+0A\WB\9C ML7Q\(W \(P,5S^1%0 _.%Z;#:H-/E@UP96#89L/QWV@,+ K> &,98AJDFR;? MN;-,/W#+T! /F0%TRNH:.2#(,,ZJG])NS@D:UNR]2NSE)\!J'OAS]QH7A'=7DX@?&X M\?OS/,NN3B>>O60:@**GE8$ OC..R?GTCX^N%X]]Y^7<"^@TZ(\^9L_*HE9K M=JBI(YQ>GD=DVE(:E]T36YKTFY/ M?6NP=ELWE0:-5B'A1DD6Z(H'+, M49_G6$FQD/0THX>R1(]3+N>W6T?;O&74I2A';;?%;=WDPHDBS%C^.\:\"\N7TNHH MNJB8JPU_>0'DX\'4EOATQ9C"%BVJ*-NE=39[%8Z;HK,W[S'7W8KER"7-.*BD M88<43;0KZY#"D)? ,37#5([R]15B2F]UP/&T2QL$W."N2GFOY!UQ"WRO\F8= M5-X,L,!%6Z^J_2(WP%F$E%T=I ;>,W'/_D.B; M,O6Y,;U70W=6Z0@H>MMD?,UY"!/'YUW16=,A.53(:DI\2:\!UL&]-,CCSF[!MJ8!PYY$J=0:X:)MEU: MXW.CGZ*Z9E%,F*!JLPZ$ M9(T\X;L ^R(1$;N:IMUD:$^+(?85G;=,6M/HDS?VS%AE;V[LR7MTUCT6WJ.S M"3TZUS:%S-'DL5"7G+?]Y T]=4=JR:E?>=T;6VI9:_6#EMJ[G:V=S MW(/-URBHT<<5\S6BZ5+;,NO,(^3LRK/7@X"-ZN/3G2G?"U"^G'0%2/=]WM#S M"VVPQZE7@'J?<8FG1\;+=8U:OZO+7!8V(6K1'V&K=Z/>- MEDPN?ZD6#;45K!9AZ&F@J&VFOV8WT[C$#M6[5>U+:)1K29;+!W]/,'@8C6EEOC1 MJ+PR6*K44ET6B ZK@BJ:$B_+US!H%K- 5K!9AP6"Y;^T5: 5#A5QC!V=^JO: M!#&I6E.,!IT<9:]10KUWGD2(B-?)J4-5E:I06)>E9M%Z.B9+36(X,BLWU%:@ M68>AAB74RFSI<8@=J_*KV$ZS&2P25LG9:P1.6MR#G]1D;HN:G]2<*8-2Q6)K MLH1L&98GV1*E\L4]*'#CZ_RXZM'/%A^?'7I^.HEZ9-1 MCT2"FIYA5?A10GZ&E9]A99UZ_ PK/\/*B$-S.OY*J3Y#=44KM?1DCBQ7[->P M$:G@9UBY1)<),JZ(]/Z#C 7E%TM'B^J:J 0_XLK%LWGB>;@%M^H H8$+J2*: M6E5)G?R(*S_BVB!IM$JU]ZO+_#5;'4,1%8.E!LP@;Q@TBUD@*]@\O 6B29B:JE50#8UC[.C47[4FB"8I5*T9:E5)T#SFP<]L M,BQ[I?I:Q LP[+0VMU^)'-YB#L<+JO:KM#ISI- M8JEDX0E$/KX"0/K>V/%YL.-04K>A1>V!+8Y5 <1]4*FJ@OC:6]@ M\Q]-PBI$DBH:E96\:L@9<*X:N&HXH*E90Q>A8HI EC #V[#+9&!S#< UP EI M@,,9!Q5'%V7<0)=DT5Z3Q]?(17]-%8@/2_W?T\^+?>33F@^TF?S63O4:]I-_ MJU"$;!V@P?O*$5G:X%UK"\5:W>.96GJD]M*+^WX83P!(#^15;WM-5E($ [F( MVT5DN7W3-EW'&5B*HQ$3:*/V+5E794+T@::;+8$ T,;PI@0@NGAV5_A*''P- M)I/%JXQ9K,/QBDDI?[:_>7FD?=P(A!OH)3N *,.8? M)*M+,E,:@I,( R3Z$R4Z4,\1(KP:@7@)/2?VXK;P>7Z#A\\2R+.7"&/@!!'A M[C&\EB M'X4$1N2,0-83^!,>_3.<^*[0(_A,XCT15TA">+OOXU.<.":)$$;" MV/'HA20"8@Q(!&/P/:?G^5[R(G@!WDLU@?^2WI*ISAY)?A(29!.#IZ"P>T"- M!,;D(YX,AKC MR^/T]C6OSN8\B0D.'8F$A%F<[FQN;6&1@Y/$0ZLLID0- 317,V7\J0B Q\TD^$/R8AV+LI M1F/AW21PW']/8OCJ/2Y[H"(0L+ RI%R)%]F"4H&@ Y ]D8S#<;NA!%/>(%@( M8(F0;,$KJ9T1ZK%'HS3 >H%,:AKJIE7*26^>M@RN3<_)?MYRD8G M(D(0)MFCQ51_A2[QS]P(O@@HBIU4$.&WJ1PXH%;00_(&\"H0Z&R:^-O%KU,I MHL^)8OJF<)$T1\)X=<;X[T&X*BLAU10S*H*VBZAZ'D3A:*XGTFL)Z0\#[X\) M6:!U&!#DY0C\QG4TIVQ^B^23A4&E:G!!3\\T'+ T#D&F826+,N4VU98P@Y'S M#%#Z#Z'?H[X-!\+*5%%) EZ[,5WM\\L+JNQ:@[SR\+YS #-WX_;F01UOHS:H09^Q>Q^RMQ]IM MW50JKXXFM2U%/?FQYN/6EGTV)E)PBM1K^\L$'(2T5)N:(P&G446M,C.LP+1R MU/MJ( 7RU. [5@H\A(GCEZMIUKRD_J]@:;Y,_>P!3&4EMRYGF/&40^JG$S'? MTFWWPHF'W<#%_US-PV-KHIN%H^-82TR4#+W:V/A1['9QR3L%R=O29')'R1MX MS\0]^P^)PG5"I[K,J,)PXW=N%F,U2<2Y-M%E7<"431 M6"@@HWF'A9S.(.2V6 C3K$T8+'D;I4V^\R3B)D5+BG+W8LN.Y,',(X,' M4$X!;BQMX2DFK%6BKK'DS'+$58TXAEJO:8K%'N+*AD]V['O(BVKLDSA'([[P MB[?E-SU<5T&*E$)W.W51UJMJ!-"0(CEM^S85B;/*E:[DA31MKD\ M=ZR)5Z=/&-%*]D2Y35MH1HISSM7M-IT1GU3U8*%WV1\UO 4^CB, M/7SH>41\!XMHS ^?_\]R_:2,0M+\)TX/B#%)-O]DY6CFP:%,RQ'(TC(I%O\= M1O-SI8_DK!<1Y\>9@^57SQW_I_,2MSXLTQN(O4B_35-?X,N;944&@[W584B1 M"+*$T5#D%X"?1'@7#,=A9BS",$(M\LOV\FQFJ_. @O+K!V<&[DK)F@=.!Z)J MR:$4(BH>Q+] A4[+MCF===+RELI96\PM1W&VM;_;6N6$E^%H6FF+)HWU-,MP M7)(^&?5()*AI+8XB)1L:48>!U^+@M3AX+8[_Q]Z[-RF.)/FB7T66TWUNMYF2 M1@]>5;-IEEV//K5WZK%5-3MW_UH34I"H2TB,'IE)?_KK[A%Z (D$(F 6#NG MIQ*$(L+CYQ[N'OZ0M3AD:O(.0WY'H'&-W.1UVYWBAL\C^5BF_4O>:IRW=@0A M'Z/,R7:%QT+4DY-AH+N18XJW->&M3S+$Q:*.0NP)OF*RI49UA6E+SR&BN MYI&,T&\QWK0V%3TR1C=W?5W51DWUS9.8:R7F7JYPT&[,8?/!UF'N"GT&LJQ& M#09ZN5)(6Y4$4Y-6W%7@K4UUD$S]YDXWU+[15&J!Q%PK,=>FCLZFT4+,787C M0!:5J,TX+U<%:;MR8$H/PE7@K4WW6&;OYLY0C>Y00NZ2(?=RMU@5(-=O'^2N MP'_P$1""?>0]Z3*HQ#(O=Q&W72L82)?!5>#MN/=8Z[@:8L)IF^YU):::QI1^ MW+NJ=4R-VH:I0TW^/0-V93V*8Q+G@ACTI>K+]+"^C&:H^JCA&."VUY>1_"SY M^07Y^:7JR_2TF[OA2-6-IB[A)3M+=I;LO,K..ZYQFV-GO*+MZFI/;ZK8:JO* M1:T5ABKY)*O>0M55=I:#P0O&K25?M.&VIU%.7O2\6Q M5H&U"J1OR7SN,0SKL;S?+<_R;?9MREB<(RKZ#C__W0OL'SEH# Y8(")S[A%K M;,)ZW0DSC:ZNFY;3'UO]T= 9]!W3ZG8=9WBC,(#>' :.P:"[N1-#*326\I;% M8 !&ZW6]-I3G*BT=55;2J[1^SNZY+J_-T49=8]@?=\>:89H30,?$8GWF&+K= MMQG63ZQ)>_Z0!I@@Z_,9NXC KED M!\Q5BNY36JLA+);7%$L7IX39.E3%A]T&\D1N%#,'ZZK$4P82R_.")UBQ\HOK MPR=! N,ZT:^OJ@" %U@ZFX)' [-C&,/&R_UH';.[WUM?OC31\>9J-EF:J$9Q METNK _.?B;=0-)4$*B@'QA67Q"G6?4KIL5PBZ IB>TI$>05(O%Q-@JNRDBHL M_V+LH%U6D,!EKBG]$091M&=T0*]WL&=C]X:=A^]"\MW5\-V.@-Z& M^:X/?&>J>O=L^.X*8G;NT20C$QTVDSPX\23Q%$OL_%['_U5?G__2Y+F7;L[[ M('PKMF:=)S??EO<&-W>&NT: =Z&DZS*+==T%7 MI7 U09]6,_51+:%/;-\HZ=X(]+&^.AH>'$[5^'Z>AZ$D&5LR]O%,K?T9N]\% MQC;48??@SD"M8>P*S8'VO)O[X#\"B8-P(8C]O?PBKJ]5O(@;G.PB+EN)O'F3 M-V_RYJW5UTWRYDW>O!6)\-5Z4N"$A]]:WGY.-^G[E[[_)BW-3)L :'Y,D0DZ MZ>?)5P:3>V11;;54O[D;J*:Y[E%JJ?M?LIYDO5/8@E58;YV[C)N[_N%5=.75 M6F.(>._Z;@1FIO(0!.O-IN1=R"D.LW1/_L M.>PT,V_N-+.GC@X_S^0E6WN! M5554-P@L[/M@#M6>?LEISM)-WQK-2[KI]SA(@,5K,W8?&+MGJ,;H4DZN>W/MP,G8M,4!%$8)KGH588O-;1<6B M=6LGKPY.;I^^ M%2#E:M6^\6.CF[N>!G;JV23J2':3['8<=MO9\J(!?AMT,=%"[?8;]@O)V[L# M4%+9II,7>RW&_:>7)!5X-?PF .XRV^@.84 ]'?_3MQYUB: M=/WR;] [@\L_OAHR$%FZ%%D"4U[WR>N^]M]QR>L^>=U7),)W%L6Y%)=W>O*2 MX26Z .Q44SJV96)>)+SKIWS=G3F;ICS!L!YIJIU&^[! M(2_Z#FIH/YLGH(H=>.K+ZY;*/+>C.WG#/(==2('G3*-%]RL25(V#:D?_\89! MA6U(\6+X8$'>HDN[,Y#5WX))_&2%1^E*4(F92DAVBP%YA(U"I71^7LW:T\&Z8L[!.D:KWI7)]T9C:&VGHB;!75N..=U0\'V76T_'ITVIY\!+FR1Z5$$?= MFSM]J Z-I@(A3I_M)!E;,G9+&7M?4V\?QM: L7O V T;>NU.8\2_D>2NGY J MM#T3CQ, ,V6J9^]=X6\$W$W,-Z1J24#85R$#?=1]9'F:X<_+N9T"*-W\)]88 M,)'$FW^REEWUXAQ-":&:MDR*XG^G89X:]L!NQR&S?MQ:$YCK*\M[LA;1S6_+ M] 9B%^FW:>F%?>EORX2=3(Z6"N]D^>AB+8J7+T;FH" M!6-?.3@+^M.>U9-&QLV=WE>[C87MM\9=*%E/LEZ3SK[F6<\$UANH0ZVIJ+[V MA7:<7SH-J@&!C\6FW;1?E3)E'J@!"R42G2ED=LTICD"J#BQL[7?/-HNH-C"Z M*%G,LN9B]S%Z.G"8CY:?3.!_DY"%M5FS1QF2YK I9WR+[LDDT'8(_!<%6I^R M)O6AS,-Y49A\"8,);"S0V?+(VD.'7>+%Z*";,)F1<8_>L_W5K,'- MW5 UM*;*P[;(AI&(JAZ0UR2BAC=W ]5HK)R;5,VKJ>9)!&.S4+&<1\N'GE]^S 8];K=F[N>VC\\ M3U)JTW5 \)6!490P)9I:(5/FUF+_&B12XVE )HO]^(;;\7D,RZ);K?VTG5Y7 M0]'<&QY6\\"TS6B8O*T7XL9Z!2-!BVJ72F MA-:+9RHTDU!I?42O$,I/EWZQG>!7HVCY:6:O9IU&S:AB]\%P0#O7NV MO03)(>S9#[X-YBP]6)NW>C=WIFH>7O5/ZMWMA=E:Y H4 M\<]SALD<_H/B8>%6Z;@^I<*=;085T4TCNA;[*D.#FSM#'8YDF=8+1M0./;MA M1 T142/SX-A2"2]O!RN@*0*4ME$J:SU9:SSR[J)XRD+ MI:9[2M\P[L!ZF:)]V:B'%^6FWJ; 5(FH%_8--XNH/H5EZI<4>K%7O>=FZCS( MLK#'I\_%,'JU_,4&>!Q3%WNJ/F@J!N3T-6$E5TNN;BE75\LA;8"KAS=WHZYJ M'M[2IS5<7:'2\QZU7)C:>*I8#%[02A M\Z[)%YP1P^ MLX& %KPW"B;Q$^5)B6OF8K$YYD\QM97RIY1Y$D:)!6^%]SQ-79AK<1)NI 0\ M&P-^!T_,K!\,WD.Y&K?+F5@*%8ZE7\.@#Z$U4Y4H&?_);'JW]0#SQ_SF1O3:/>H,I$^#. '"\V:\7*''@B< #5"M;,O4WFZ<\!H)ZGC&': M">LH][2I6 F3TT=3<28&!WM:SG:A LY%V"$,RFO=NL0!4:PJ3\ U-6'1VPX+ MLI,*8K8N"/0N6$:=3=D. @.JX"C@(KXZSO3H.=6[KTM*^M(WVFN%JO0:UDOJ M;#K0,IICVA&1O=GI'W@T%]:!V6D=??LRB/[U0(,BX;@[]BGP[3W7;-SLT3X2LI*%DM77BB\IYL5"X6?3N5X V?[ M XM2$2(."1*BD=74%#:OVU6D&^1@ M7QO)R&X:*>_0E+QB M8GQSGS>3XB0="NHX0MI-VSW:%U1:_/414=_0\T""38+MQRN(4O\'_^*1]/W*9-1]X)'[V'%6=-L^-;V4BYE);]=#;_I MO1?AM_[-W4CM#9JJ*2;Y3?);>]9]]"I0M=F-%U0_O)Z89#?);N?-;H,7X;,4M/O^JWQD8PK_*^?:#;X=8U>5]$(IO7!9]B**$.9]8_'ER M[_R91#QZJ8R+1W!J=C==L\O\CY:B[)6'VZC\O@FB M>&.)><7V+'<6':#V7G61@%H*R5[NUR\BTKR,W0PP1_E2]T83]EU6M1+[ MY"1HVJ$TIB'X,$^V'8#RR7V?O(*B0H4(+)$L>$#LU0XK>=?O]L]9ON2KM(:) MT^K#X>B-LVJ?"?Q>N]M4GZR&=O'$[B[)R)*1&V3D%XE0,8;(R?W>P3?FDI,E M)TM./N&1/))'LF1DRP$';?@"52S6\MBHBD6_HRCU:GH4 MRSKYSANBR0/S;9=%;]W(]H(H"4LJ>I@:ARH0D#GWB+3)8*39?LGC,96%W0^E8J@!0&IBO(I:'7-VRE:$EQ\_B^[1Y_>;ZC\6 X'C'= M&!JPY8,>_+O;-1S#BTHPF;@V4V V\%]>"PTV_M9&;YA'15""E;:,'>6-*-<63$J+ MM:S^@'8>GP^9SYXL#QY W$3BZMO'>ETP&/T(X&1[5D+#U..D?[ H8FQ#D[F/ M5IR$FPODF/HJ//MV=V(/>L;8,@#.O:YE]NQ)W^PRW9[H0V.MH,[[! ;(ZY.5 M5)?;054TU%].UNUD)2/,^A^ MGKQWT1S\'V:%M:U& SLMZL;!:1.7FOIT B!AK5K9F:;M[/!&NVLP'>J^I]ON;JBE?0W3U:?BK)[OPG0%_X8'V_2FHS58]9"NSL6H5\MBJ MRE9]>6R="UMA&;H8,:2YU5-QAJD/0]"9DWB/1L7RN.K@2:R6YGL M>_ [^V*Y#G+8^R )[WWG'KT#,PR5*B[JG,C1VQF//NV89'Z_3'*G E]L=2]8/* M@K3([-RK7^S)@NLN_+JD>?JTFO>;;#5>SO1UF;O7!>8V5&,T.GF,7:/'K0?:E42 9"%)=U2$?6/4B-AG$P_Q>1"Y^-)7U*'1?61YA,;/R^%; M@DS=_"?6&"@"1^S&GZS=TK\XE"EB2M.725'\[S3,0PP>V.T8+/P?MV3DO[*\ M)VL1W?RV3&\@=I%^FY9>-51L,CE:J!C'(O!3P(.R7E$<$SX%T[%:,Q=E&J(4 M^=ONJ%$PQRGVZ^^_61FX&R5K%3B]$%4/G$HMHF+P!8:.376N_=^7GME\:$=]BW[O/MU'4_O^/2YQ8-9B[:[GN1OR-O)OFO=]P+Y7Z.\#ZF'J]?7,%*/0]G MC2%(N!S7M[W$H7M-6B@WZJUQ\,@Z[<]G%GP+T9-1-I%(Z MZJ9TRB?X8N-^PRX F+9*L!T"[%]B^O=\]F_%Y+_"W+^PT"8516SMK9[O[>#F MKM=95T)^YI!>HTE(N26Y6P@8:U9EQ>5NMGI+^IJ.35]^AY&U)2BC+?W*2<(% MI;ND"QR"Q='IK0HP!1^*6H[*]P)R,;4V1RZ+W&=E1BD%"A5V+_7>4400>0I M7C$?=FDYDYKVI9;HZ6T7/,N[AB7(:XL8O!WO;,HU*LJ9>B+SV//N=V_N]!+V M69JW"IL1S9F-=UC>HJ/4VE:=ME4_RK;VCTX>[$51%B@I"J-6DLRMJM7Q)0GMZ;F6Z\BTF2B9SST7 MM&55:',$7W@5;KX"0R83^ >HN:!/_X*_TKNOWWR,Z%_:ZU]IGP,P,5P?A)7# ML O3AE]]?IO_3%7F'BKE9-AP'K%%$1 ;)ACX*/5<_Q'^)P@7J%Y:SB,5U!T# MQ1TE@4=*E;-QXGH.OH\!"\:DN-,8($T!\ E]Y"_"U>*@?$+XC>A,%ZUIS2MSYD.D M,OZ!^<#:GK< HQ#FZ =@F5@_@')/\'DT=>?IH5"8TY1Y-)_B7);?2M2/E'D* M8;$/*,?(C%I:19&&D\2;@#"@AT@"P,0FH*-%4UA/VGLOW[@0R @&%/'&\@Q< M]*-%:'=E]XQ/4^:OTQ"PB+;K\AH+0\"DK/4I4)($T"E:)U3V[$,0.%'^IH[R M@0_/\ -Z&C1.P'5Z]P)<]^@BV8A,U@J0YF!TPDCJT@D-Q,V([*@TJYFU4,8L MI8R#\\^V00""VY5JQA)BXKDJ7MCKG!#IKG,*PI8A_5!5?V*P81:2=*$$21QA MNR!\B]AT&#U*++1X T%DSOP),#20\]&-J+@.+3I*0'9G+^\H&VZ4::&IP;&84@OS"7@E M8GY.H/[-7?P4<*-RU=1LN9'Y?44^3<)@1B<@"0#X7RZGHF3\)VPM?I@?S;"Q M5&H+=]Z=C4%RP):E7V=[QL_S$EF=(B)*9;V[),!@,F/&J*Z70V!@%'^-TB; M^#X6P]Q(A7RV9G,/8)/0I)<%,3_&@!V*T>LQX5#! M7P2XTJ>I"R]9]0!:)4$,XD2#KS@9\/5CT1L!#F$6X]M87<^H42X?*79+A%*( MT'W?^2PH\R$ES'W\1IQP'PMZ:FT1B0EY6F?3O?;>PM]LP=(PGZA;8@>N+&V/ MLW_9@"Y*HA!#!YU(*#H[IFM;F/X"?'D@*G7SFVUV8ZZ=)40IR M@1]XCUQD/%IPY"81",$'KFVBW ,9@785Z)VIE.;U#@'#'@ !#QWJQ M>#OJ)2A&K0<"6N%V #0P5(U@]'QD=.#90@"[<(@^NDY"1AT_,TA$/H#T?T"; M)'W9T@(+5 T+7)0J*4YP,).)C M"R0Z2)(5ICBDJBX&M;6UJNZ@=E7=;R"(&% (S\-W8+?%"Y"^].'O:-BE_K;U MH.#^:+40J#6RQN/AB VZDPD0SK2Z^L08.:.>:4Q&@\E@-8CX6PSO$T.+O5;X M%)0]JNKN'GUYMO;(&K+)V&"&SB:=C(!70Q$"0B&@B]@1L?SZCLR8?)[@,2!+]^Z<#!SI0_5/3#3'ER\XR5W MFLV0D!82LGC=O8O>F4

Q@_35V#7(9G'W,7!*CIF?/Y 6NCDS\&62,M_ENT M$]ULT*5'B![ +_].\/;?9<[J&_B?Z(\ W8AS#05/D+D3Q'-(-P&WW&DI"(6SH!, &X.A%^@1]"_<3Z!I1M_\D(!#[3XNW22A;?GH MJ)F!*DT^'4$6(3'XX5O\A+M;\/@%VKJB(71Z!O%+:7H)"C>"!]HL@2\6Y$91 M0G?\*[M-.P46T49-E[]OS=-A;KC7X'VM,P&+*P?UC;;D'FOC\T/W]\6:#":4 M?:)E?)[0M]']H^52C>3W0?@'8N?>X>>?Y7T3LZJG'P\P^6^GYL]7O-%%IO(: M+MSX:8IL2^?5$2A7FU(:!AML:AF^3"G%2D?C/B)$FF^7(JV2GG*M"8:&3#"4 M"88RP;#Q!,.=JO"*ZFQTQ^,>MJVPV=@-\YC>J\57:\ MY>[ /%1E5^1147]*U1OVS$+;C3)!GLRYO5TP<&$+:IYX.^*1]C[O/G/5CPZW MZ(//;P#^"(.HOE( !F]W9T#3!K6*E #2:YF3WBYR-1?]65E0WFT:E"=HC'?* M&. *K]OJ8X1ET?*W4E4_+E%70OOHR[>PN/>6&_ZWY6&0JJ!I-Z>I<7-GZIU! MR>7:''5L'+VC%%!;)5KNQ3![+!VM014^?#I?2E=QKOI,EZE"_WGO_'*R7_X2K:PB"T& M>I2%%P_Z>!^^'EV<>BTG;AAA=(:/U[V1%2Y2#\0C'X,PQD#OIQA\0A+=/P%] M%!'7[RTP",B-"D4P%3!H0^+7S+3;=2^\%HF\-W2*).*X*8]27KU#'H VPH_9 M<[Q%_N K[]DX3' +N6 %>-.J8?.$P^/E1*UI5F& $TO;8960YRK2MG EG]YU M %GM!$W:J$06-R5ZEZG<1N$[NKGK:9W>NL=A1?@J(KYIS>$%G(BW/FXDM/D' M%$,4;6C94Y<]6HI0EW$0_.#W6=SW>/O'_?T7 MQ6=QX9;&I1M)>IRWX<+R%WE4#4I'X3"EK[_D?*9\YT-ET9A.K@OMD']FL_+O M*SHR(S=FWWB07!U!..S>W 4@7U ,KJ5M%*1*&BDL3L]J\N8)HQ7Q<%%7(UK< MB6MS^RX-FBNL6TECIU:#[K>XR/.HU!6L<.=5^=:15QYF5/O([[7ER!]JFXY\ MOO(-$DUPFJ#8#K0VISWO>UH/=0*I4@K2$GW&$2<9B6$>4<4W>CF2L_:V]UNS M[6" :Z^@X[D^?.EY(HKC4?B \3?P)#+6#LCT M7QPR9'GF] 'CRNBO086;ITO"B&*.T_,[DR_"FX31$2+PF)_LQ6@*4!^#Y&$J M,)5E5*2Z-&(PZB@?)EG#R,VG#S^TTN+R^;F5?HZ7?YBX(42;HXR9%SS5Q^\F M1>W &Q\6\[@>+E7O<_E;$+G8Z2#":[ MZ9%#,-^&ZW64.:KIW6ISRFF3MUQ_ M<-WPPZ02!3X%\4>V5/08+!Y^(R. UU MIZR':J=T^GMX=L)<'B&)R08>P1<^P4M5@44WRE%H\:O1- 4[3A>XU8@X5VP. M=F,S3G,HTDNU,-L3I%5+2"*N%_&?7,WGDA47_CX(#Z83&%HEM="SDRDUHSB) M5&$P9;?A%+J>'7T%VR"C(^:WE\,N$O9L^^A\,%$Q87>;FK=,U3S3CR.SH[S+ M_Q!Q:0KWX?AYTOFV"()+0NBHNP&AJ=0$<3&F\$.>!)S%(T:I3+53TX(3- TV M0--V9CT3*+-W$&Z1V+5I.S@E*C_R=;P1RX W!$F\C:B8>]PMH2HGRSP,QFFF M&1 N#9A9.:,*.0[%H/FXCL6) 951A+4Y')'>PL?&TABH$'.'SWK@-'\EOLCY M,Z%ZFW%F(_IB+#&N7315"]GA]?*,S!W94^4[7-?O-0++R=P9+H-4PQCP!]_] MBSE9L-?Z/>0&ZN59]I4O@9JEY8ZAQT7 MZ]F][:HHN73(=?+Z50"BXT,4)U:A(U/FL"G=QG(JGN$2.=CB%4Q)O\@NGWW_!E911 M&JMU]3O&IMXX^U\D-WP=?"3,%61''V][=V7UG )])[D)/CKP,$%,[_36K]>+ M=Q$;HT,3OW :-GY<;4B@2XF7QIP+9WXY+3]A8CZJ*42UB/J2%;_'.BR?@OA_ M& R:KJ0(Y-KX!;-NU.N42,P4N\4LQ^7(;G)Y30JID\+/D) !Z$9+"3J4G9_1 MGE\MKZ.87T84_ P5IEM:HJ2TI>A:"F M9$5:,&[X?,JS*'@_@!>\6XRV.:QH*U^O&FRIPS!#(%(H)1#19QTMP);93U0;*IV+61^5!/OV74ARGY8HTP@>GJU@>%9[*?[^?QZG6/%;$A_ 89RI-Q9(6BNM\U;N[ ?+DE\V7M5%_;6LJOOD\>DBA6D 6V9AKL MA[Q^IUURN]+1C1?)L/DXV MWY[TN^;-W7#+]1ZHE#Q0DJ*X+5")0%WY 6;U(\9B%HH0YM02H5WE$=WD.,), M:!$G1?0_Q^.V5^.X/4XV\/%4Z6;3@?O=/MX$E3C$ZF8"(\\=W5_;.\1CNV1C M?TY+4'XAD[TFT0;HMMU54CF-PT'\;))2)_,VKB#T)?V-V9OXCSXCFWV?6OY^ M/LA^=UCN0R]S018/AYWNQ3PB- WVJ^I?[+7=P]COCI80?%85^5$7$&Z@,_&K M5$H%>R&_BM;=&AI>]*L 2R1AF!:W3:?54=ZM4YOJ8U'(*VX4$ND7Z]=\ ^)" M#$R>WT$%KC;=;E'Q11M+F!2E9Q9NRSS.O"7[)!(N2'M9.>SI\.*5$NDEJ=<1 MQ8&/[^$A>5;!/4I*)P^$3HOQ>@$/2$OUT9V@$EJ79T6H;5&L"Y5\7)T=*F&_ MC'_-R_CX8N2R(C 5H&SQ(.&"2PRDFAO]P)_GMRUII1E>8WF)+FFU9%# M:4/N:85_!)X;2.K5HYY*9).@.]#U(W%7&W>"C!1V3>!J$PB&1.7/77;85 M_#D:K]I4K98C.0!L%41[.T(9#\;<:K70 M''VUP694+P"RG,JSDZ:%&N?9]#8YSU-B;[NSJL3>QZL[NC^)32SO?YU$X6J+D\?..$MU [6;&/4>U_CS5BV]!=;N7(JB/<:MTYKX>VU MKZ'6LJC:=@VET374L-(UE"PI72PI;:X01Y:4EB6E94GIPTM*[UTB>M2BA!LZ MW&Y)L"]54%OK1E,]1>JM&^&]9Q(RH>[NE<>WUHVGKW=7N^MLH&_OI/$&A6L] M4KRC9 9S@Y=$NY6B7\@*#Q*8@Q/]^JI2^I8&,RL[:L3HZ?&%W0!OL32A-8_8 MJ_0?KQTWFGO6XI7KTVKH1Z_%Z\695^(!H_'XU^(,&(XZ@WX?CX$XA/_OI .+ M$Z)#)\1OL;/^G='K='O]C5]W.]I>WVF=WFC?7VZ>K&9TNOV1G*R<;'=@5'KM M;\0/G"> ZY"A_^,&M.U,[W*PZ=$K??ZLK'"RQR;KKF?BN::EVW"7<",%3]1J M2&626/B6-75Q13!*]>+)TDV(X(MAW2<&S9/Q[" ,S76S%;VV8,#.=6Z 8[37%:_YOE!L]5 M,+1KU:OXV?6[C6!:HF-7.0-J_K1*OX;67EPS15^W:='U+@/,[37 [M.[_G(' MQ#MN;V<.>R-W,F@W=X.2,JWERF\S^X)?U=P?R5B2L8[#6#N*Z^W/6/K-7;^D M:JID+,E85\%8_688J\K]U M#=0)_=\Y&:C?8(-X&R]>^ *FO9>1NK+RC4X.O1[U2H7-F3/>\"2,U[NYZZG= MWJ9"N949KQSB1SW6)+8J8VMT$FQA=U1U:*Z'W4IL70ZV^MV38&MP%Z MP*[$U@5A2SL)MK"CDFIL+*)_"FQ=P9W(5Q8Q*\2F>U@HC3TR+YAC>-LQ+D:-;&EH=ZI#3;EM4IL702V&KK5JXDMO/)3N]V#;9H&L74%KLX_F,]"R^-- MRQULIAJSTG-P$=@ZR3668:)5HQ\>MB&Q MU69LG>2FQL#6CH8ZU*4[_:+!=9*K&J./A^)PL*F6S#FZ/*L$U+]8J,R51\M< M;L#,:2Q%[+8*_&HV92K6R2PYRU UR7\7RG^GL2&I3)':[0XD_TG^NVK^.\D- MO3&ZN3-,M=N7YY_DO^OFOY/XN4R\8>VJYN'VXDOQWQ7<8WSP[6#&E-AZ5L;, M9Q,W+M1 /,95QJ[?B4T599$,V#DG2+#(4DJ*PJZO?'O)LJIIZER,*-MA2E>J ML/G=>OZ=@_]]&,R:$'4:!I.,>DUYQIK:]A-[;"7O2]Y_03/^1+RO(^_WS(.S MTB3O2]Z7O+^G"^%$O,_#1 [W\$G>E[PO>7]/]\6)>-_$0$Q-OQ3>)^?';U2K M^*Y0\K_0%N!<*F\K7UG6B.I+&#R$UJS=C:@^^ JO==?5=;6T)]7O@152QXFW M;LCL.,"&4WE7(VM'(XI!=ZV+"M(I)Y.@$N\B\<%_'X0V*V\?L=J?U^Q1?][; MTOZ\O!%3R K=G&DWG7:UWA;[V[LW%"A-/\7.:,"\ M5#C=8P^6!ZO\=P(PIDKUO*E7- ?:3P"XL#98ERIZ>^,[D(_2]^;$<1BLR(FP ML_<\9-B/"&=G6H*A5"7].IYM(H?V9?N83Y[=W.#L'4 M44">5^Y!5H1BWJNJ;A>O6A1R>)LT?OI\$R^L28DA-:VLUH=KM5,@(J7>.;3_ M\O[;\I**JF9A=2-J>+7K ")N5M)N55R$8E=.6O;.WF P/Z+]UL7JR\U+MRST MGD\#:]CF;Q8KZV8KZW5O[DRS4U)9IE+W*6H9L[,?3:]WLUWSTX8OH/JMU3@F MU6_8V:&[K8+K*R\&S(T8/T9R_0L.IS<)8!E>L-[AI:?Q'26)?X^88Y8^-!D8 M,,PP3*>K6Z/^<#2R>EUG/.K#_ZQVA!%#L_16;<[LLP>ZXW';#SH#>TQ,_N#GF[=M$^SWVMO"SW!_]2QF$ K(&?S#TK1DDD-",?^-5)N]Q% MF6:!B@C\?S^ KQY0:1./PN'^- WHNRGS'%(+X13+&F."TBDT*37]-QS4(( 3 M3\P(Q@@'[+L*/T%%6>1Y<]P=)=']1HUT*UFA\)+M=H(RS& M[J!Z:Z5OOGT"U5096Z"2JD0S$+OS(.+G6:I^<@('()!%83;0C;V$?Y$/!DNA MT4"#[^SDV[U$T[OGF(6^Y67BX??%'PSUH#G8)O?8')G:KI4 VZC8C^IT/+W< MCXJCC=I1+0K%VE%OMAX>0O9 1M5X >9(NGYXY@'WF?>L2@#NA*#,@!#6CIW2 M;M\.5D"?E^U7!39RI\N]>W4;5NG]3G\P.$*G(K,[;/RM>D7!L(5E6]XEX3!_+@EIV6%SD9$Q(YAN.2^[VUY1T2\(,=%;Y? /!] M++&%">A-%9^0B)>(WX+X'67'7P+QU%JIUUC6=5L ?P67O/<41&Y%"GM6_MGY MUCGU/:]L<;63X8<[VO:^!,/K8,5HJJ%?H+KAP^[! M/5PDXB7B=R/^]-$N?1.ON-5A_V S1B)>(GXWXD\?U-''H(Z1VA]W^(@-?,2V[!VI9W2, /3W_MWA]A%>R! M)N]DSN].)G(MY8M%Q3?E?4S[F?T8(0=K_#SHWMQIO:9"S-OBF6CC.R2BA\<( M*5A'-/9G,B_-U];&=TA$CXYQ9[Z.:/WFKF=*&2T1_0*(/L:=^#JB#4!TMZE> MO6U!]*'W(:>VP.MT)5E.TSDG,VB_3+AF271Y@N/TONZKG8/5]6E )("2 J@TU.JP::E+R& M^F!5:: !Z4TE14H!) 60%$!G(H!.?SD\P$(EP[XZ&FUJ7R4%4!T!M'>;5K-% M;5I3L"D(K+C=S5FSN5HXURCKJ?!*&O_,@]=;+H7;&@)RE^9 M8#-,' H?'+N>M]3WI:/0(U#QY9'+[#*NRLVWA.Q3+K0WG]B<=UN> .,K^JLESU2"HU8>0O48E$7 M%F(=ZFR-MWJ^R!'>[ZRM\>>T.5"Z@0ZUW"LTP\3VEO ,[B)O9V4OX3?[(?8& MG7C8]PH;D/)^JO@FT8R(-V+%-TT2;X*$S4;QJ*-1H8=4VL>4FJ:N=DK]?Z*\ MD5'GY)R^KYSZAVL!:MQX[E[#ICZ\]W#4>6GE?UKJ M6V8SE*'\08-_I6-W:^SSC-WP/-XJP46]KRS]>FR?] ;N R#'L0%KNU%0[Q77U2M]]RU-NKY8:/,'KMS<-<8:WD M,%S>O'AJQ20+A/)">L16,HMNT&,&0LU/9?^<.KL"A29TDBP4VXJFRMQ:4"MO M)"*#S>5MIN%=J*LXC_R$F"@1'!#19)&^:U4GVG">\#,,IDT0V3GM2>5.QT0. M)X3Y^@>LI$J36G$&"$%M8B>].6AA^, K.DUAI+R!'AIXA5\)NZ&;_\0:@XF0 MQ)M_LM;EXL7-5#J+M-X*<0K_G8;I9.;6 [L=P^;^N+4F,-=7EO=D+:*;WY8/ M5SA9B_3;M/2JA_!DN!4:A$5)0D>#BAPBK0M\DEIV^2=;9"5Y;;) MHT&W/]'[QH"98U-CUL@VV< 9VV/XL6Z,M?U8Z*AZ;(T#@C0.(?Y)<'M@Y[@3 M%X0WF'K+QD]4-)?6#K,F6\ ?^=3'L(;=_>#+]9L&= %A@W(*GMZHVPJEM'FY MZ)#,8<%-95S*)E3]@KC3NZ^_?ODFCEWX63$(K).@:Q^$"L+ M1!0#S2*GNRI\$H+JT3JY$;]B9$1(CBE M41?B/Q"^)?XIC,&8P_5J.*;=63*#468S-T95JJ,@ 94G_%F3=FC&0F(?O^3; M^#G;Q=ILA9?UFK&3KS::0J)A>IG/*=NVXJ[5]$%IHR7;=I,W?SM1A,\)MJ[, M[33LH[=^D]L)>UT30)7@D7%%VX?II>O8T"9\I.\UTGJYMJ^SZDT0Q=') M9[^SAWK*);8UIS7^!:^W61C#3H")Y>%?*$?@-$>!G/D=0X!_"#-"KIJ!&>_> M+I@%]D0RCNS0G>=* 4"0VWY/5AA:?KR 9^;S((S)2LP]Q$P #;$=QNY?7#8* M]0 @_P" B D:0*? 9PJ.UU'N-[C.MWE <+C$%^.P3&_!%V7'07'1<$SS5S3J MP\OH[:200<3\$0915%MD8HWQ;F?=4:T%@>O2;(3)@9WUZB7[;_@N5?H(:\!T ML,ZF=+#2;5>1+^=6R/7'6NOKO_SZ])N[[J[UU=^HP-_K$FMB?O,G-N_6!AD].CF]# /B,!_B?GU M#@A/>8GY]0\(('Z)^8&VZ@=K<-_C \7-YJ!X, FT$+FS&:\#>%B"C7IB0?UR MB).8BSIP:XS[^DHPFC?"P$47F_"^*%_=Z,?)5[-U[I^"[*J<@CQ 31![ B*4 M%RQ 4FFLRLE/G>J,5%"QWF.YV@'[V\[";W,L# ME*IMH9?'B13<@CDZ$9"Y-:Z5F>,C:N&S.0ID%0("->D%%KE\-G@K.DISBS:; M731IY4TLNMP,ZZP#65D7#(2P59IHPQ=@AK6&\L0,HXZRPS.SNE,? M?%!RV7?K^:T;8:18$K+O\/CO7F#_2+<'QEJ]8!B:CF';0\LVNA/3-JSA8&*, MK($^'D\R\<[B[>JO^9D^9 MDWCL\P21!08^8.GS)*,%^J'\B/W.?#9Q8[H**R&*MKK(ULE&=+E, L\+GN@& MA-@D[?$MBW)+,*\8F$ZX@X^<*\"]\EQXNJ9O9]1V7N]5_H6N$(($Y.I%* M?N%YC,\)7H]^?57E^.T1@?CTLCMPBI %0GG6/&*OTG^\=MQH[EF+5ZY/RZ4? MO1;O$A?G>%N\$LY+]W?\Z_PBN=/EE\DB55N,++[NT%WVD=LSO<\Y>;)ZL9G9XVDI.5D^WI9J77[BA?T(K\DF&EK(GR7(,M:]J8 MLC.JLGP>>7,: JRI UTN_]$<^,CM@'=H!UPQ,;Z!2;21%!5!7R&GJT[ZUYY- MI=M'6S0U%$W]^SC\#7.?C2IU!9MJ^WU91-0S(NI-\.K%TDF"[8A@NX(JJ,(@ M';,)^MF*MM Q:J+N^EUE7)6FJ[:-MFMYO.'0\WY':6\ZI#JPF12 MV0HO1NQ4,LK7X@-JBXP^-@L;]IJJ3]R6WDF2,2Z6,2H9OH)NO!AGC"BY/ MWZU%B1ZUD>1UM6,JC[CO;2T#D&U(QE=?85/*'",ET?<#K0M<9';6X^]/TH?I M!'OQLX3OD>';/R9\,;57WYC2+>$KX7LH?+5CPE?'AE4;*]!(^$KX'@K?P3'A MB_GZH\[!INF%P'?O6OVM*,R3)5@N)8?5*K:P-;V85P5S&-:HAWDX2D*EZ6'- M+(H!GYA4MIZ"IEC.GTF4)D8[;F2'\ ;%Q5L\7C8ML.V$*NDLU49/BSVDF6N\ ML.SJ4DO&:W#!C@NOQYE-PF#&Z]3&5IS$0;A0)@S+LGG K.$\H(&S&6 Y=^WG M0N4C+$D;!_1CL2V\M S5EHM$XKO8-1HJ+:N$]Z# (DJ0"P!@I8Z#P9DXH%/#,[(7H%DXD+PT2%@HK_['SK9.O"3$,K MQ))+L"S8,\>-TS)--HLB^GC,#?^(3WK3P*>O25"YM!75 P1B9,6=<)6B%*4H M& BD@TV-F%_87_B552A2#=!&2 !(!("PU*5*+Q8;"2BG(@^V%88+V)';T7YKF^MJ7:@;3-^>\> M8(L)U%&"@'%Q!J)R(?R>LCX%<+&1@*A,:"F6%TOY+X[*]OV,T(LU\5!L8&DTY='R1!(V5M)\ M6JJVW8!HK%MU?4>-L[01 N@OU(HC^N]T^O?I[&O6(AIH&)$UVEE5"1NP"&F[ M)/^(.C'OM;%!&!0QEJ$3>[\@"LNA&6!]4,&+SGH5T#,"6UJ9%)81B81\7AHU MC&"/ERKD(=T\44S714DX=>&LP$S_>1C ^2'$C8I__LE+^Y6*&!4VZR'@V?#/ MRMRS>'7;"$M5L =79,('5 X'@ )Z"HS%Z[>N%A'&(K+!J+HI1TK=4?I06#E[&FPM\AT8K_BE?2AY<@17PB')Z,XA014\V* M/7.B9A-<81!9P+_ G=@S>XDXA?_6J)!B9A529-7_4\]%5OT_AZK_K:LDI'5K MEQ)Z9X5XF$9?6/AM:I75$=)ZJW6$M!'3^Q-C8G1MRS1'^E ?=1UC:([LH36: M#-9*['P",2^B.V$8/!Q ]51HN#W*"NT^R0JNT^-V*7/O>=]ZZ> PX&TH* M:?VS+"E$R@YH,*(+'!KN29Q5XQOCTKD)RA=?/*OAD*;JQ_!HA'3:I]B0^*5C MQ=9%UALRXI83/V4VV+^L-75>)'5EO M2-8;DB5@SHJ(LMZ0!-O)P78%(;-D05HQ#'74:)<*[V@,FW*2ESG)AA*$>2#5 MJ.5LF;DB9)ZP3&YI*$\80)57**B;TJ(-L'*/,=C4WUOF>K4',Y(=JF0''\8. MPYN[@=K3#TY.D>P@V:$5.<&'L0,V2AFJHX'D!\D/9\(/.U*!#^(''5M3]M2^ M>7#ZC,P KK/_;YD?S%R_%0X-^8XS>LQ MY5-@:1+Q+K,\=H*)H(F50(F(A[DT[Z>HE"Q7]10^G[.*[T--XS[=U'N^IY\H MX>[SA*)\HL_YEE+$3^WC3+NYZ_=5_1+5.PFRZB;S<4&F \A,=6A<8 $Z";+J MANAQ06:0)--Z%UBS2H*LNG5W7)"9),GZ_8-K?[3/^CL+#?==ED%,L;V8%)SJ MN)C)J[!_)^XC;!I%OLLB#Z?46S_X=DA9L);'H^8Y"]['<>B.$XIK_AZDL>K, M^6(M\.'[,+1\GCU;WS?3P^)LQO!@-:.9TA 2>*?194\ O#X!SSCX"E4"K]7 MVUU\]:6!-T#@]?26%,.1P#N-SGL"X T1>'V]31)/>GHK>7HW),6UPM=[6..= M<^?R_1S!(L-SS<"MS=(CL&U':K\Q!TIKND%)@)[4B=P40(TN '2H:H?W&)0 MO5" [N> ;@R@&I>@0U,"5 *T0>=U8P#528+JP]ZY /0*(IL^;2Y.'):DFFKN:_O*FXE M[JO%F=[-SW3CYJ[;T9I2.5ND54K\7S;^^\W@WR3\MRD@0^)?XK\"_K5F\-]# M_.MM:D@G\2_Q7P'_@V;PWR?\MTG_N0*GQ=O=E36/X;LX.!"@;72L+A+*5GAQ M(J&>221 6"84!J04MBDZ07* Y(#&C:(M'# D#FA)BU7) 9(#CF,6;>& $2F& M%Q@:*3G@LCF@GF&TF0/,+G% F[2@*[@K^A)@XPW>5BA+4A)QF>P9&SM1'R)Q MTZ^( ,Y31UY>?.3%CN#*>]BR=+>^,3L)J>W7.[%?[\-@]B;O,K'>;N.>6FC5 MC<W)NW%I4"9:(LU]/SL'- MG>S)V9*YR)ZWQDL8O(I;[?[[,FS[!)3M[E M^:MH;PV/?)XS#H%H>>].<#+3&U^Y,9P5=@6!_GT*BPS9/ ACT5H<1D.JZ#B/ M\,D*G5LO"'ZXU)CW'@J.ES/F$7=RX$:H*\A+;C.I _NT[;7 MN1ZGW,-)C31EW\(@V,DQ5L>!+F [YS$2GSN*#'>7> M\PJ3%IW4J7E]\=-)UK\=MG@""A]O>E^9"-@E=)Z$<):S2,P?%(YY&#RZB*>E MGNW8WUQTA<>O\'$F5%>5NLW["<.U\*GF[<5=&!.>P)]G$\ ?!Z@/^3:C5_"F MZ&D_U%>\=:D'<.%]Y,9#BFYO6X)-2_GO /)T'*P+, M+.9CQW@U_1@T^4?F!7-\G4JJENW.J4\J\!1H.K 4A\UH$C!?:X[H!/UOSI"= M8-QH^4>@2S_%4]Z"/H1GJ.%[D(3*.(%A6<37 _(-7AXNU'3R((>Q#C"U=_T- M!@*.^P&JHYTR+4T>%D@V 3: Q[=8493,N-ZGM.7%C0>$%O2@ 6^%(6@A8#'/\ FYG84\2Q !OUGE=3 M8(D/9]9B]:,GU_/6/BO[+1(9MFWUXS'S7-BRM<]=/(2>I)9%] 5N8T8KW;BY\@T3VV0,IW_A'R#B+<&Y"\\(* MJ=%N80LZ(,\C4M +"$>$*OH@28CDL ML!"ZT0] 38*L&EM YE2R%?%'0U+W8'9P :.%1X".I5$['%-1^0#,. MB7]H<$+PTNA \ +[;!D:44QRDN$ZQV@ AB&\1^64L>,$Q$0H3EEB#:(,0]:& M'>0&IK > RYR_^3+QBD@8:M0H*-\3C(!F$M<>^FL#_.SOB@C+30B81%X$L&2 M-P^BK@+"]9&L('T)&33&$CB*AP9?74&>B#5]A9\J[X%. :#7X0H,__:+!K=J_R+UC;>Y"%BM:]_:^EM:"X)9:)"N=4\9=<_I),OO=] MW*:O:Z_\?[/VV0LXXA0ZIY6WS&:8M\KG9&BJ@OWW^$F]C7 M/9U<*]ZJ _^+$1P0 QZX]''[!HJH31KT%>P^#1 M)$'AN?G7, H\C"01P^&1^ONW+QFW<(%)QP/RX[\3%Q=-XH)6!/QAD02P48]' MU3K3WB8@Z;A82=4?G\5/0?AC2;9FJF.4S#.APW4ZV*&.\G^#)S@!0Y5S.PU' M]EJ,'L'0FL^Y+ "YB*<^D$OL!O*DP^"SF%?% L)Z@3@%WH#5])QMJ@H\Z\($ M,[N(?_V&[_17H:V_>_O'.YK;!U">/! 2*-7OB ,8#S.\'[, : MEFY/.&K6!T&5^#O)G MV^72TL5?C"/ !!P"$3IG8<\X#T0<7C /U/]30(8$\FE(BH^+M%MQLNK0^(C]S+2@1XRX2<,(B"-:!OD$]!NE*;GWOK0HJ+282BV"%\ MM^.B$J=$%NXIO-YF1=TB8JB:XA$('Q &EG%*=>>$5WYFX2-H&#^@6/%*9H"P M1;-,2"6 K>=D3AT/" ^VR/K/.LJ;;$!2N-F$5& 2>C2L\@LR&7<6Z+VN"IM3 M1.ZOP!"@EB<@^--OX9=ZIP=G.L@ )%;A8;*:<2[*+P^(L]0+L>GYC@*[13 $$ M[?TC_R[B6 \DG%"6*Q>F[0-_XBRHD3( M3,OL4^%V(*L$J,307<%U7&L,LC-> MT8><4/QMT9PA3%%K1D#[#W08P7J6E _+ ;S1\Q4$4,L!E9[_$R]!K3ZUO%&S MY^)K1B8A-\\*YIP*1TH,%D6L>.Z,MB .7F5'FU!/TC]@K[*CEJIOD$3E8$M= MR!NQT-B$G85S3! UGH<"O<153E.4@VI@WX6)<*"@&9YN 4X(7L!FKDTT!5PG(5 #GK= #R3N M@3T.A4F&'J&(_-E%Q"*AQ/M0E41RL5RQ $D;//BYD^#1"LEY.$Z#$28\V M\B>1Z$)?>,SL*?D.5]PT](2(7<#)+9F"9![F\HYN^]=\2"MG#>G!Q65B)ZZV MZYEO0)]&"A1V#_8U\!]0%*!_S[.XS%O6S\G-#Q^FTI2E4@3/PZ(G?EV*V18Z MUL,2<=S)O&/T,.< LK\Y7";[ R9I[!#):D*[>R M\-(KPX47"!6=VSU"6X9?JJMO2V>#JW=]F!&09U%$,1[PC%,FD^3I\1 5A'.) M$(>5I#(?B ^BU:7/<)@HYOXP<2R@Q0BD I@)?N'L46I9!N@=PPNR54XI/,DU MT2!\L'SW+XN;@H6%I]=4P(U@7L1\O0E@$;W8M#6 T(D;I\:@-8.!Q8OP>U@' MO,M%(U7-YC5AW+Q!_X$+"[Y-H5VX#%/(C%X]L93-/(!WD#RQ\/K.(MN9 M?I>Y'8EX)%<2\AR$Z0$I-E'9*!>N+DAIN#E(2<8;G7HN,M[H?..-3J=6/(5@ M*MTZP1.>ZA_@H',-%-WCNJI!9H<')A1$N%?@[11Y>7FY]62UIFYA".0"<(^6&*=O*JSE,\ST&,N\]P*I#RB29= M00/BAS 9W=Z2LY4/PZ\\4\NP5&$ABP=^B.(62_T7]0Q^R*=_ FR0JFVWJH7+ M 4[S.3^2\8SC'_#Y%33$,;F"T0&1:?VI^5^ _BQ6$*FS:(7 E?I,T^X8T,KCX%:\M-F3H+$GUB/ M 0^3*+@>,AV*E$ID+=)O'D$AF*47&@7*\,_I4AH#\9=5GH(NM.2\2-6O>0BZ M$/B!L."(>;,-*6A>Z9)"-BXXOI!_T/T)#\+/9YGF MB[HMBUWQ'-PT-&1Y>EF;-RPB,T_(@;"0(N2[Y UU_G$[P(0/. /+WV%&-XZ'OK ? "7%\, M3XOQQB".BDX-O#6Q0GLJ'!>YG9'.KVC)%:'G^L5[W,S[0.]!=LJ!QQY$P JP M0AR@)UHA?[,((DSB""ACKY@Y,"_Z%":[,FI^;9BRUFL,JH 3EPM/ /CZCTIB M_7@B#T5?I.Z7Q8K7Z#4]NK8%F-IQR\&TM&49Y,3>Y53&R^QX :>.)4(XEMVG M%B6:T%TA(_'2UQ7^:_L\BQUFX\B3QN,]S$20HRE'APB="/&>% MDY&.X_3U%.F%L:?II:@0%;E+)^7?_0-ZC/8&]+Q)@SGN;9*Q2/DOXL#AD=II MZ&>[>8)"_K(;DI6 3CCH 6(\? 2T-S 42![3Y< _.]\ZRA_W]U^RQ+*<$'"B MP/OFI&>)@)@DXOZS'RQSJ6?!L42O/Q/G06@'Z$+$,$LN7X@->;@=,A[E,_(+ M0I2>_,>>R[W%+K\2*<:QI5$Z)6M<^2U**T-4#G)EG M5=#9#=(77I6' B^%NBXO'=BH$(*?AX_P(\>G,S=(HK)K+-PO$0SKB"C2/'B5 M1W1SOZ<;VLD,FV/@S:+R/1!1LV@$BQ!7'A+(]3H1E,=C6,8L?F(\SQ V?'G_ MEB/ZN'PK!990X_GF(KD0@H4H?(:!)_3:.F0#N( L#NC6"45=1K<]&X[\6C52X_.._D:;U^L*11KYA]U3>_$I*/ M>Q+63*7ZRFP1^I^0R_%94__KM M5?_V3GGLM8A/A041<>4=4? ]N^[]!M#\R*'Y;A,T_>*G.H=)BX75IIVD\[3U M,JG@^8E%I'Q,-Z/Q=,F]_8L#SUFA\.:"L@C;%/WZJCHVQ=O3NT_J=&3C.^<1 M>Y7^XS5&DWO6XI7KTVSI1Z_%N\2%*=X2KE3TH'L;_G5^@=CI\DM$4?%.C"R^ M[M!7*W5&Q'>]SK WVOAUMZ/M]9W6,;O#/7^Y>;+#CJ9M_E;.]1KFVN\8O?Z9 MS/6C2\]JO-9T?%TE84)AU4*MY57M]JRYHVUS;3JJR?AP>=A@)K"E&7 MZQJH Q9UOVNFQJH>O$2+BK"OT&JR3E?*&NUD3T7;?B7:HO&@:.K?Q^%O=VA1 M5"GO6V7QUT=$/2.B+HFX!Q'_&^^R?9L1%5V?_NG-7$87*) M))/"4 K#=A!1"L/3",.S[H@WK&1=K3I;7[#?2V4\G;@93#5"UFX&4WWY)ZJM M76W=>E]3NUI_O]XL=41*FUL722A?!)2[NMHU=0EE">5SAW)OJ(X&YF4CN5+/ MBD90W;KMU4?MV]H3D.%GJ;9* ;FG@-1 ;=4O7$)**%\#E(UA7QV-NA+*$LKG M#F5--]6N<>%2^8KU5J.%QO7)]=:2-FHGC*[>7:(R+W4[7B@_]4:=;E8I% .0 M?P(F+GRT7]VJD&&=.5Y40"T+N:=Z7=$JK5/B %UC]_=N78O6YK 9O MWI$-?T:U@R/&?H@D5E'J=;WF,-;Q9EA]KYAGAE5"J'J;2"O=7I=2>5O(9<"N M(UB^P9O@-) P5)($V 43ZBBYFB^$H%!(\:?$@C%[L'Q>#,UFE)I=R"-(L\>7 MDR?6!\R(LGO3-V?57%V1J)$L$B6+1,DB44=H2G>Z$_3]GN>@* #-?,QIRANL M+)=(QF/M)]W0.^;R46SVN_E'5 UR./J9OAIU?T[K X@QU*4S]B=M:'1&RV\S MS%&GO_2VD;;I;=FY'UDSMGX^?RC6MS-8&E83PVHEB]A/ MWUC1,&#U'6UE\8,52HYVSZ%T[>W.:_H4Y&J R&?$/KA85RB@1B0P);%DJI6- M1/,761+Q(=5*R]/7VIQL6YZ_]@>5!/N2UPCC'WRDZ;9[]RMDM6VO@"9SW5J9 M-W)..2YRKC+7[9SH*N MBDS*:P,?2V$HA>')B2B%H4S*.U)\R!\%'ZL,<9;!='L&TQE]U1S(N% )Y?.' MK:D,)90GELX/<)8"4@K(&@4E3+6G:^UC(PEE M">6::NM(4T>#%N:\2"A+*-=;]T!7>V8+JPY(M;6A'.+V;>W)U=;:GN8)_=_Y M>9IGRZ')=5AJ9\AU7 MP"X]K5-7"Y'L6PMIJ+AU3F+'0+=GWDW95^!U5(5C M(AHTPW,1%L:8A_@396Z![OC@G[#+O%\IC6.$":?B#Q4NE,[ M\.(6 M?@5+@!HK6K"8%=H-PRO"AU;TJ-U> M4(;WZ(3EOQ,MO$\_87IC]6:=WRQ/= ;^2/M9=S&M3O.-LL7-LL5ES=9EEF\K M,^;.*;M/SE5F^9X37>5<99:O[&@ILWQEEF\+8'^)Z2\RL4TFMK6#B#*Q36;Y MMH&/I3"4PO#D1)3"4&;Y'NF2[]L6%ZM,GY"!NGM&49AJ;]3")"2)9(GDF@$? MFJJU,2Y9(EDBN68>D*&:O0M'\C4G3]0- K^&Y DI(*6 K%'?HZ^:?9GS*Z%\ M]E >#%2]C>V9)9(EDNNM6Q^I>AL;-DJM5:;\MCSEEP- [^B]=HLVX7G'D';1 MN4GF)=46DW755IF5=$7@J%OI38*C=>EF;7S'93*+E*02'%*22DG:2/+OZ=+K MM@5VK"3'[NB(FB>QCA>8.%Q($LX29)_<>+HQ13;-D%UO>I^^FI+XX.$H\'WF MY?,4V;349IVGX?*4P"FS'&H+2PN,9:@4D+B\T++OQC-W(XI!1=SNJ-XAEW.<6O*,G*? M8%E+.?H6)H0G,5-$AJZJC)-8&3.^?91;C_GPD1MA]W1L>VWAGN-V60^LX >@ MEMA/.!]XT*'YB*QU&,N>IIU_G^B;<1+!6B(^S60^#\(X[8G]@RV BMBZ_,&U MX7LW=FD>U1+4C[H5],;JZ=Y?6<2L4"S]+5#)"^:X.9>3\QT65^@45B@3O]N= M1'E."9]RKC+Q^YSH*N9Z]@.(LI< M1YGXW08^EL)0"L.3$U$*0YGX?21]^.LN/ZM,I)$QVWOFS/94PY1Y-!+)9X]D MHZN:QH7WR95(O@8D:Z8ZTBY<)E]Q'DT;NR*>3=2B%)!20-X-AVI/,]O'11+) M$LGUUMWOJKHYD$B62#YW).M#5>]?.)*O66EMX=:>7&F5R=\R*ZVN;5^7CV16 MVA6!HR?!<>[IAFU\QV4RBY2D$AP;P2$[/[=&^IP\^?OPX) ST]!%9N9#H:7T M,9SM=#8,]!%@N.RWK&] M3),@I(GZ]SR(7*SY\BHM49(7;\ 4X,*O1.F';OZ3M-S)QI^LA<0WC951I>(; M>G>Y1$;QO],PS_AY8+?CD%D_;JT)S/65Y3U9B^CFM^6:&JY_6Z3?IJ57K3HR MF>RS[DI51SC_.LP.0BKK\PK PT)\"J9CM68NRC1DD_^X^9MKFMW^T'"89M@# MTQQV1YHQU$UF6,ZXW]6&_?\=W-Q]1TC__3?K+MW11LE:!4XO1-4#IU*+J&C> MOH&QL-91D;9%/BF']N!D!75V9G$<5.K-S(M6826FFD6^1,VNBA6^>(&VJF6Y M]$X_?W(>!G$0+^:B,E7,(EC_OQ-WA1+X.ZTX0I#$D>M@!:+PT;6S0EW#I7I> M#IN'S';YT/B!-0O@^/\KGTOA%Y7J29T#6NI7@QL6ZZ"] %:T0;$RVU:P&,4G M2S=]7SBM%G_;#18M'ZGE8-E:!VYCE:["[FTN!1"*3L>T)ES$V \< M#>9(NX25Q1+?1D*#JA4O:&:V-;?&+OSI\@W#E3/VWA\(:K>4UR@IP[:ZF=$Z5G^1<906X_XI>L "J=NF.M OO&^W1/(U(%D;7G[E+(GD:T!R M3QU>.I#KQ#5?6#6-?8.>+[J:AI2/4C[6J$>C#D8M+*0HD2R17/,L,-61*:TO MB>2S1[*FJ\->"^N$2:6U&4'5PJT]N=(J2\#)VC0U:5A7:Y6E:20V)#;.IN10 M&]\A>47RBL2&Q,:YRJ^#RK]M+"K1BM3-"I$=A^2%]XHITDVF^NY(^1XMY=IN MR O6.[TLP5;Y%\-T3Q\'LF&%KI\.BLFL.")/;<5T4#Y0S.RI#[OTL,"/0POH MEMAQ$C(:39I>,D@NV(JB67G@=":N>":_JQZ@9L M!4B_F-N_ 1V]E>S^TFQPK:.=98[VEM398OKVCA1MRM!VF(VC*9&'H\%NE&1E M"V-=">#H4F)8EI+E= =^<10G?;1:QK79HHSK#QB_B+(":?H9H!LJ'WQ 'E-^ M$1G7OZJ*S^(J"VMUVK5;7&A "Q6,0^N3*=?M3%\\IU1+.5>9Z M6?VP[F5UA3N9E;J39;RTC)>NEW>MFMJP?3&U$L@2R/76_8NA_RH1+!%\O@@& M4=S;LZ7;N0#YBC-7!FJ_5[#C?_S MMZ&NZ:\E0LX]R:^-[[A(CI'25&)#2E,I32\A[;IJ=,=JZ^0\8YE^^9.9)[)6 M3Y^--N3/6LH4I@A3":V8TC:S3#]FA3Z\->!9T+85357Z+S4[?K0\2A;%"0%Q M?[ T:]!.0MY.E]KP>A[/#,4D:)P+_7YL>1CO%9IV_21)2 OD:@*RKFBESCB60+P#(@^Z% _F*8^ UO86G[=G$&4D! M*07D75_M]UO8L4\"60*Y;K;;T)2=GB60SQ[(NCJ\]'I/5ZRR#HSV;>W)-=8K MR]E\-YDPFYKXQ-8S17'+3)+:Q[W9D8E&$AX;#U&0 A(>YYXAU,9W7":[]#MU MZ]I)=KD>>&BC3ET?D81'JZ78T7,V3Y=(]WZI#2YF.^YN=ZJNY->EG1*5)RO" M[,WE/K4_]3N#[ /LJ0J+9&LZ/69FHI;Z,_T&)>S/JH))GOPY;Z$J3U/7GBJ. M"[_%;-!)&,QX?];8BI,X"!?9BW1XS3QT@/6FL!<7UG>D[6(;GY;AC=@NTB_34NOR@:3R='8 M@(M8A]E!2,U;7P%_LQ"?@NE8K9F+ CPZ^8^;O[FFV>T/#8=IACTPS6%WI!E# MW62&Y8S[76W8_]_!S=UWE#I__\VZ2W>T4;)6@=,+4?7 J=0B*@J7-S 6IH87 M:5ODD[9)>$IY)U%-$M,&Y<%R21+#4[X2S!FG"<]U1\'(I3.NU0]\H)J3@ SF MZ<\;VD^C6&?/S$Y(I@>3B0O#8#/I2<1B3/+_9^=;1YDPA_HS@UAG5@BR'(6_ M#;+<%8GV[-EF440?CYG/)O@Y37K3P!WE>S;?XFFRVMZ]VKFF6"%+JP7$4VR; M3MV_84^L<*W*0'Z^4 $ 6%/B$J'UPW<6T.^7^\VI._ 39"$,"Z+8M@,/-WQ =]/ &3KH%#YB4\U(R:6#1I# M!),'&.(&XKP]L8N14#+H0=PQ5'?2,:A%^CS$Y/YG*B$!3XFR DQY!$0$2:3\ M"8N/'-?FTX0ON>[RQ 2[L52;L8/$ [K,YI987@@RZL%WTZ;N.++#8"ZH\>"( ML'P6@P(S24(JL%$"+1B#?@X,&=INA.I.L?VYR^M=K/._NCX!'/QV94I+@"9= MB&]"XJ>B!9](51_.V#9PTP-O82_XDJIP !ECJ_A>SWJBAY;I]P0+94@\._!1 M%BEC4-M\8*X2CG&=_[BI(,I'-]O93--?@,_6XLV)S_[A_CMQ020NB')OK#F6 M[U"^L@AVS6Y[78[_ZP($0S1.26,'<6H!!TX2$K@(NY7CA@,3&1OST?,A$-QK(@^22$*/XZH.@R<5?>TA!)S MBL9PZI>@@;?]I/?!:DKMJURL^!'L!-)\ BQ,S A382!K+& ?R_^1OO9/6/;$ M]2W?=@%EK@^; <941C4\#6$?/,+DAEFD,I3.^(?@D84^TE0!*\&W%TLE'0=7GI[]DL7,]:+?Z1-M;0)ZH]80J T)5&Q4+.\'#J%[2O.!\"!\$ MH$VM\%2N0>9!U7>@U.?.>F!C#/@AP]^P@]/&MISK;'K MT:([RJ?5>>02:&D]&_5?,1%M:77 =W!TNOP)_,":!6'L_I7_9)"[2EJN_+TI MH3Y7EC(EJ2JY-Q$7%I76!<,? ^WFENNDOJ6H4%1,O)=+OP+15PI_.8^8MN6 MF%EPS0>=0,E\C@-/44^96V$,0CU3?$ 7!:E$*GP43.(G- =@BG&(RAD.#]OI MP> NF#?9)N8/\%D1+3*53509?@VO3 E'E+%!\<,IP=Q(G.):^ATC6XI8 UDP M8( C1HVL.JL 4-^'U*MGR9XB7.GKV2G@=Z)D@ !@=4+R 6@0*,AU3 M\"U^^ONW+Q&5'1R\1L4^LD-WS% +! 0Y:X-ERP#",#BOTI48A6'A,803+][& M!R:2T*$83U]SSEBE3IBP9=#PUVIE! (:!DG,"83.,]3YE[@31\A 4-!8<39O M0.@_HTWOL_^/3CTR[MXDP.IP3"G?$INL.'S%!]\/'OD;8=/1"8E%WM "A6FG M&NX3JJH(+!=5H(+\6B'=*D)H@<."W%WS7^)LYS!WM)72O9GG)S4B&\1+AL>H M,F+AW3N9K>7BJ>8!IQ7/C*T'G**K'!$[S[;BF5FV_Z5GG3XJ< H-L>F4ZQ:* M))[RE-,+$U$K'7&#E4-1X'[)E4 4S(_]CM+:\\8H".G]SYNM0GM4 .=.H6VG MDHJ+:+7:05,J1_.#IDQ8EAP^?,>K'0G=PJW0CB.A89$Z6%VK$/E>D#BT@J_B M\7?. UL6K&JY9#T_D^5#9F8+DV71;GG^OK+1(>QE\@0*3EKS)Y!T&7:&&1#6 M!'D.:?A@LZT]7!%FMG#.D,QP7/1LBM&Z19M<#$>U:C-9A&Q6'#5."^>BR$UB M=""#S3WGEC2B4&BD+3^)M^Y<>II6W32]>'KLNVFZ5MCYK;O6RV54G4U;WJ?U M[3L_.X3.W<,QR9:Q@JNB653#O[%!D8 A;<:<*%=+W"A*4!?@VG;NK5PU M/A B\0*U>C^34D:N!-'U!RJL98;58QRF\Y_Q6$/Y"Z MZ?UF\:[S7:Z8P02 ..W6/3 P B,#0KS3X@X6V#8WNV['F ,F_#^PKQXIJ1,W MG&6Z9/$'*CP9SB@6 =18'D,16@Y++?A(77+*W*:HX/$S/ Z3'*B6!X_F/C"/ M92:[L(]OHREZN(,QG*K\\K*C_(LI8^:Y#,,FIE;,+S>3F-\]PR!SP*N%D3L! M+-E/,(R"QWD(WL&8#."&!Y\\CJ!)3#SV[)(K9H&J/IS\4_RE]8 _RGT*'HSH M\=GEG,>C3,4C'>4]#WF8!2'C$:B_!U9(3/36!6)1/ ?>MEI)/ U"V$#T*Z>L MDY$:)OH06C-BW62."P%5J7CAM';'C)_Q:]6?1D6E*F3H (+Q'BV7-K6CO,V# M7JJ8KBLZW++.1FZ/&>X\R6+NZN:3[RB(N8U+)?!3$S/6%%%-FB'GXT=S="EN4>S;0MC22O=_XL @6R6D 5 MNAZDT)]^\Y[[R)M5!9"499.R\8OX[;1%H)"5CYOW<>XY]STLC?LZFW%F4V5? MPAF#QVL'A0RJG29D6>/?+#V+FI&KW5V&I&4)%B+F2QD$'JRCX MP>'\A'_=1-!!Q3<%8:@['.A.LJ ?PO^X*E:7A6RYX]G+):$*Z'SW%7XV/%@A M#/[WXAO1VC+T2M*> CBAS;%23 JP"CKL,) YWT>V)R2=-]R267A",' "9PI' MO9: V>Y6.@R+?E[8H6>X$MD,S@J&_Q4^B+A"H2.,52#KV79'\[[#(JS#M%!$ MG\U"P!2/+E!DB\NB:8MP!0O@*@%J($:JR7,A.RZIR#O?U;>\5I]+CI+ ;*^B M8>?K-5XR=_Y:UUZHP5VJ:.^ODLLTGT;0I"X5V^\X#^Z"$U,ZN(OI@NMR$9/2 MG>N^-;I&DT?2<63$:S"K^;R0@J8FH8>7+$-61]I%_9J\PW\6[=[A[WK_+W[W MLD:/@]O]^,M?02+DY.3CQ&?V:C ]/'[ZU<QCLG0WVZZ\^I:[-#=KI MKF\0_>J^":0,^R*G2:-?:[+UNW %G&UGK]$]\#$R*9]B%C\O6NZ;S?"[.OA$ M!T+SCYBYOY&W^X[Z6TYF_U/DS6$2/V(23XX>8_(.G/H?,WN/CY[^\MG[8T[= M#W4()W!ZIZ;P$XD0W)@/"@'&;UN'PRS\F$9P4XG4V35UG8\;'JFKWF"$$\50 MVGM'CX]/)B(ERDAQV>>+DP>#DLF!$?$CM\COCQ'Q9N_]^.&7V5=/#^2>AZW\ MV6_E1V$K/SVYAZSEAZU\V,JW>^^OPT[^\K"3#SOY\]_)VP^EG&[X]^2?S^.Z7-O-E6.'F2??GT;GA5#XMT MTT5ZDCV]M6;C88U^VS7Z*OORY.EAC>[U&CW*'CX^K-']7J,G3Y[5NFP2H=5^MQ7Z9=F 7\-48SKOB>I46D+>!S>?%'WA-'1Y;H>S_4[S)Q_ MXLFYU\?F\:-OLI.'MU5N_+0S=,>!\>&0' [)-0F@DZ^SKVX-"#@9"=??Z1PZ>&,',[('^&,G#S,3KX\.%N',W(X(WN0/M]\\WD>D1LK2-J^ M+*M%475_>?3D^*NGQN#P?_[76?/G_W,CDJB]S_EDZ_;E\;5UF$?[ZC W;:+Y MI(.^(7W%;/:&:+%;-"%-A3W^:\T 7CBS0E%GWL.#U"1 M5 3Z*JJY8Q:]B[7";)V<@LOU@B<12Q(&N" J+0P59QHL/-^;4LY;4A--&+Y M9?LZ+-CL939[&?XH%!W\[+*=_7_3=H1%34 M:U&V\[YMF63J/&\6RH9U[6X:<,3MW$4W);;Y+6S!38_5K[)/?EU#].B.#='W MK+:W+JMRW:_WTMB(E 3PN1GQ#@?*0N5Q,XX9$%ZTQOQS:J>*U4.TRT5'S9$ M/)9WIKNU@':>"GH]>OCHFV-GMPYFZW=MM@8LA/?)^ORZ!N#Q_?%$F*X0-\DED14LG&68JGO\XU\-$F0NS6M_D*G*UO+XB\[[NB MR\M5*Z?T3G? YV(AG&.CVBW;CY;W_/K1OUP3Y1#7@L1G1Q3#_^7QT-POGOQP^QQ<.S#S(8;IX/!P0$*_[#2__XN3.:J!MGA[-D926#] );) MV9NR?;];T_XWIOC;\89J0-X0:20-^+Z,=_HI.5M>B!O$K6$O(2M>)]"_HJIN<3UT#%MB>;S.*)L(51S)14"GE M(_Y;2)62O@&$2;VW*<]?UU6QE0="1/8W$R4%;Y?H(E4YG&BVI&WQ"T:%Z4OX ME>.20626V'2-2CKXT#C=D'F* LHTI&5>AO@_7['($1@C;[X49\4\[UOF%X^/ MM2L=^NGW@%!\K_WX7M2KGX.^-RSHBP^B W;_;8G0F\*6J KW7-]#%[V% 5D4 MK,"XH%U37QUT.$R'X_%!A^.@PW'0X?CT.ASW2HCJQ;RNZG4Y)TD(F,7[;=G) M2UQ BV!6+)?T?\(RC$S\5JKV M*9X.9197\:?X%\P5DQ((?9@O.Y;,#(\*+EV_(C^5?G@@%,E*"B5+K$AZHC5_ M3//JP1,.\2$]DI2WLEG)D30]N^W":,[#?U620R$/FE+N"')EL/#WX(;&CT,E M ,3=\]FVS:,WP_I3);DFY4MLJA,>J^3&]^A!KZU2V'A0KL4674+=9>TVMQ+IEVP.VQ[A-RW[ MR!!Q1/PSV[$;6K&]QHNWDGPIEXT.R0^QMX-ZFSYTAQ*Q"=Z2RFR(_,-\\&"> M7X3YR(+U"_^FQW7V4U72H_\K&(U%O:9X.;P&!9QS-DK.T."%Z2%D%-\459C> MLQ(F_LT/W\ISJ]F;?E,4^->7/[YA;=MO*28,D>/K&G'LVP[.QCD^]-=O7]^] M_L6U>RW6%I)+,-C['F+ 25K!32ORG&UFLS]*98O>R.'5D^(HRP[8K5BJR;B)E,++E]#;%YE$307]!$J!Q4(NBZ*A5\[/ MXX,F1C8U%M/'<$-1M36Z>O C]/RR7HA$=-[*U]I[*X#QS=?'C[\Y^1C]BZ^> M'G_U:/>?/UY+X,GC)Y]<2^#KXZ^?/OV,QOI)90\^ Y3@-!1NSSOM;"3[YK[) M,WQU(Q+MM^6'V0\UQ-E>D*[9QP@S_*'6^?-B4K_9)H B^4D&:"05-PY,_A\[ MB8]L$A_=YB1];[)M?L['ZE[%1_H9@[9O-Z#>W;?CY M#3@9[V :_G385I]V6STZ;*O1MOJM:4;OX(7?_/#M1YVDWRGUV[\ M.!SVQF%O?#)3^?GYLB]_?'/73L?G=QP^TJWXW(_#86_<8,H^,I+YW/?&'\"K M_.NWKP^>PZ]M*G\GGL-A;QSVQJ_E57X4P]^G3Q+]*MP:]V[IPO_[BW)(=T B M<><;_+ G#WOR[F=IPNC>A%3E[I!-+Y? Q5&K5;X!Y!)XE[J9+8KXGV?;V#_=1VX'%82IF(VZ!]'KE\^JHK,7 MHP>LZC:V'/[;XZ^RL,8TW++E/Y4$LYS7YU58R 5-9T[HW[_WTG$9IJ7MZOG[ MBWH5[!6:KD^^.D4O7+ HF-$C[(V,1@;8O+O$*7;=ABLN':"?SD MEAH:[.7F91,V'[6YS^F=ABV=XV_'#D_N=MAA0L@:#\]N60E^E?KQB\5UAUA: M>9<$GA2BAK9?=6R>S"0=SUX#;TF7^HK[C0FU'TY=6 ANB Z'\:)8!'.2GX=7 M#O?*<%33L&N ML>]R_[)RT'#LFMECKW+/_.(QBTW=7.5-PL'2:=&A/#JYS1S M1%$CE ,T1(R<9SE8@_#3C)K%S#7U6O; D?0QK*7)9;"%![MI,"+@=-]A44<3 M,C'6[8:GG _+FOJ1[?9(;]BZXK;EJUIL9'03*).-;-@==YDCI4!CFS?9+_%8 MZMC&C7BSJRCCSNYP$]&4T$YV+^) _1\_.;CK4N?HX?%C=8X^GMKBZ>^ VN*) MO?YO/X3!W#P]YLF@9LDF!)E8Q]=-/2\6U(5]7Z[/Z* /,*<@M=S8+-(CPZODY[ WF?@GM5+AP%V@SRSB;,_];&]LMF=?Y'0/ M+-$14E+[#?DJ)X]S> PGIR=/OR@>X#LG3Q?)OZ'I%\,S6H-G\^X!MSFP#P]" MF$[NHKP-?@-XV]HP('C]*VI6.? %&%_ DP-?P($OX, 7\+GQ!>R]_OY6KL&% M)2U-WU3W.9&NPK>:XBT+X3 B*[I MR(;%*:9@-M?J]U__Q$S]_XFK4N[ZQ_D1;D7^3[DN_3]-WY89-9I7;?K#',F[ M%Z( :F:)@9@*(-(MC@!"E $.)OI;685(8,VN0D,)IH8_0P3._*J2%+5'EIHR MH#A<>D7+$!67Y K4:*L,>[C=<>-KZJL)GD?&PP[!QH)H!=:4#T$^#-&ZA/D2 M=H'(->Q/ZX^DP+E&GV#V0U?@HG9H.F_HYF87?1KH@=MFKH9OF0, MVK4-VWZFW;9=L<["Z"E?0AFEBS"G5T5XH.U -%ZO-RL\BXX5#<%L;+7:.H.9 M81[4WY!M9L8H ]6BQ%D02L-@8_[W3> M5D4WNJ'\(\OP)TG[4I(1"54TU=,F 5-+.+&96D,N8K#-8.O>A;F4%G4PF= \ M5MW@)9CQ6@(L2>I@)'_O%^=*D&K'\VB=O]==?$:+U*^ZK(&)G/#\QNF8+@_JJV.#B:D M[:G0C2&PPZ)FNNVX^A-/*U\0M,$V-7G 9)=D '/:]?>%.V:O,_P\EA->JC5X M[FUNM.]OU.;>;Z?X'1;\"C184BW1-/'-;Y62,I[F^H2/5P6GPBT#Y&R2W:OA MN) +.A/G8Q\M>(ZTLIOJC( MA2B&3C.5V]MX#6WYF&Q1OAA^/KO=U!R20Y8<>KH[.72+S/S7_W+(*-V7L1PR M2I]91NE7-P4WO$9?/WOS;O;R98@TWOW'BS>SES]^_^K-#\_>O7SUX\A<[I?6 MNIG1^.;DNG+>W7D4*-6=',]F?PN!YXK+2 7% /<\F?8]X_;?R MSI=X7MULZD:QE%ATHF3[Z.K\-T]N4)V_T^/\[)CE(;YG)LT[/\FWW/D*&'-N M?4H7EUO,##9(/AA]);%G#.(!XXR$CF=]2^2)P0!$3]EB/WK&G^MF%RB*XF+^ MK0%=NR41$EI_Q7U1HB^,K>TI\"XDU3"P6IT\VHA/8RIT^@P\4UOWK*IZ"_7\ M ?@O VQNB[P1?,QWQ;Q8GQ4-/^4QU]IL()%@'!%K&R"_U8 M<=:$0RCE^D=2KR^1,E84X?D#U(I#G6]LV,ASR0!]DO2%M"+^G MD\WZRO_!;.6]'IX?P,<8KQ2UE&LG?(F2U9M35-.\%MY6)@P.K6:VAH_ M+I.TG6X$>@_:T9WO>5+@&=29J& M^VMXI]_F9][.:E0'7*EG!>T-EY%8%.1CT0E"ZL_K4 IG]ZGE ]6V<1IO;)-1 M(A'CRSNC!NJ4?P&^CK!I+Y3U&XX0[\!@,9M^,WPB 8:G\/OG#2'.>0WV &'O M?/6NNR1'2[%S'2(W+1+O'V;GJ_J,6&;[S6:U/0KFO?1M";ZN!$@N2[7A.A." MW$SSL+C>M!RQ#K_OA&EX>%S_0@8;&3!3*,T8I0USS=R[T,=-V,[#=;),#8R^ M4K L&RDH2!*NC"/-,&[Z'J?5@&-VO2Y$Y7R&C=F687%R]XZ __*5P^]E>I=D MQ9BL?Y9?YN%;5&.GG+<)"R75)%3)6ZY4H+3!K-5DSC$&5"**19K#DYT<28?I M1[F0D%MIR/65\#E1#3TEH\];65K.%.H3LUD8,ZWG19ARXNL-'^^:\CW^QT6Y MV=!$4C/9JCYOZ?>XZ(HEEFE*QE?'!>1[.=S131X>VYV49U@U%FD236>^^54V9?V[E7P.YVM/)F[Z479U>_2>2[)UWR MY9UI"U^/0C]Y<@PV\A\20YB4\,TN.QR3,[B_$:!^1U+GYU3%SDI0J6&?YQO7 M.\)JL%OJ*^;&E>#CM6L* JJ>0E&K*M,Q3JPMJF+/?Y!(HF[*L MS+8%/?/35 M=_195,Q2JZS&+O$I7DU'3FS&HVV;^"XB-%$!'/B_ \,(,;XPAD4P^]2 -"W3 M/CEG] ]SE8PD")4"'E=;.?!R[^.9#&]G0PMKG'C!55$LY(W-FR[<@NQ4CZ=@ MF>KF[>RR7U%O%%R:FMK)VA)\^CP[R8#==I;59R4:Z3&-?DXZ ]ZKD*#2G,GD M7LU8M(/2&:LBY_NOUU=6YUHE- MGS)9*G\PT8>L7DB2!T"\1/^\6>7LOBW[U9)P%(KRC$KQR%5DZ5:R3(*,F= U MX3VN -@ @FR\3^D!ZK'S^)$S*5QE573@(Y%TNRUTJFCS!W.3W#GY]&8="$T6B[#WPO5V LN M@/P=>X-AL:OBO)1&?1_K(ED H*SJ(6FD'B81_],$:3)G%B*NT%^MH_.C9S/$ MFB$*H8"-+J&J:&1H&AG8'H@*\Q:KPICBGWQ[KQV08TH!AW'GE/2 4@]GO-WY MI@N,&DQZ%S"KS2?+;>DJ]W-+H/Y77/FUNMYJIL8;@K 88OHL>:)-[K. M_QYB8;[CG&ZBHMP31UD\D::PZ4A(G39"\_%K9'YOFE4[Y)-^>3[I;U)&T-") M"S*KXHC_0>.).V1C"/;J+C-7*A6:9FO<%)&_*<48_9?HGJ'^18F!]\76G%!7 MZ5+W?!Y.D7&$:-533FF^83^:6DBL%8,BBG.&):&+H^RT^:]NC)^GI/JY^SD? M$!KED!N,+CFG=Y07*[Z-"#<=*CZ$B02Y3-XT%("QU8_UE_ ZX9Z@JC7Z$N=6 1&:5$I3$0#;=*. 3Y])V1W0/1<4U*3RO2N#@(^2*@)QQ0MQ2>&3[ M>H;!A-_M*VK71*A7Q\ N_6IBOTK7IZ=#0G&N@Z]@F6LP(+43Z![!#F^E$+3D M.E6P;V3:G&G,5Y+7O1S45 01B5H/>23OV<+ITZJP@7=O,5D0ATI+3A)+B.M$ MU'WK+GZW9FDYP\>FY)SM'/HT3HGW0(@O*[T_ZN23E */?*]4OPQ/;E-TBFN? ME!"YVPE^DCN'9ET6:U!:N"H4&#/."_LWD,%7Q7G=4?Y\/]Q*:KY$;E#2\0Z_ M302>9JMX)]=T+6G.U>J35U= MSPA+3!X4USC."H-$$U5!M!2VZ@R_F_-/Z: 'O@<6-?($).4?M25#)?D927)UE*_JYKWX.,XM@R-A)9RE MEEH9KVP%UTRJX\5RB2R&VTUH&&_;9;_B^ ;F. %,@7V;#"E]*WQ_7NQ^053Y MB_=^(NO&;1_XQ?Z8W@!0F.VH?G"%X:T!UH:K@B*4C1< ,^WC]X:5[IDY(-W4 M@P,S-M@&BLSZ=(]21\<\;]5FPSTE1$&%*'9EY4!L4L$@ MW#F$:I0%2& BBV)M\33*A4DPQ6T3 Z"\ 27I6"&7O1:")ZE94]BFV&;)2C?U M9?CEG\NC[\M3C<@R[J,AD@)^.&>)$/:&3<[W_9G$V\$^1O ':AA%VX$"UP6& M\54&IV[ZOA=4F7G-\4Z.B^IO8?X!'83VYZB[H(^!Z1'RST*^(Z\J4 4U.TF" M(3$^+I#EQ% KEX]8B$%E/T$GL-=:$H0(6R%M,^,U1X:#LBI$=+):1>J<%,GB M7U5<:^#Q&30?+3Q32DT8NR+VX=BCS^MZ 2H5;1 PE"X0 !.?)=^'ROIH=_:F1">219*\%]) M=G G]:UZ0X+O7[BCL"C@K-/U3/8TS-N_/3TY?L(/4 +JV=]J=$!/)^_D7M1K M4( (!=&4YR&,/M.663$QSK*,LY.9='#81Q(_X2(7V],*RQA/HB_Q.5R.BY6( MO*WA8VSF?D] @@X+6G'&"7FJ[LEAN_G4/=(J68M.1E-4[)[+(M.[$8RB((:P MX9:O-(]F*AS5"&JTL_WTMNFO/QPJY*L#*N2 "CF@0GX55,A]:$(]>1I.GS2? M;\&F-[\0%RI$JSDK!9&Q)2ABJ\&I>?I9#-2:8M,+,B%M YUH/;V_+4"8CV>M MM4OO:/@6N,QJ!7XPJ?0>Q M&CR3U@&DPP_TBT'$H7QNKH%?NOML:?E>:;V@C_?I_&<>Q#[*HCH?%B6L%5(; M. B"0^A02K-:TXH*\;B&229H- BZWM+ C<:!=\7\H@HK?\XI#>23F[HJYXY7 MEI_K>EX''7B^V=7RZ(G+F$ZBL9EPZU:K:XW0Y")\?H7_)2O.! =8;_4YPT]@ M L49.2LN\M4R,F/*G.!]/@PGB%RD>B6^3=/D#*^ME]U5KATVLI9NZ3#^(]!# MBOA2P0$+GUCR>GJP-X>9ZY#"P7C#&W1CL@Z_T?V^V;4LD&IAU+8;QPP^#MXH M&/9?^3S]SY%6C#GT":$^5W> &+/W)OA MWU,69).A2=]:]T,V*T*04&\UEDS+JW8X)Y\8@SD]G/H/IS-24I/3'XQ3O3XU MB,55J;O"PF(_[7:T$?W4K1%%). S+01E,4ITHY%?XB)+4SAO6R)M?BG'^CK? MGI$%EZLA[[HPWSJ>P7WA)Z:M-Q< ZF%*DA'*,Y#LOBHLPSMM2Y)(Q2<#PFR7 MX"<-,W]9-AWQL115^%]UM78I56\:DMFSFU%W(XF,58%YB:A(B4)5TC7-?GYPU9LLLBLW7Q MR?RS)%$$2$NDDB8>[H6J2&&#\\;@_5HL.\+!,#^ !> "P8SX2+HTSW2?R0'J M:F7 AK4I_]$;(S6]A>"ZA(XA\I]'BE['[DNA[65=+H2G& 4Q:?8+H6S-TF?U MV;)O41&FV#?:5 2RN: MB;PD:)6%L'J7\66SS1

R,W%WN7.A9-G_;_C?K9?64C MFBW$^.MB4;*IENYVUPI$X@C"LAYNJ16WULCMN#*.-TTBO2"8 ;?4[3=?"BW( M(A6ZSYJ[PEPR5LR57,KTLZ*&IPYGCZR9IK*CBYY1>K(/=P.+%^#?'9D\F/OT M3"[]_1)OO='ELNOF59(,8T)Q>21S\+%3U(0O*!ESU5TD#JM8X$U8!KI)W>2X M"X_L\;)>E?6@_,HR02&+Y;N#I>K";,JIX2W(Q^.:2?&>7Z3?W>Y[+$K\B#CQ=ZQOGS= M83R3SRY;.<+9Z R*YBRM_)+-IM)AV$S)8.H0%5*F/\HF#L;#/^SP\KRL<$7S=B%Y R_9"5@*IWP;%&/*)1/T-MB%\B'GH M,+QBWZ"T)NK@B(MW>$%]TOL@YX-!!$="AZK#*4HZB'W:+B$!*FERQ^.Z271047-J? M8LK!FO73S'X)1I\@F M&VU@SHYH&="]J*9RZ$-OI+;XXKN_OLC0J#]DJS,TT.A*FL&"$3;M5!&5+J\JG3HWQ!^@>@!J#J2U&IW4. I!%H MUC0)I/1=4>]YU!!):=;,*XI3]:Q9U=GLVS#E^/Y;^OQR>SS[C_JJP&X B#9F M9F+%$:MOSS=9([(^M"FL\(A=#P)+WN93!VL2N"IT%=J+H-8 17B<(K8+.!C2 M-6/':5=E5"%@/,J.E;*E]3 "%^[>0-[RHH)0">]\MA,N2;/O?NKVWBW/8P_J] 8A%\A4U#?E@F\2UFIB:(:; M8I<&=7ZDE<6S,9$-6=>_]ZVOA-O$TR&ZJJ!3CM8IB/;P[94&]BEL.XX,5HR< MLM83E-DU0'TX77&>K*?"86WE=^*(3"R>A8WX5A:$D9>::U*6I2YEUE##N'Z32DW7:80XV0=0'0P>82C( ]P,0CTP&-8 MSE13&7DR@<_ OS$(),MA6Y0^9XT(I.ND&8%.1_U2 ?N5Q.8#,\D(.P;U:;[3X,7GE0F>IJQ?;)**G2M1R130O40G6/EA\L% EA+&GVGV6 M^7(MT7+7U5'QH6S)=,U>OG8EIM,;,.<1B0!5B^%.+8.5L=;RL,HQ@\R,<"&, M-^Z[2!V14;-@4X>U[ Q+ ">1YR"$/,J8ZI+Q YI8X[Y+J1=X!RIHAM, )9%,\21#&%*@@+@?KHV:E%+ MD!76@']RR7VS:8UE%]*$Q;C;I-3J>$-3PN^$JO;4F)F*='#S*' *V4Y9NLSG MF6SY$9OD3/?NYNMT*\*8H(R0#I1)=_B V*WKM9$/8=_W/8E:,TB1/;W_4I\1F6$"#H^U1V7B_,R9%WI]T57!U4\=Y@C=:?[)R;>1%8];;?6LO-: M,ZT8,[,+28*>9HE[-05O9$5U_&^:G;WXPU.E?%&083CHG#E)ZC[1V&Z=>:-M M2VW);!91W6&:3GL4B4K/04G3HGLW3 @-O(S*T7\/Y[Q=V-6$+ &M<,5I&7#R M<(NH2930Z>$YI]GBTV:1^ZFY PE6*U]1.F"Q0/V>TOK6T+M:^<4>);B&3+!8 M9*GEUGWLN&:"B7FA6$5'CS93AF"COWE7BV=[C0M'/ =4UB2$ETM))\3)X4(# MGSJU>(== LD';G'R#N10JJ/X$"QL5\RF72'+U-'.: MT"X9^0VF@._>M ,N+%J=5D,%=9QK,UP8546U@UMG8V!/B4Z@:.[>4'ZR8K&M M]60V=@AQE&IR'>N9Y+K1P?OV[>M#C9@G^Q4W>=$[<&313HH"V,3:I-IDTGRX M$JQ#;Y'-))+V[48KQF%@4BB$EX3E=)62R:6T7Z15TTNQ'7FD'.7LX)DD;X]V M4T/>&+?&ZH&-WAY35](^0WJTJB6;#J.H"?8TAD&O*;I?E4T'W7KT0?G&^,YE M$ @=\(GR.-/3[?CJ4!IJ5)N>-@5&:: 5ZJEVW/MXZ&8]ZT-8I.#05C6 -^%.#->)^N:.+R(M_,:M MNZ*]@%"'U!&"/<&[3*%!<0"6P3\!O2'-.,,>SY1."K-("K1$MFIMIO'XQCJ, MGC(.!RJ(3$X--9Q"F0.I&E'9I2F#(2Q9U&.X6CZ"F_1\LO3"E2O4]\S"31%O M![\*3MYE6:CRF_IERWI(R?6>J1^3$4V?'NGG&0]?"C]:;D*U/)XP1>KB/^0@ M,/5'F*#OF?QVC724$OJ*99[:U82()#UHV?RK@2=#^TH!@OG4JPG.7(7+S+]. M?X(V3V0(,]1"4E:RKOE83K(:.K,SL4: 1"TLM4KP9^0]!QTEG\']J> :A?H3 M6))/':XLI:3Q[F.4#FVM<$FY 0?:X87$UG#.IF#CJ/3876Q=W)#$3NZ[ MBB M#1V\=YS.$$H*R#'\M! VH^DD7Q6Q%7U '!!!),*,TV_.*0*,%%/<%-$U4/D& MZA5VB'YG3@7/1C*<.+&X/L2_2.]423TPQ8]LF\@^NRQ(&D]((1?Y9A#GZ%AL MY#%?8"PF_";2LL$)AE%3/[^L%?5QS($ZX#6VKXKY'C0UF4(O-11)$9I,5MX0 MS@M!K).U+[2Q!>10RQ\O[=[]/S3H/^Z+%I^)JV M;!E(L6R%GIS\/K0;M3#S'ME^C0_C6 A?Q3Z)-KW.->WM_WI1K#:T1&N//DPX MI0PKJ?=^^ F M)&H\KDVP'D?\$#XB/$:&O^!VL5'H.V;$9+@GOYF(EPTNOB1423.[4TW7 MDJA7Q\;;H"&]'&)RN2L].V+"\SBYFX=X_\Y=S3M(OFY1$?S#P2V^.< M#G"+ M ]SB]PVW^-DAZ"Q;OXTE"AC8.1-*C?(B+ADRHJ=UV&8.<]#!522H%]]LO>UEQ/BN)66/'U3";+ZZS %3%_>#U*'[A M:E"SZ"V7>+/*YPY]J>Q>K2Z'DQX> +)C FL$6TG2_1-RD).<)=6(I6CU'K+.DS$SDC!E>Y/?(Z/\W8QO]870F34]P4;."#]D;1I1QI%3^5=98#QN?&3KO,WZ0S!&BXHZ!NJB-YFY[L] M9%FB 7/TOFJ'P#=V3(LEMZ]IDDR-V>X,LC$)#MWO^U#>N.5%\NIF27/K[L]D MIVR3!,%9D?F4M^^2O$].2#CH23-E(4F*V9Y/A<+8-$2<5$Z)>8)LXU5MQZUT_R M42%%Y%?9M",XZ69=$BJ&.1#6%+[)P?JVL17C%A2C8S7O48YKNB\IYE0=N<#> M#NH]F/ZTSP[93-U].YK*C(9\@!P0]EX>HW2=0!D8OTO7C=?AD:!83A/OF*UK MV=['U\F4'$1NAC61#I M(XIP:7B4K(PX5T"2U$MA58@%J\\@S-^IRJNN+$PO&9;5*FD^3 3/[S" M(GQ&VT=(^&M!3$*\EZ768% WM+&SHI_V^'@=)TORW*P[)=YMTQ8\O??-!M^] MI;SEA?6W2)\RP-/"$RD6R(ON (X#M3HI(OV+)(ON+BR!.G,3WIE F^&E&^8 M26*3 19]%=X_;(!57A)3R^I&T^ER\F&/;GIJ;J6F;B<,D?GJ839[^3H3!"RL MQ=H2G/&8K%'-#]4GAF*>=%U1UN-V"FJ+I LS459]28LE,A M?!174/C*V; [>R_JCVZD% M>_E:7AY-F(Q;I&YBLKOS>K-M:$L( '$M#==_-J$]NGA*D<73YQBU@=2NT/J\ MI&QZO"XG-88HMH>*HHV\C"A?-F(17L^";;9T5*MP<&'NC79QVVX_14N]N*C\ M+_NKPG<6A!G#I$2QO6!;@#R4NDC=4"$?W86RDI._#EVF"'?F@O[5!?T_\9'A MQZ0^N+/?/*Q+1:(;?1L[W&52:F&M89P 5@S44C+=M&\BT5HFZSZYJ" ?P@81 M85C^J.R9FKI4N\@11]A]P1\S_ULG>/LPH!]?OT"1A609N1*BGF(\%_04!WJ1 M[LNL6>9L)F]L[\2% MDHDYB5;"D .9.F=A/8*K2 VE-)8H+NB>&J:/)@$.5"2<\K@@\ME4R@$\\ET$ MPU#3Z6!F1%@/#P7T<:#CXZR:7-*DK*(E6D;8[BW1RD?\2V"WVB]*UTBRGPF= M<\Z'AX^)L?)A*J.FLZVB6A4[8:=6C-0#(;2'88N_?'VJMB@L(^&S*_Y<7)N7 M0[81DCEFTJ/:5C13Y QO=">4DQ:-0OBW(7Z]"%+RD+TUU\YDAB#+'V]&*GJI#JE8FK;X%FOY'L@@Z,Y@ZMKC0W"2,5G8+OK4V#0T+I^ MMD\LC&[*J)0&>2U\616;AL@:IG)@]Q#ATIG+ W'IDJ@!2GH:H$6\+&MNSR!) MSD&=-%&[U;ZIP3W.;%MA!8BG@%X(Z7VUG30-9ROY?)MDI-6%OHU;-WO=U+BG MJ<7?T_%%[ UGL%E_P&,K<4^J%&9:E/RL',O;UQLD#+F EC&,UK!_K.Y3A03O M/7E@I"K#$CW2>^CR60E#6$"I;X!3T!P8>?#,$"4%?Y$/-0N(&7JVGK]GUP8L M,7<_YS=BI[IVAO_1!^M=-(+MRRLJ--QHVEVGA7^L9!^6TGVI/0T*\^1<;[ 2 M\G?N%N/]S;UYI<>KC(GF%#HRL,=^E;V C&A]27Z*?EO&@?.VXR%JJ2/=-<)= M!4>I_*6P03C#!-8^TZ%+$BR#3L/!+T\5/8;=N+-A-^Y-GI+>T "?J\)Z%.V[;EC#0WUM^Y'G24_(FVO!7MICXA9/@X9S5EQI8L"*5_/8;&JP< M&_UPR_U3#+5*#FWXGEYEEMP]B\IAV>R\J,^;?!-LI]9=6.*J_+!GX30[9$*- M.]>(+^8#C$;,\>.'!QC- 49S@-%\9C":O6=ZV#.\2S@W&S-U,:E6-B$*2)DH M8KUOCS1)&G$)Z97GR,C($)FS>U#531M"]U5/.NH2Z!*4:0K^/I[]U?ISE?T;:5+4?+1%H4:/3PUW"7V*@M2ON9#FZ A .D)%T)K[_H3J@1.. MY&-UG%WDKU.R\+PO%]BLLA2*>)9:*&_7[)JM>R79:K"IWYM0[_;A]8!*QP[ MG,ZYL(Q<2VTQ3?-]+\M^UP7#L8>/<08Z$2P/CS2ZMC2DH'S.+O!4MJI4%"=Q MNF--.?+A'T\0&X2@C@O:.%'*Y[K8T?NY:]:-RUQ;3Y^Y]+.&-3 \A$^3@Q L M 8U[R/ODU36=2"YH.@D()?-A80]/P54PIA=3[,V^1362MTP\9T??/2M;_".< M:+"[#$8H_?O7S3*3(,?H?%&VCN^%[^Q(Y@]RY[HD]>6X/)0@U_"=:$\),.#R MUF'%X^K-H#;C&2XFWM=G&_+M(%N*6ICQVGJJ S?.32&EIAG>N-$N)@4SXE[A M,8/PJ*:@:N6Q=\I.46O;;4H^DN1D.&&?Q'COB3Q_RY.H+:"+L!0Y%5]_OJ#? M"@>BH\^I- A>EZHQIDC'-K[:M791Y';$30M^3VJLI?687'=:-?T0T8 NZOZL MHS*K?5A!9PJQ9;*(\#+Q)B-J$RX^DAA/$X(NN_)(-^6*-P@9CO'C)]OH_]XO MSAG=@N!^0B0;T<1HVM_]"Y H^,\P*5KW&,'L M=I@@J[6Q2V'0,/1.U<3SZGQ$ TI8>[HVX][+N^.C@F"A-X_1FU//+4B15 ML6)RV90BG_E74%@O%6P ?T]Z2XD'P7U_9V8E<7G-H78^K#$2?)Y\&4J_+X09 MJ+,*94!.%3=AZ8]U5+OAU&\<+0>E/+$5PT_+D1%1,6!/+:;)_H%S7JG*&H0'9/K?PD0FM8+R#D(^Z[? M[&C==QGI8*&;O@PK2+^*;XWE%BL/X%2F.$7P^;7,)9 M*8@2H8/R<8-(@<-4=1PC^$7$!],.'T,XT#:5''(SC092ABK;CL>S'X7J8GRB M:9N=H;)/@GQVW3MDF.9*>-F!",6&$M1,KBSQ? #"I3;F(]599&X2S)O$Z'$P MS'\>E8WF!&33R4G&K"<$-P?K35D#-FZ2X17R:?;O8*<0ZM'ZD)R MCT/\SKA8= ^!8Q[[DMM0=G9^N(, ILS<0Y%,*N'5>O'FM0KVT"/RU M&$ZR>(_@W'$2P\\]PL]9$Q+=V/%V/1-(G! =:GGJ+87Q,&+'X=H(%E=((EOW M(,>;Y[R"@120O!BM%CW3'@FN@KH%]@=6-.EUHBD)KZIOJJT7P@_IQJK*>VYS M=RK\,]B,W-26&?I?(9+EH'C-Z2[/J= +BQ9]GJ#N\FN[6C225C+-((^(WOMJW,[(/56C$ !K'&HIL(^K68B^(K@"*D*^IS0W4Z5 MU%ET9.>&&VP=8*$:(;6U$3N)^;>W1; MOT$B^4T$]%,(]UI ''=^M7U$]V*"'96#:@122;L MS0%K<\#:_)ZP-JE :")G;]2A;ZEZIA>N=D[[MGXT#2'3VR)+0Z:7COXL-]B, MM3B+.JZ8_KY-X9.Q@H1\[YJRMH!QZ"^H4\!M!YK(G9?-O%^W'=>.* F%G[?. M]YY2P!050H9$KI8L<2)VW#'^G8:OSC\26RLMO-JEC.XP&]IM;O]&6H3GE:3( MQI+H/2;[+T ML\LM)%T^HPMB?A%[=TPG, M?!3^@?$0$8O"*[$IH_G%4:5;?T6F,> Y!FRA0 MI(2QZ;Q&C4*D3RV)8>0'DN?J-Z15>#S[#CV8G%XFP2#DWIND.9:Z8M$C=1R$IQY7HEZD+^^BKU,$UU,.)!H8AKF7F^.R)C@/2L0. MJ9A9DT?Y49T$AM+.=D5,O$B)R/AB;\;'F:S\ .-RYY-XXZ!GMF8!73(K MO$+ME;23$YN++H!V0T]15RM[O:,YCHP'14RN1R9IZ#K-61RHU7?SPSFO\U5K M3+%U,V"UHMR=:]],%7PMKSVDE7;DZ_/D#5#H!79'K6"' M.*'YU5TB&*J+ [,E:\$"799.*=.DKC(?]MM MJG35ONKEV-#H/Q@[L3Y#6@,!/ZT7@I:R^8 M(!&#=2;&L6)D3!^D(GKIP$9 /;\!HSZ!(20\J['+6_/O>#3'M7M96M=M)B6= MQ+>CU4&DW,/[3G*+">>5D_TQ:2LY9,G6OO/K]B,RN(JG:\79A9BF.M5."#YI M$G3@H%Y1)E8 B$_D(A2#R%/-\.M^P;@0)#C*'$[4?-6V<_'7W4_^S7T=-W_B MCV1#%Q]W("-NHG%2AQT6CV)F:!I9:E7C8&$"Y\.N[-_,;1Y#9NNW)\K<&#"T9_ M(;5VC\;U2Y1V3OF%6B@;2ES?NAELP*%"L>6?XA"7.>B4W4CKACG[-D4S/>(Q M/-OM4P>7,ZD$M !BR,GHL!P= 3<.IM,^E&:G@_-8+A)"8 M(3Y;K,1RY];UEU*KN@)S%*](5'<3;BLUQVZ;N&F,@#%!$ H,5428!=4!$ R> M8HP]=S^/-T84PQV+7A![?,5UD[>- 8Y*)USNQ3( 3E0L E,&V3V6_%N303I),3K:YG8^X] M'J&34'%M73J[]<0[Q D:1D7&S-6&Y5WE/J"//+,#P17_# 2@B\MP>!0UMRBL M4G _3/)U782Z1Y("E&G^[>O_W<"1HXQ1WH<+GL4 _6/(@#"6BQ,12UF= 4NP M[P!W!00]:0*P"(LZJ')H(4/?('RB;/T':'R@@8VM"5SZJL*)I>#4$]V'D]_) MZU)C,N^ MZU6B!>[]N;KQ;*56(.+I)+.*,A%O=PQVV>DX\!O0:S,1/PI7NP%QK+1,<@O,$!3J)PDD<' M.,D!3G* D_R>X"3Q!HR7%I>MR(DZGD56\%UZ14G-AD$,J)'&)V.L++E#?5#1,DB#&Y0Y^PV?4T$,;7 K"BFX#1SIN_>V/D$]NCZ3 M#LGH2+E2C5'(4I]W,2$7()4_!J-:,61"^]L+?DM!FEUTWR X3LO<:VF7ZYS= MTE%%&R?,>'87#I.5>&XWF.FDB.E:M.!G%0DKCCLE$PLL0RC:(>,A,!F*?%JI MNOL4Z&/(S@W>6F(%GE_4Z-BK)8"DS*7]L+049EKL["OW"\KI#78GTZYGO8FB M25G/MXFPNUZ&U#=N F<& N_-;TRYY@]"@;\O@Z2+K5" MC=ZJ(@9U*<=Q/#D)FJQ+J#AO1C$SB'"#55E<%B/,.!,#<3]Q)G/%MK_L0*D2]R*E*R%B]X_I3+VA M+J3+*CQ9)&V4C)2#'<(]$'F3EN,&\^U*"O8Z9F:09!W)FP^J?PH,V6$T9;JE MAX=QCZE*@[N7'!.S$- O<;$Z\O3T!K4X6,ZL)17JJ/2-&FX"$(E#+G0L"S_F MVVRO.[>['Y'WU8S IJB.I+G2TO:6,"(CY9"!$UI'T1+29-ZO0N\-;B/K-)^< MAY'V IM0L?+2[3'Y3;.=B,[Y*BH$61+VJYP!-H9]XZ3$&L *<^:1Q48%4;T] M+V8%H4/6,S@W5QTY1[\ERY?R"3E. J0A*$"?[UK;$?L\8S9H/#AQKJ5_H#T/ M!AGYIOF(-CF1."LA@D]NV921W3*&&5TS%9>?,AYC\7YT9_L[MW3*F)':Q$Q$ M B)"SNI(TU4C(\G:,K&IYH+K/B-[*@E+MDKN@=R=J%0<$6!5+,:=@AXY>E,H ML[\9QX2 GUT?X ^))A^]U$O1Q9BA1?#.[9J&(-.+P3P0=5_DB(O<^+ MFF3$V(/0"K%58]R1]BQ;C"-R[K;\[$@E4CC=3=;NDXAV";I+ZK+LJE%N$Y2Q[@Z M"/+96$N\;_1W&65Z_EE>O>=O\5 >>.7<&^\G1"+RILA.XP*@PGH8^K;(&^:/ MG3-I^UG==V,50)*1Z[M57;^7G38*6_W4683L1A',J=P8Q[/4)EP5^7N+I[T< MH?+1#HH(2U1"!N17@\VL'=TL!E3,\QAR9/M$#,S,1C4?F2A:BQ1NE(KPN1*$ M"E_Q$8SGBEJ'*#H0$OS8DXX=V\.KT'O3T">#^Q1H25DKNOO[-1"6NFJM7%B0 M$+LDIGJYR6EMCJZ(!L+.LP%G'#F?.#JSL[IIZBL.@E!DIF02,O3,>"FE0P6W MSID%AZ8'+(G5^S96-2#2:ZPMA$VW25,N0?;/XLCXFM[!R+!#5;?>V62?BCOZ M,=MDI=MNJ[Q B&KBL&SFQ3=@A6:/G+!VM"C^%%U"*P,*IS)<)M5LG%2$ZZ.* MU#VWOG\=6Z.,G4R!%K\A+020!%_FF@O]Z3U1WA591-*2(N@5^=CT%2 ):!Z> M7X0)SHBW.1@!GE"D.B'+N54BTCX+ MHW."=<-0'SP91V.A#7W%=WEYE5=^M**H1=N.W7LW,K&M':M(26<$BG_)3B1+ M%V\TBM"*0>W2KA6Y@'1G_E0!9_&VPS5#S8OQVI,=1E9L+I:PVNH^&SCMX=VI MVW#K!\_QCLHKD?9B%ML0+HI\U5W,IP!XRP8;AA-#%^5F Q*1V*6F7)6FS3S= M$<-Y#FIJ@:,S^OM9OS@ONI$*JXO*3+Y9;Z0QE:L#J1HO3>7E ID+5.32D@90 M&M\4&EW;Z#B?4]=I69S9"9#89!*E\(]9$@_$] N%8S7$UX2,UWDT7CI,0)6, M.11Y%F+_U+=/!&CWRM+@Y:<<#NYT=8KV"D]=U/107](PJA9/N+-3P(;9Y),- MP($=-X5H ZJISO#1QX%:;L'?#0N@=.R>0%$9[26GAET8-ER([^2BZV.3!YT, MFX]V55_1!LFX"3CB/JGW-=P4V\P%Q32YW-1&SXA4D-&@2W?(Y'P+XTVZ/WE[ M"$>OU^"V-C*L)L?/].I0*"2_)*:AQSTWNM$_DE$NN]^UC-L3I*-O:<3M7U<^ M*S/1F[0STQAG4S.-=SXI>V_R=Y$&?U2L(6G5".:7[#]OH2N3<_!SAJT(AE"# M&$IW(M07O&:EFA'&ITW ,9/F%"&!Y93+B-Q\#XGYX"EPVE/,>5*X$)? DF^D MQNZ;8L8B\)'5?)"'MH#2$OZG_#0NM*B:QB[AJW1!Z#KB>WQ.NYPPP3H+EQV1@9G72;-#YK!2;G(&1 M.^4TZ5E+^ D[Z0BWYA)I%A_?#L$K@Y6>:U]*[=H0J"T>MXHZM%KWO!%@XGY[ M%3\X1GQ-FZ:1TK#-=L5-MC$WQWJE"% 5*%L1UC]AGM&43.1EJ>@+X(F/L015 M9R2+E[9NZ(/-:7S[G) MWR 'TN(&'MIFNTLI_ED;4T]GDNJDS1-[V<4SH: ?)_R\5J)4J7DQ RS_"=%V MC68$XZH<+468,?0MD(Y )7T%Q,F@6"N,'EE:^FI37$CG=N)%52P)D3#%7^3R M[@Q%'D?-AK7A@R-R(=3$71BTIW2]X+'1)6P:3I_F\!##+M:_#;EN=*OX.@'Q MQ)AQ."NBMED*/[B*R/]10X2Q..0))M#Q-U"01[HEW(%&WFQX/2;G5X\17%/: M-8D KJ[,NI -FI/[9]V(Z[IS,'"9/F%/IRF0K5%0JT"4NG%M& 2V4!"+IQ7P M>1I2/TWA\:R0--_.<3QXLH8A.+\0YWM'+JZ:,WD1GUL=*MA;-Z8ZKKN[]4'M MA:7P"X#B;R^]EDUQA@P9T2NAQJS:&XX,(,(+(])( D"6.^5_P-=L(R;YH"N@ MLZY\;]:4*ISDI0;UBS16YL38HJ^CC((3KY*4*9! #/_O.6>%"1J3N8P1Z^IH;[IWLYWOXU(5DNP5 M]FZ:6?)UN#!F]X95E(XF!7/J>) M7Q.I*O!(Q0T4;S:I-9$/LVSRM=M_O*[9P$S?1)_DEU*@WYV]^2X2,PUSILK$ MQCM-:"MBH6]0<]/;F9L.*0=+^B].-=CJ:J3-VG1@/V"D#G=7FQ-L*'HOFB(M MDPFY1.:)R6,KI0"6,U6JF Y]K(YE%HAO#1%-: S:VZ7<'UEB)&-M0ZI1(X/I M+[ 1'5DA!$5^^*SSN[OVP>;1!(FGVDA\L#0H2'Y;O]72IB0W?R4Z'"D-72OB0 MF/WKZ29W;AO9WM@WOY2T[GX;M9^9_60^6Z$X%O',3D\5NCP:4=ASZCUER? M9(B;\*^YQ-\<7_?4#UBTP*-S+9Z9@^6[;.0=7- IM25][)[5$#X+FWJN0,?% ML):2 8GTT-%S&]]RKCOG=.I5D=F@UP1[9HMU63%,D=W12\%TUWUW5"^/-O4< M*0V)14%925^Z^X/U$<&@3Z20KTF.$.5!!1KI<&.Q;L_?48)'33I16H_()_@B MTRR3S-* /34^)1^R-2A6@L_6ENAEMRE%I<\,1=#&N..1VK-6/?%34"G7)UWO M?J6NK8RJX\,1+CW@BI*T(;M0O)[\GL$%WZHY3%>;'!5:4DIPY:W2DAL380[YY5FQKR\CCXHT838K\E6L2;DG?5$?])M(OQYJ?4-<.+BK">YHT9Y.\ M!MX[UF! 2;DW",,ASZ"6J=%C5M@>PP]UH2MVDO%\-&3HKJ>$4 &UU>V'Z)N M[;LV'=-Y])E9W]2!T>1Q%N<'GV:%_)BJ"^L'7"/3E:>7OD">R5M%Q=M/,LOI M(?^H,/\/!T1Y<@"B'( H!R#*9P9$^27TG0IKQ/T!H+W0_AO0>4,:*XWIDCH6 M+QG$'M5;_NVLS(XV]W)S^,XR;)*-UO MA_^['6D?!SEE(1L"G9!&!GP)!5:.(5($-]$SK--Q>FPEG\OYMV8& -]=>2EK]CW"7Y*.(%< M+!'\%R4<*'28]BTUZ4.+VY.KI(A.S$TI05(?LPS ?YY2"05LK4"N2X@X; MF$ES!J^8B<\+OIF5:6A%TF>U*:M5+6+=9M6.9__!F*\Y9QK2=I"U]G_,5H+7 MDY9'MJ.K>FN)7CJOR[)IHS\K!B^VCY!JC$[@C%J::&PBST94O&AUD&]=%?ET MTW9U$;9T9SME69XA?M*Q#%+PU/B*OT_;FZEQ$]AEV56"%I1ORN$P=)TX^[8 M<3?(^-=)_ZU[BW'T!-I17ZD:L86'R0D'$@3?#8FAK]%[JK5*<%C(BS#)ML*' M^LKB%4FE WTD/38SA\&Q/8((/8RU)QHD:]"%#:+-(,7Q":6<,H*FDJ)H'3%B MFIL &(V.5M]R26JK=5,*>$!@6F^Z<50WAF3.S(9'[: WR7F=>*_6KHLKW]>O MU;_8X*\$ =7HOMW=XD^3RQ]'CT ,X@G8UUU(6I!,&#(,\R+5KAY%CU14K!?[ M@G8O]E"Z#EV--Y6SJEPQ,G#.+\<\>9H.DHW#OW8/O(=;.GB[;1A2Y%%:$NW% M%4BE%HX76QB3W1&G\LH (SDMW7#-IO#>HIE^(=D/VS!/?FBO\( 3,419]@WG>BH*042 F>-R43F90_8@(C+W\D-DK]-=3U[)0&AC(R.KQ"4:)IS_\^6_!NY)" M$_+/BMB&$3]Y^*>X7\/S'SU\]##3)R[D7T[8%NH#^0Z@V??(%L,]TM@QB?CA MV57.N>]\ZK=.Z%W"_WW$LB*3(5C,Y>XYTYFSLC3E2*DBF[U@B*ZT\&9*(YWP M 9(U=WM6Y:'66=0;^P0WRCT_U$DB'9H"HVH!M$S9A8J@8'Y?1@5CW0A[F^#. MD[A,:B_2G"=%F53^T'C@D[);I**PGD6D2MF63(,'Y*(5VV)]EZ:V-VI['NI^ M[='Y&9.B]".<\3N/Y;708U8R^X;^NIO+@:L("B_I1Z2M/^S*X.&E'1DW3BJD M,)7QA98S+[QI*NN_,P^ M*IJ,R1[O?'JO0]V M2_L$W[)&,'1+!XQLB+XRU(%Z]P;6D\USN3+5\]MCG8I MU:"@UG:*<2-P5R[_R3:.D-.*,=0%A+W#AZA(6B[*Z,@($CA8E%P-JC322;; MT\)\+\][7J_7?66J+/2?94L>BD)D\#K?/W\>__M-3U_\KCS'F7IEEG(;+ $E MU>CQSY^]>?%V]FS>:2O",U*UIF35FZ*=!UORFF#.SZAH3\8M/%\L^;K@UVLE M D1F"P,7NR$F7U]^2 <.HQ5F/Y;I$O,$RA5:'!47C4AH^H=S=YK84%#[1YU7 M2::%)SAZBSPA/W7L"+P5V#1]30@\Y/.4TX)C.4XO8QIN-H#X1,=ZH;+!+J>@ MHXMI$+#KD/T,9CI,=!L<'=<8Z=5+?'^=JQ)S3SZ80R1I+8D][9KDM(*3=TVH MR):U[<6!EVFL0\X^&;N5(MLJX0PR=N/?T7>96.G=L5[DZ1MXV.]V4A8A>BJ"&!M$ X6OZSG M4'&*KYF\GO"@8O*L'J^@BZ8XRHEPJ-6V-^;,Y";EEX$?&"9AA4,>)K[WS1,%: MC%N38X(T8,PU1S6.XZJD(@KSZ$QT@$GP:11Q*9'E=0*'=LH/* )#$3P] MH @.*((#BN#WC2+X:WJ?OXE%F<^29?EE=#R@EK9IRLM\ODUNF21<''%G@J:T M$.1_S.>97N\]#P']>K(F6^="K)3>D6DFZEX*!E=UH_=HJ802TM3)L@#(M<(E MJ.,G8L,]L*T-=.Y)JH$XY/(K38SYZ0<9JELBU?14B1)AR8^]!4YX,[JK@R]/ M_QADB(&A-D^6"XS2U2GY^(Z*Y&'=VQ*P=_(=X1"9KG8D[K?Q3''OET@!$U2X MA2=O0JLR6*+M!8YB%#W\5W>F,O W_HQ4^SOW[W^DWF&ROIZR]Z MDGX.VRVLL'TTUH)^^J^;_@!]U_WO?E.U"M0M$ MZ\!@JXO>6J82]QY9"\<=QRV'T(XV"+-6%:B$30U&<6AAXT4 2SL#ZJ"P6LZ+ MG_Y,\^$ %&1[@G.Y88D $:;6Z$ 7)FJ#A1_OCF?/5@0D/P?)H[#F$&L="PXQ-8MF(EVIMW:FT%Y+$R#T M=M+F*'^S&5L*'JDTN=;A$EG*66#<&!.?)8#9TV;Q>9\R;S!I+*MRM8#8%)1X M&;478N/Q9FB3%H5-$5;19*2J8(#BY$H,09$#VN5I"/_^KU\__O+)Z:.'LV"A M5[0X7ZARJ.SU!S0M__ZO)U\^/CWYZOCI^'-R#AYD#/@63!YW,>25-5/ !/4; M^M$G?U+VSJZF,!'F&,S; C*A3#QW,2UE_D.XQL@EBV.HWTE22M3,I,2+17.* M6)$CIS !1WX&I,[#\S=D_W!)Z^G0ZB/Y/]G83YD.L=]$IAPL\M&9"'A0Q^<2 MQ"C+X +1:D\"Q>X$8J\>/',&\4PABL@S9#R(RD6>LY_]I2F*$:/ MC*85'_]/,K!4UW6JS)3@(0A30?=+V:Y;Z:@3F:E\3JD>V3BDHI96E1_*Q/WC3.'DYHN ML[W+ Z_P1AKS9!49K9.3,8$6=@MFS+#-_(1*"XZ#'L6"-ED<(>&0"<=<8G[U M4VR_J FJXH(<"^A<%K'34CM-TGO-QHY.G1_R)GR2"KXN=4@#"[]'1!$]\]VC M/SJ!29U3SQ$X9A?*)[19Y9)Y\OO0[4!LE##T5_.N)DC!5YG\\NLP_A)5@&_I M_\QDH]+A^5#,F^/8+]&B3L7F;+\.00!E!:Y3NRI=A;,$2GB,A^XRF M1E)0:%%UF5!ZM;-2\OKQB:3_K[Y-]BU.2 ,7IDUQG&FQ!8@IP#':$>Z=.=7RM=YY'AXVA)^:MS M=^P$.DW/#Z?9Y=MX4/-@OPL%YM@B&9-&O'V!Z M]#.CVQH@5[F/_0^):X?4LO>E_5P+C^'T-*D4@#2&*XBXWU#2O"4;F@3%U/]N MWSGORX7>>9CCDU.Y+"YA>_;.UA+N(']IG_E/7@7IAE5;0(4]&SA3-U!9VD>@ MCEYB)XF!LU*+(-08DDO8DPR M0*#S[1G,3%=O9CW#Q"4H[^I:NDREA5* 9*0DA^6Q^3"V+7XXGGG!T&"+)_2' M8I;BNKW^Y^BW4\@8;E)08B;N""KQ*''(Q'DXM&I1<"&J//:06T MX]TIOXR3">JE2R9!\B"4HTBR6].I#^WSUQ]P:^^YJAQ>79#?]SS%]7.A"Y;. M+-K::9NY[F;CN8)GA1@CF32O ! MH;0A#K3/XW0.)T@3PF X;-9$(P%5*DT(R-C81DX-S\0@T/G!.0K+@'H;>;:- M8W!W5%/.N\1W#7?P$?AO*JA +I-7' AQ**P@0-RVKL4,;1@"F$N$5,&,SN: M-IH9B6S&83P;&P7U3ZB?:Q'8!_**FC/E'I1\^4)(29B7GG+*_% 8SQZ7>UVA M2VBU'/8_J/ Z/S8NAWS,D?/SO585)-(X133)I\4N(=Z4O3JY:ETULUR.VOCA MR5"EF.]U.]JI0-*+G\PC^%%Z%>CW7E8@I<70W^I#'LV^ [D,G?LO?GSY]M$# M=_W:8][1%D]Q-5_H(QX % /,:E>?%S#-L$WDN)FYY4)KM$62H=.KUEXJIK]P M%'<>+=?&5OEVM)^-#=7KCT:K_P4WDYC%9P$*;)GZ@5\$&U'P)9D%E7EQD2]. MS"7;>FS\:'IPZ1#Y'6Q.Q3)G<-_M-FNB&#F<_C3[U[JDLWC1Z["=J/,M6C-6 M<4MK^=QB8B(.]GL"8. +8/!N$HV-,CV#&]\G4*>NW^LE26_CS=SS2R<FH^NV0JD/5,RSJA MHOA$)001L9,P^3B*K!D<'G\ZNRQKQS-A?QBM_4Y/+F,_+E,,+OT4751_UJ;- MWL2DDPXI=T-[ M?F&EZN&)G#A5^'P^NBDV?1?]]'5^OH=6[0\'__CR /\XP#\.\(_/#/ZQ]TR_ M+JF(L#MDM2U6Q+"H&!T[&IVCV1+77FM\C;Y)FC,KHQ;+-=E<>GB[70M2. M4!2BNV:UZL@J?R5E1WX0N4%-&#(W/CFI"RTU,R#9V55) MM12Q4U]&ZP B(?IU:188=B7'S%62YJ)\W:+HDLX7;HT!OX1P&T\_N(Z2%[V* M-:)JEA)2)*-.6*>3(K_G%5-WY]CCFO*Y_:PY">K L;NBF7LMVS)$@!O"PB/R M\X3Q+%,H/O4OK5CBF*M@X]UA/&%)2C2#G#"A<(F[0 LI08?L <_#FRF[]*\.M-X9-S M*8]DO(ZL4V!D9OQ,\1XJF!F3NFO#@-,0)+*2"]:$6TG(_C]KA6Y>?J+&UT7( MU@@P!.^R*M\7W#(2Y0%\[D#'Q$GWR,%-93&_\ R,B8S[95JJ(ZP'3B'].KEL M2 >AI4B2;3(>G^NHSYBOFFMV\YA^ET*'5AO/B&)CT$X@46>LD"E/NW0+U\S! M$06 6A%83S1I!F"V8;.%LA*]BAF M\CBA3MX84/&O1F+QYVELEZLQ*XG;[B# MDMU;0M&,2/1 (\C([KJHRU1+IST+78S8B=V#9-MP_[3?G2[+D;;<4OHU6?<( M[A"ND'TWH".,GR22UPN1(&G)=ORY\$E_33]-/7I@HOA) U471U=>KL.1*CQ' M_V"*K)4\!931-:!T/2UY84U!MTRFZAMQ8E,]^SBO?$1!'USP"3--CF1I)LRV=1\'^J, M]N)!38KYH60X,BBQ),?7,G6Z#7GF]7IG'G_?&KTBG_A^<\W4Z[_KH MLJIZA2:S_,5<799-#9>@CC((C9NK-/L9+#^RQ55N]8E@-!L'A-*W*[2Q7,&7Y6.BN-Z?+;1&+R]7'E>=""$D2CX:T-X'>;9;6OV?BZ$UB:$K MDZ0I]3J5(1M3UDA$A](M9MT^0&^'12B;H8>CWG6=VG49-1)(P$@]]VSGJ_.OAU^V=Q@ M&T%"Z#7T]UW/]'@?>S-&MK0WLI\YR*TN:["D>GC6B_T):_)YTX$94:ABNRDN(K!J@D:@6Y$4;NGJ&_$@?$*449>":90(ZL M$TE&32)3Z-C/+](G[N/4<_N08H?,V)A66T_'/YQ4&WKMY;73)8Y!_YV;M%M> M$CX!3*R;%]N6.8LQ;VR?@AE VPDO570,4-8G>W-I3H'+-#@ FL2NB5,WX&Y- MLYSM3GZ"NY_@O7?&L]:\O)8Y>XJBNJC!00-*"9]L89=#41,FU[D4@-6Z;C>, M@.59Y8I&V/U';5BAPEAS$P9S^JJDZV3=I+DQP'I<4!Z M?&9(CX_(C:98^6009\#6D[22UT8UR4)5FG1%4[V!['K%B?EX*'^^$ MZH^Z?GU_^\S$)1$ONVN49I"^X?-TTL4OV0>)U.@:ITL 8A?<;.)9Z%,UCR$A MG"0IA/W2HY5=W@N.A"F+Q:7@J[(0CM\Q.ZHO[GFUD-&:RY5NM+7TH2BWRHD! M@IH( :ZVIAJ@?/,F9;7*4WFRE0@A6+I2;LT39FS MQ$D";(^X=LE"$=%^E\I="\LCZ1VK:O+4)AB@*D:>%OH]\E4QBJ=31/T/$XH0 M(W.!'4U[)O6T'2%H-VXA2(CKN(P]+S>E9H<\:UQ7KOM5WQIEYO'L;Y2A$5.3 M K*BODB7LNC)/,2WOY:9;U#C%.[CZ^GUD@A@?9,)C*RI"E=+9Y)[!_00IJB\ M!HW62]!YA\%&N4QVU+QZ5$_&P8-^T-=#TPU2=]*,U#\2?)T.OX MTN5N6=]CZD$88[^:R&9/!U:#61;8 MHK&E'F0BG2UTO:DPY6Y*TU%!K2*:;WV!HZ!KB_!$U[%K6Z4_-55\^Y M)>L5+H[/DE>-WJ?%B^!VY7O5I7C.BMDE.DU489IV @D#*^%-ZLZP4!"FAY_* ME/HLX'#GGN&@L\:<9'5H+U0!#D;FV5E1M MI<)]0-4&>M_PR^*KPI@&\ZJU"IKAX)O@9,M03I-23 [^NG9&R(BU2CXT\'C" ME15KL])ZQPU1^6K;=A,CG?B0WHKV_%/CA3':Y @H\(K8\ ^O7,')0RR-!P#- M_,'\BK:N7"/!=D&P+;B[;1DQ2G(;1R*2,!IWJ[0JY]4J$_G+U[.&3DSXW+"F M)O U=E6 -%(P>P&"F6+A"D6TM04Z!6J-4SMG1:6UEZ40; $&*N:%VH*U@4U2 MB&ZTWEEGA+A]^'2:HSA%## K1)XHCNV[]P2(E.KGW7<:R7?H#F?+C&6B">$W MB/9=_K2LDZ[H2+ '$0V5HV&N+$(G-&6!A2X^=!15B14%CT*]ZM<#*8:H_LT\ MCE"\ZBLMUPF&A'HW(+N$X(-K=+&F$OX',/B5LGIQ 5;&>3S[EIPBWPIABZ?6 M#9J!12-FP[E7\J7D'?+. HWAQ9")I5E)DSK.!Y-13 YWJ&2XK%=AV\F'2-6, M'N)^LJS&HX)\([_MUGJ\H]'1'M32RQ<%C_D]3SV&?5&O%MIR7%+8 P&':+=\ MR\%E$PW[K$@8,4:+# M:V\<._D%M1 ^-_\,X2ZOH\R!>E(7HDU9S_LH,8%LY^R[<$Z@+41]4.K,D\X. M@;'(ON;O$5/M6&QPF=)S$+_D"F@":$+Z;4EY+ASH"XTPTNG'Q[^MB7DE_(W9 M!^K[4#^^%A*3KYEE33$N,#<1L%L(V88(J%E;SM2WSK;2H<6 9"=4X1!(S%ES M$1M@EHS?T)(\8R0&E4&GMCE/421N"<1-F%@%K=KY+04W[B^S+TX>D-F@@\UD M8..O*TJQ*8HC(IZD,/7\'#J82'UYD1W6,1ND89+MUJF4KW!Z43>(AE-$C//W MNG%&=3R:T]D7CQY0"WTX!#T7ZX)EU+H[)E;:N#"U^C4=Y(HS3(,1KLN*?W8X M5#S+GD*M% M0[]$P'C\0)$N82O0D-LH<,#WR^+P\/A%B*]33$-QC4AA64(_1 MF"4Y0?J'B0>+[]$ \2_6=D'%9/97U_4E0R_C[^ITR'9KTQ='%NFLX,8*[B; M('F(0-)4NY?GR8/A].Z>#^;F @R=&3^-1+BU>!H.)>TT"HTL\^N*ZY: Y1N? MG^9S:5$]1KBG>+^P]YIA?Q.YJ)L#(;6,R4(CX>I;Z3I,E)(6)96 V1_Q"8)\ M%H9$81_[VPTQM'[Q] %H@VNH 9?,>Y?\-F_?L &NPJ;L"N/IT<$ E-1.?8=C M=&&N[-!OQZRR=I8ZC [=J86<>?3UOKB*R*/Z("RW; 2Q4O)]\]XHT&I760^D;L7Q]Y4M)1\7ED"V;R!+ F9, U% M=9Z?*PXL=CB%13XKV3H+S5NUG?HG-#S4W,52=E%)B$UA7ZV4+U6^ M19&6< !K&,>\U.&F!D4THS#S$):-I-&NV@(,'Q$U*D8Y%??NHF;B9P1T^?F"/%,:\%""EMZZ MY=3I7B%:^#S4!1SN,T2VR-LM06[!MZ&3'HVJMS)Y%463Y+UGJE.\<[:UA,O0 M)%2*E4:L7V^D/(JX$H7Z_\R#U]MLA0+]BF41X4MQ=0-:E5P1%=:\W!B.<3E_ MFU?O:1^+(&@V^_'X&5@XZ=L19VHP9_A&)336V_@V:4>VR $2'P(@*3/.3='/ MR!,U71WG?'IA!!"QZ?C1)OD(S#^&*?O2GJOT)\(A'V9-TZ3DZ'?;)%/([8M% M=63- HG/BB9\X0]&X$/>P8R9,,#@[E=P49QU<1@V-6<)4,)3[,^#\U'EIN,Y MV;0CGN8 P\0C(+^MKVS.60M=%NK2IXLIJZ,%M+@U_:;E$C]MES),4GBE;;:C M9K6+NUE>=8JY.=$U*2>&SEYEEU XNX$.-HIG;L0F2<^4$OH9QXP(3ZI )M0J MB_<)X05G3NE-W?O'0.BL;AHDJ5DS]MI=&_EOKLA.K,KPGU:MTY==?.3;(L?% MZ6U/KRBQ*V$ZF))TXIULD2[S<"IE\ON;'++;+AF%,1RN[!Y-YKD@$:HNN%51 MCX%'>GBB10=@2JOP8IXEH0_D(1<_)!>/%/M1"+EQ*I0]-%.:! ^6FFQ933@< M^,?N_MZ[_64OLDF10Y\%.!!3(Q2F$G*UL-Q7 @3(*W Y28]O1S6<8>IAHG\P MIX0'%..; B T9NPODQ7$7I"6]9I;U"@/ _-B$DT[ IWOP[747Q?,^LY'Q^= M_,FY5RTF8KX)-@QGD:^_@2A"?#1/+]_ETCDNM7Z8XF O6 :[%S"$[&JV,U@(SD8Y18+1IXA0+$-%X%)WE \$3\/7I8*L10$.8K5YW$*$[O04_Z MF;!&+&_6-#ERLC%]R!IXY^7 .B(A^@?N?+4JF*<^N3)_O6TZ;D;T SX+3LBR M[!B1M_5'1]Q!RGGJ>,+VT_2Z$_HC2WDN;K)LM\7-]IMK2R>60YBSRCG=1&%. M2!&3;@2117@5,);?^?F[O=LP)\06R2'D80MWA7B<=CM,^=KJW?6$YO@G^W>< M2T"-C="4EH2M525$' '!3T$5Z$@T@6(5"%\F&LPH^GY5"$]T)!S:4;:T-0(/M'%UI7-]G^0HHESM?WNNXWU5E[%&VJ\BBY%X0;JLK MJXCO6&JZV%GW\=].'D:=R4G($#OELQ]R#.'Q[B'HWH"893@\"LF(98")D:#N M4DH]"75*'3SY1%1;.I[]A.H'%[B&#\C%DG!3J&DP3A4!F727\B8V1>.0]AD=NQ48P_'P=(H MTKF4#;""0H0I$V'7@/9A"Y^)*UJVLRD)8@VYPW0( Y]>LX3)&NR.U)>J!JF2Z19Y# M21G5O\A%,2U'@^* M5VE=%$:#J 4ZMRR3,>#LA:1=<"E=<$_6:+AEB_MGZT7!,[IV-)%YDYOG4"+4 M$N$WAQ+AH41X*!'^ODN$?Y4+_+/L]7I&2)9-'RZ_N8*V-:'M6UA=M"WB]O"! M)D-A[SMQ%\>8?7X7Y>5.WI@19])G*BTUYB_\Z+E-^H3]).([<'9[<^7?YLU9 M'N+VHUO6N^F(@/_[/VQ=(4HDDQK7SR^/T7)I*-HW\L.]#L&8[:RD8;NK!60H^%O6J M"$&I8Z?>M9+&1R7*16)&P-?BJPU.AHT@$U)7:QV(0'9E_74@ MQ60)DV@HICL(YZF2KJ)H9S(1.FY&H79>J&_'&TP,V$1H^M\2DV0S^1T?G+S4>VL<1?!Z @SF;"?SE$<:*J&MZ,0O$UL+DQ7" # MQDSG[#-GE#:HUTH&(-^B\L*<:Y@.K6H$K3,GB[#2.%5"&CH$TVJP\1 YL@LK MXT]_Q^C8DAU,"3JN^DE%(X8A0VI>KI?R*W/'J>:TRJDMY)+$E$5,CMQQJ8(%LSPVI.+/Y%? W^&G"U:8R FBL2.AL4,3PIW@$BG MN$FS)(S6D#1Y?O-)P45A[+6,4I\#HS$KFJ;FA ME]ZZ"+?=MP5S'XKC4U87K/T**$ALI*=72Y_9?P4=[7"PQ)T9 M%UTT9GDRB2N&YE&T<"E]1N;"ZA1^-&CNB6 3ECNEK44/B(5VX3?0%G?$(:;N M#CPA+RF!IJ9 -Q]IMS*Y-&KC*6/YJKI:4J5^;F[&WG,4?R'M%.*EFVK2'6=6 M:R-^8!OQOD#>K6Z*6"[C2D([!)I.(C$G[&:Y^-___?BA]FCX]GLIZHA[N8.#8AO54?K!:,8WWJ2A<7L)SX^KUG/[!Z'Z#LJ M4G2 0LAEV?JI%[WSE[I%48W.P_-!B_JG+K+]^[^>?/GPU%7:IGXT39"_]%6W MFXY1.H!W9/\!_UG7ESMK;>\F?L879A02Q-T\8;#=13OCGZ0)Y;<\R3!HUD!C M74( (A?[@OFH._#Z@%[^8$N9N(3D!H ES3:!W^Y^09B)*0EYZE-[8AD$_-- M6_Q%_\[_[;OL2=/CQ]]N?O/ M^QZ[_V]/OWSR:PSVZ9=??BZ#?7+\]<-'G\M@OSG^\IMO;O38/V/G\NX-YX/. MV?_^E\?_8DIC&3[8C*=GU.F?9DM?(F@4?YYEP=X4I1W]2 MC6PY:$H/4W_S';Q!JSBRI=^13]',_J\R#,HRO*-(DSRV_PF!U;>%6Y:(8-J_ M!+6S*U>R1>(C!'^5_>/R0_V7GCGQT_2R(ZX>(,/B4 MU.J_F-$+)?/S<#8Q2^#5=G^K%E& WQJ0ET#B8%^,UKL^^%-#;]CSQ:Q .6QH M2TLI@?&\SM10)@WQ/B2#ZJK<:@H>%9I'0HF*SB"%^%HE/R;] 2MW.KD !B."2X)+@DN!21N[U'9F4YPTR#\5YSH8V M@W3-!62 T' \<:!>:/ZJBE*4N[F\QQ#LSH]55,UK-%4J?=HF>;6"YVUJLB3= MXK%.,_V_ PKY$#L65*&5)(VQ[\9VK$O*'ZW@_*D3_GR%!.2A/@; CEN62PC5 M3D7GRSP"X2'P!X)UJ2N;2[%=5YU4<)NAX K4@KQI$:@%Y44MR-O -XB!9WUI M>PYM.@?+4&S3_ME:7CJNTU]0!&Y:5$2X. !N&554D1Q]2JC!AGGY=>[9CP#/ M^VW\Z)EMSWLD#][8KO&S0@W=N'I>;U0D[!OZ#$RTMR B^,V1]L[0B,[ AFV; M+D4:O]7G>#UR<^/*[7-M8]#KL]2S]!RS3SY:3T $[ZME3'1L2_]B#+6#[S+) MHS6W([-<0,LY#.A2O)M;AS;CN0N;\7QCS7BVY]ZJL$A#RF!A8Z2,&BA86VQV M;?VI(C$))1YJ.;\<6TML5BG/0EI;E6N=/;]#C2[!J!(,6T4I:"$;O"@YC][4 MF;](S5BW_34Y#>6 L+[XTJEF06EFV7J= ZN[-9-:N0Y@I0"TTV&UFMM+?>AO MZ03$ DZY5.6*\P.2,NDGZ.J4XQKZ'):7HWH1P^2/>1LG(G#44OV&]N9CJ- & M88OP]\0X#5'=UH5? 20$X%/0SCHMK4[A)7C)#C&%4'P3(8F"I3VO:V[HPDZA MQ8^#H6,R7D(/7=Z1>+8NM_-UFW[&BH\X=[H!VNC"L1AO6$.RRA:_2*A(/)(U M)6O_5Z77[^XJZ?J=VD]/;BW8Q/P,XLA#U+EJ_&'049IAK+J_M"M(+SCC2!2WOAP>@ M_I[7!BRTIE"F@^!/> M69X_EW>%4@0$+"! [Q,0M#(/",@+&E5H&DR$])+BEGJKJ])$"1O4XR5M&7:5 M.X$?,G3(9JD+'$\/^ZO>W)@I A""X9,A""X-P2F]+=&SXQ^ 4U>KR2C7?09[<[I_ M/W*TS?;GNL^)=!ZGP2/AU/(,/I>ED[%E,V "OE^5-)G5?8<]0OJN+)W#1_1W M(>S0@.)I\5&' : 9'.]U ?YW6$42&SMLJ+$%LQ6>N,(IHN7[E#K 5"*K(<&Y MH*H@13KI0K=9H$'3M"IJ:FI#/>7H<,%[,4Q@LKH =6?@4SDF+'Z=2TOAU+/Q MVQF[YA*9-568M8]OUAI[S-K-BL+Y)C!@#6' A $KF %#BHP^"1-69!.&ETA! MY(,JGLYL=X6QR7$;#6:5HF:G3QZ[XX^%^([$P/@3FM. '9_9E0<2:!NKZ$6R MU,4CC[:9;[$+4*'L'U'95:'LA5=V-4[9<5)EYYBZ0MW_>'77D#AT*;:VDZ5: M_J=JOU028R#$-3P\)@G.1>)S%[%YR^@.Q")*(:\J9&FJ&%.V4[G)/A& M5115:/Y'U'QQ+E$>S5?W:GXW[,\@-%]H_B'-5X7/+X_FJVE]_KJ6(9550!>T MM5%'#NT#TAH*BP=8-CUT_-XQ(BVE658CTA2682?X1W*O/RR <DZ[G1%/,$<._0F9VA,\%07$EP& M'H($=]KW0H(W))AL4@S>]52ZMYR?(V@U)>2Y!!P%>;Z]ZPIYWI#G6SRV'$N( M<^D8"N)\W[X1XKPASO?Z"-M"DDO%2Y#DA\&=D.0-208(""*Y6>PT=M#-\H$5 MV8)RS)>83R2^-FEZKQ_MBDT;*.L&;6=M!)?2KK>29@!6 "VMU[ ,!YND1ZHC M=VHOV2^AKBVC41)-<;1:_-@"VJ(4Z*M;!X*O*]!':N5:('85A)8/67:?-RE9 M5MAG;@L2EM,/>W_WVX_?!W?#0W89M+"5&T97],*$-<+^M; \ZI?\Q,@\\%"0 MP4V&FNB^9 *LC*$O?-I@VZ*=L5V/3C/"DD_X0[X@.Q2+3#/"$]T>0]9UB"+# M'P"\,[QPR(_H>.NNX@=]9@G1"9J*?%Y_'3K!OF$UN:YE@GF@O:Z1]EY:D7S> M2M;RNI3H!"_AR,=ADX<;WJPNCQ:WLWU H5Z_YM>D'43(79WX")P^8-RR MSGM*A+606&B.<=P3C]HBI.6867)%LR+Q,I$,[94ZWP?/<@QKIMN[#PAO++RQ M\,8=.)P=6B3VM'5/6%?AB_?872$KPA-O241\=O*V[]UY($/?N]N*Z-AW-46Y MEM%>OI:IC5QS1?Z;S*?V]?]02P,$% @ VH/X5N9C^1E##0 1XT !$ M !C86QX+3(P,C,P-S Q+GAS9.U=6W/;MA)^SZ_ T4MS9D+K8CN^3)R.;,N- M>VS+1U*:]BD#D4L)#46J &C+Y]GQI%YUC2&QR='QOO3P]/#$ZMU?-ILO!N=X[/#Y@F\ M;QG#5NO(.#H].S:&=@L;C2/K].3H_?#4.K,4Z(R=,W,,$XQ$TUQV/F,7M3'G MT_-Z_?GY^>#Y\,"CHWJKT6C6?[^_ZZNBM;"L0]QO"Z5G0^I$Y0_K\O$0,XB* MF]B9+107-\CLP/0F==G6QDFC&1650"0'FKB,8]=\A;8X-?C+%%@S74@\K\OG M4E'#:#2-EE"%.:=DZ'.X$?U_#3;V'7Y1\]V_?%$OFX ER'5 TK=0(/:88SH" M_H GP*;8!%WC/KY!2'8XF4P]RI&;D+,Q&ZKZ,LJ56 T%Y-QY)N;*YF1))HJJ MIB7*U\'A3%X9\NI@QJQ:O;A6GQDCC*>E-,=E NWAG3(UB%E:\^SLK#Z3II-> M@U1S4.4-^=%HMHS#9@FU67957+>X,B*Y3=1A/FS*U2&26[,.J4,ERQ9TDNJ: M%:R& F)@'HR\I[KI^2ZG+T5L,4TDNBACA0M@%I RNJ/B\L/*.L&TRNB,BLL/ M*3JQZWI&TP,[FGX3,WO*Z%3_G6-J4L_1#.7Z ME'I3H)P BZ\*"F!,P;ZHR;7!B";*KPX>'HB:1$42"A:M7SZN"Q%P[N8MB62E M 5[4F"# @:!O=KGA4PIE&RY$F%BB%-%_^_:+J[+M%R*F[_PSFF^!7;;Y0H2X M9(762^F!>(Z(=5&[\H136T/RWN?>;88?H_0%)2.H"&Q>BX\-]:>)C+GS:R E M]:&^7'8)Q6=@==V/ZO.R68?"89$N MQ8=^]^[VNCWH7%^V[]H/5YW^ITYGT"_6V7H8+1,MT?U]T8\041%AHC@H"E%1 M +NG*M;'CYB*YHV!$U'A#?&VB*DE\7 5$M';!2W_KCJI_8'X][[S,.AW;ZZZ M]X^]SB=1YO:WSNV#N.RLSJP.6$OO43%ZYWI0]P8M:$*!JCW%!CY2"*I'H3:;8?<&N=8D989[]&&M.08) M,26 WZE_40S_G1IC1%H?Q29G\F# E<^X-Q%]4H@)/8J6F*-E M8D),)$'1*VIP:N$5MT),W;JBNV& 9P6GJGAY;>\?+_=^((V4>(4Z^0%XT/)' MH')V]MS^&%,HU.%9LMK.?[_<^0(I(D!@H0 ,*;0*<9$;SVTN,BP2(9Z='1^= M-!+>E"9"1&^C3Y7*=Z=&=SU@G!*3@R6?#60,MDZPF JG)3#I@*4&B\H7FVL( MGK\-E%2)R>6@3W;\O/M8"1*+(6GY2SAOR7 R("^&747B4F+%$F1E2VL)2CAQ MJ?%F%2G)"1S+3(9:%"U%"4\O-PBM(E7)L+($0YG"6F(27F!:9%I%/K3!90EZ MBF)IV4KLY10*5ZM(7RP.+4%44DI+26(#)Q[#5K'G,P+2$BSD(V@926S.Y 2V M522H^$98WY],,'WQ;%E<+OV+4F4V$C:N5&<&R5V@TGMTW89WV1I3*ISD&RW? L].>;LF&"NG4FE B];*2"85UD3:47J:*]J.)SDO7 !#$LA(&ON)0^'2H=D*A-J[MI' M?#2H6IX32:5LG@-%BM]75>^04+9G.&C^ Z94U.IIW04U@:-E,9%LRF+Q%7K/ MV:OS0GVP[@@>$J=TF%,*4,MB(C^5XPU)'2BF9,]GT/POTL!=_M(3[:)KC\0, M-"V3B;Q6%I.1 A1JJ"2-.9M67;'F8'EY)Z*ZDBF(TJ@Z6EO)/%7NUIB!7A6A M0-.>WB)$?&UNA^"OS3W%/YCB:,4J%:RNCJZE.YDV+$?WZQ)%INRYVFK[QSG#R8H.YTIQ*_U,I;#$G+7Z&3^-%M%*+OJ5/=TIE,'>\%0#UY M]*DY%I/5H_!!UR12CZNE-9$US* U4A7R&RE#2MN>YOFXNA2]8LEO"H/+5 W# M5-P&AJP.6DMV(HV8-X8-I0[%]45IQ3W?%BBK)K/:465B@#+-E,;7,KGB";5YNSVP*"]%=M3DBO-"5(J+UM6C9 M3R0CB[(?/0JV?Y2C7>T@24O6(U#Y5F69(.P.'3+"I3WN-55HC2&1SRQJ##&] M**9X;P>E22J8%%M;R=X6=L(6HKM7'BMW(F U9!WKAXF\:.GE0.G;DYU!B0GR M@538(^S;I@E/1]>2GLB.EB!]KA))G94D/O8=A3*,IHAIJ4HD.Q>^VV!4LOLS MOIQ0A@H-A):61 XS]PL._VR./M077^H>7"^\^%V^]CW\&0O%H'SC]-?^V*-\ M '22=D#\'B9#^39H/&1J,KJH<>I#3;V]_J)62-0ECB.?1*+J]SS.IT")9PW4 M2ZDMGX;O &2^T$.X+Z]^H9X_O:@%Q0F'20T%[[">_\#'N>5-,'%OQ4.)-'_? M?4HCA04DTFUM>3I@I(I>OLR+/.(7>:O]C*FE[C+U\0O(WV*1;RX :@:_!#)0 M/_K1-L=$S-Q2)N:$#<9"4"9JPN+Q3K2QPV*]N -UVR9+TT!) 9K"DS>=F0F, MM5VK.V3"QCF\GG!M\VA9O,>N;XO_Q;BGF5V[,IZ^.X*?^>#1HV%P D6T@X)% M>,%."NZ(*4H,'OI2I(-:C>99D/2[53X >0)E #)MGS]8"XGNQ&"]$V0!9.P] M#[Q+>,3$^@,PO?%\*EAMVQQH=)UI"VNB[JI%1/;[)>:3JM203.W+UV?(IEV* MRH/5 TF !;1KRW;IYJ4-()?HM.U-*DLGMML+)[;OA?< HI(N>#Z[\BG-ZY$5 MD%8W&PN&V[.:E=>,YCO %7Y*#H-E]?_BG6 W%7<*^=6W1.S80 MZ45NGI!MU7-+DU)-V?H\F*?Z!\^ C]2S?)/W0(QK-_S*@]ZGS9'9 MU: G/Y:3-1[ C%\Z8A2L& \N86QS\/!(3<'X_^3!F_\N;>:)07TRH!S.3DP? M83[GAJITER[M\UIL5\UX]2DIRIO_V 3DBM78C5SCRJU^'1V4F-"UPWT+M>+: M-LRCDLWW=W'-/]ZE"^O-A*-Y(YQ5UQ2UBS4QVY'3"Y9IW'<=SY&GD'V,.[/5 M142WXUT0E\,(Z/=PWA:M=(LA:T+1C^ZZ>V)9#G0PXRJS+,8OSE^@:)Y3E&+:@UV1&NHS,>)&#!\(@;;+6.BH0_ MNW;;^E-XDOEQY':4[6SL&;G675?C[Z44_+Z3E3J8R,PQ3/#'-_\'4$L#!!0 M ( -J#^%8J5NS&6QX )0A 0 5 8V%L>"TR,#(S,#&UL M[5U9\Q_88\?X3A- M\G#\Z;?'OW]\">[QO__M+W_YZ[\ _.>S]Z\?O9BDQ0F.YX^>3S',,3_Z-IQ_ M?C3_C(_^F$S_.?P:'KT;A7F93$\ _K;\L^>3+Z?3X:?/\T>"";G^VOJWTU\# MJA"T*\"M=Z"2YQ"U56"<=-)FH1UG__;IU^ EMV@$1"$4*.>+=_^]OCS?/[EUR=/OGW[]LOW.!W],IE^>B(8 MDT_6WWZ\^OKW:]__)I??YM[[)\O?GG]U-KSIB_18_N0_W[S^D#[C28#A>#8/ MXU0;F U_G2T_?#U)8;Z4^KVX'MWZC?H.UE^#^A%P 9+_\GV6'__M+X\>G8EC M.AGA>RR/ZL_?W[^ZU&0*H^'W7]+DY$G][9/GQV]?'+W]8OGM,3WR.U1M M,\N64/YU@Z<^^0&7_CXM1DOIO*;WJV=7>"V1X_R6G=]&B2+GUI5+4T MF:[_4-H&8_SH&]9Y:37MG8$,TW2-9Y>'W.H;3V:+ MDY/E,V$XQY/UWY?IY*0I/^:3CM5RQ@?JU;Z$>9K2=('YAOY*:C9+C*"4E:"L M+A",%U""$]$48Q7RQBRY%#Y[%TY#'.$:B^/%!)T$ M6!TT&7+T$&P4P#A+Q1DK#=?MR7 #DDV8(!\L$_85?3L:S&8XGPV4#YQ$PR X MXT%IY<";2+W+3ID<>/0IM%;[LN4V^-90E4:14*;16]UUX^F2\&FB_F>B;D>&8\%#GQY]>(P54 M[ZL8C\OO,UQV=F"5SEGI "JC 244A:HI%4@9 \6BB6F>&K/A3D!]LF -Z-!. M^,WX\ (+TMR47XTIS,2/X?M9-RL_O70&6=$@K;&@4H[$U,) )"NX=*6$W#K( MNQW-)DQ0#X<)C<3>C 9_GTSRM^%H- C29BFC!ZN'H^*=1-INGI]_QNF*5)-Q6OD?6G C-"K07E&L))6!:$*"A &3 M=SI%QUK/[SG]A-]/[A3AK4# P)[0"5C*O,PD13YH,R6NE-;KD M2NM5B0O--^S)VGTF+QE)F!0BTD1(9M)$B-HC]0HS(PMI0VD=8NVVOO(3EMZV MTO95 N\IZV;LO7/M[^+0TM[(["2@411'"9G >>[(9(H<4N&28VO79$-H?0I@ M6K&C"ZUT%-#E"!ZI8%1/[-U(@5CNW"';D33IPBG&27:R+X+ M[^CI.'^83](_/T]&)-I979F9GPYRD=D69H'[0@PU&L%GJ\!+D[+-S##5X<;F MC9A:>H2)<2N$H%!$D>15W4"+D23O4_:,12VS;KTU<:M'V!O/:7\FW.%.;27R M9CR_H3^2AE50,H.0LBXKH*-X5"I(-/,J1P:;2=]8]?=QN3?>47L&[*F A@[U MR<:R>K(T?V&<=IR4SOLT.G"4$@#S^$ CY:2_WC2@5',[UO[T3?"J>G M'E%[:K1229>3A2].DTD.4$+=4V>8('@=@?KFG48O1?/\GO:&KPIZ,EX^]S_" M:($#9!2&2$N!K*FK[$P9\'4?+O'"BR@L)AT[(/Q%#'TR@7OJ_29>[RSN=IOQ M.0]KW\/H71CF5^/GXPLTT!*PR$-F@67)6J=T MW8^J3Y:Q,3$:JZ1E^L[BI$H9\S).(4!?IO@9Q[/A5SS;F'D]F=4]F>/R,7P? ME*Q#%N2ZR1 (I#82O T"',/H':881 =)7MM [),-;4VB#I75C%'O<1Z&8\Q' M83HFHSZ[ /H%EF$:S@HU2,6#>"++PDM4U,I*&,"PK*Z*0K7?8[T?5IZ6' MQKQIK)*&23FK'> +!M,SR5DP!:SB&90GQ\]ERX$+;9F.TF%S;MP HT_;L(W) ML*_0&Z<,KK=:BO'%2Y_!>B%!Y5*[%!ED$ZP3)5MI6^_*WI%RMX.C'6:?:RA# M/ZJ2OH;1,KB9/P_3Z2D-NC-!J\"068>04M$T(]N:U^ ]E*Q*H,C8^=PZTVPC M8'URR7?GQ35OO+E.&J8?4^C13V=M4KV M?C6>XQ1G\[50&)^_:UX^N3( MMR--,PTTX\2K\5=J>S(]K8EW6?C$O>'@1$V\D_3B P]@,)>81$#,LC$'+K;? M)R>\GRM=8])/^/.:4D :M[G.1&@I/!T/^< MYJ$8JT7K]$/'^GUS=';CQ^.7SX_ M?O/N_=$_Z#NO_N/HU5MZ>W09U1YGA^]KIYO3Q%OUKM'YXK]/)[/9N^FD4"P> MLQ#6YP)%*E\/R""$% 4@2SP()SRQK'7Z\8_F]U__H>TARFQKY0B!/LJH>?OC MZ;>AV3+4@0?!DD;";Y_ON#*@LP&ZZ(WD'&1BBC@I-001:^&0$ESBN3C7>@:Y M!F+O/6@I0&^2<$S=&Q&>I_ED.![.YK6S7W$-2C$:7X%\3F9&IMY;D#SKX]I>?\V/P>))2"^13!D#]* M?H[C$+(VP!EZ:5-0H;3.9[\$H$_6L14'KM)]=XFW/=%P3P+$N\ET*?CY?#J, MBWE=;/TX>1?.4N]=<2)'#9K&'X$F083@"C#K@F1<">&;'XC9#W*?3&M7Q#JD M5IM1\?)HR,KGZ$N&8ACY 9QB(6^%AJB0J6BM]JIUCOD=\\\NVP'K)ZT7!8;C M!=G)E<&'YJ'V='W\D7(@8.QV%Z^HJ(LSSC4I<3)DM_>KWU-=#. M>DR<@>&"8E#%$3QY2N!C2,@-B4FU7MGJL#M]FNEWY^#US8I^Z+_A_M8*Z,H= M>T:.?%T0*0%#M%Z!Y:CK7"$@%"W!>ZEL24E&UGJ@W@*E5VM&K9FTG^![XR_D MJ)(,GM>S"$3=2.8E8*9H#X-.%/B58EO'4DW]A782>TF#?_AI?+9-E4X_3L-X M%M(2Q3@OWZW(F_][,9NO"CW=*U]NN#=$*K+<;KFHS,$E*4&CDDB,$U)T<@SU M4!WLD[$XY%C8U,/[^:SJ?*KY?3S%,!K^+^9_3$9U4^7O83BN,C\>7T@CF@YG M]*L7]';\Z1U.AY-\[EEG%XS-.H(L@CQKZ2-X;0Q$ZXPUF#)O[CYUU9<^!3-] M' X'Y4IC5ZL;WS%:QKPCUX/+FJ,L1"$IVPA,V&!R%%'QUCL\!XL=]M@!N^"K M*5K'72!QXSP]8.[0TP^F3H^L+'6ZN$[*B]A@/VK#=G M.%9^.G5XL@98,]:D"9P+S@&]S#53E0%A=6"HASRFX*5IGQ-X/ZX^F9"^$JVY M?MLZ21>17((X,$FB8#4HE"52C*@IY-1H(&N=-&,"I>XDW+H549_VKOK*MH8Z M;;RLGLPI$>\E!&EY8-HGSYH7T-F171_.X,4P6J1-8C((Z M+!!MZE0#Y)"EY M\-P$*";5VYR M)-7MJ.]KJ5,[2KG#?%$5?2#X"$:30T*^2(;@F07)G<-B>$UI/6R^Z$_>]FFM M\_U$_C//LSS]\(^7KX__:'<#WLU//\#9E9M[TNC$2CVV&&:?:5A_'=+3GIW^ M/JN'7.M9M]E\>>QU/OQZ5OZ/QK72WCMR;AV)LP7RW-+@]XG9X7. NCT>RX7#TB_&,EE[P_*R3Y>_4012W5 M8@MX57.HD&-6*%':UO-1$^!],EL=,?*&^VP.K/!VQT!7"#].GJ;_60RG>#O M>KA]4!A9Z^5=K;Q6+TN.'%EO(^3L#/-1T+S=_&*D[2#VRH8>BH =:K$[JMUZ M#=0@22V-([\B+OW":!D$+134 LC)U221T'IG9W-T6Z[[_3D)UD9W+1,N;Q+# MR^$XC-,5,20EBM$4BAN:7%7F'H*Q$G@1VCC#1>HB&W-#="U=CV4UI^,OR]7? MH^\X34-J=9"%9BK;VOUZO5JN%[I(QR"*HIS5!4/S6M?W@GH +L.^3+K+9=A? M47N/HQJWG ]RLAD_NCN=AO$G7'X^X"HII7BIDP?-((%P>4)!O99U2TBG:X=$ MKL=#&[7T$&QX*T:T%WUSBTVHWN.7Q31]#C,\+A=+E&JKLW4^ ==U04 M4_L5 M@X+9<%<\&8+627KWHWH(%KKYA-)65^T.G5'?KY1;>T^NR728YIA7Y=@N?W#A MFV<93*_&:5KO3GF!9S_I_5D)@J/OU$L:(N_#'(]*P32G/L; >2E@D'P.Q;P& MQ^AMM.BX=L)&U44YO4G Z)>XH A5,UN./Y-.E6@.2 H3@K(V6=W!N M;B=/Z2%^IM-%V==/"X7NWT\WDO Q:4<3)FFNUR+99$+RXR M76LGH54Q.NE:'^SKH!M]VNA\0(3_V83J.L0]WU6Y,'(M#4ZNC 6&4E=Y$=(2 M V@MO-3.<9]:IW5LCJY/:5,/B,<=J;]K>MZT$"6"X"QE#2S4K"_!(\3L-)@H MO-,F<7DHO^+>S9^?6V_RX=-S7_7_C-E3>!%21@5HD$+M$EV]JF5Y@J,>72\B M8NM$TUUGSYW.8USAP_K.]57=MX$+)A3.:,Z(1 "5!0>'TM%D4JSVQG%A6]?\ MO1=4GYS]CIATPU'9AHIJ=RO6YS#%9X0GUR-*.)XM139(-DI;%((TB5&LP IX MZC0DHZU.(O@0F]^,=2.2/GG)!V)* Y6T/.YUA;7K[,75!:>7[X!TY#H["4PA M)WNC%?BD,V0M7/*V5M)MG>&P#;X^.:H_;=)II+Z.*JL48GC@7H&(G" XX\%; M&/(E.S3-M[IV0[H)T\Q/WO[JGFK-==KPII\O4TS#,S=- MB2A,RO6.+5'+Z80 ,24)7 >I@T#5_A#[Q?8WX8K]<\U*.XN_(0'..'GA-&8M M:1*^/Z^JK M6R;5B\DN1GG(9+**."X]@:+_(+AZ20 /Q1J1I.>^>Z_G.JZ-5@39GVL^:JZO M#IFTON"J0N+9:J\I/C2BD(W%*($<+0[6&L>3T4JZUHN#=P+:B#O\3S\-[:JB MEEN;/ZJ=_G&, MYD.5^O1T4NK7P[4;95_4^[5'L\N(-SPPVAK#_L=*.Y7*GH=/E^G3-R!\>C/" M09;2VF LB%I*2PE/'*N'H!CS/*-4#J^6$;HEAWWS-G_NS< >M="AEH:0P8)* MY&2&D!%D-L4';4QL?N5'YS<#=[W7VR6IVMX9O(UVF^9T;W"+MF8ID1A U_+0 M2J, SQ('+[36Q42,K'7:9;.;S;O>(CXDP=IKZ\!$XLPJ+G.!($*N.]D.G(ZV M7C$8F.2)%=EZB70'(NW6^[NZK2TO]=(HX3VKX]M#J/OY)@3E@G.DK"Z.,NPW M< Z9!LK;P+1%R,;G>O>O@:B3 .M20N%3";ZU0:_M]F': M/*SVMY)T+X*2]!GS8H23#LZ& M3][;;]FE!XWA7G.K07KG0N8Z<=NZFO^M M8'ZNV>?H(O>\W@8DB>;5UX_("Z!D(BME%1I\=+VK= M)!AGD@NU!)=6J9 GD>H)>\DA,F64TR;0!'60A:U[!^+/#?>[H58W>NK.^CT+ MH^HE?/B,.%\9BNN91'O8P*V>O[SAM=;J#OG:ZQ)">F5CG;8U8=<>VX7E MNAM[(X-UWDB]&T99H01I&$I2D0)R&R&6:$'FY$F#Y!:I]J?T?[2_?\+HZEDO MA^/A[#/FOT\F^>QJS?HEF"@P\XZDFVT=CC30MNIHF%B\ O8^?'L3*+@;AM$57!H]&A,B!*SGW%7)Y)Z,H2;<^*7,C MD#Z9KZ[8TDX3!S9D9Q)Z*";9Y]>1>>!DLUZ\W>B^??Z?^CL],ZXWSQP,[M MUWLP60N4@>+.DVP]VK=L!GY;EC_.;RFVUTY M?E@HW*)J%^6LB-*-53*H;?' MKAR/;KX]=LOS.]H>VZ0W[;;'KK2V=HVR%T%B*6#K"6&E-0//&0/RLVR@W['< MO$#HK6#V+C=/FI^<(G%L.6'>U%M6T*'CD$0FUY)S5]/) Z")S+,<@F2M=P+O M!=6G8*X-3ZY5;6^JES;7(ZUZ>O0]X6P95\89"6J.Y\MB3^?/)^/Y-*3YFS!> M%/JYF.)TH(35R5,T4N\RIIFWWIF;F 0;5,[.NFB2N&_RV0= GTQ46[8<3"UM M"+0JW+NLUWH<1\-/2XFM!6",5B6S2$Y6K%:T(/C $I !5:R6Q58J;423.YOI M4U'3#LC03L1-JUQ0+^MEYT100A-&+_%'5]&*S U*B-IIHF&=QR02%ZV(*;LH M4NS(FMZ"J$\U3;LQ+@TUTF9B6)866Y7$7*&XGMEX7H-LD)PI/"H/V>1:=#59 M(!;7VUM#P&B<=H)M-%-LUVZ?"IAV,'5TJ(26T7%>I/D?H5X-.#]=P@JCYZ- M-"Y#S&LAZ(+1UOM]%5H'2K!"9,X),CJ= R_%QPXN^=P$VI:U21\0B;K445,' M]N5T*=P!DUEX711HQP.HK D 5S39\1S0,JO8U6/U=_NEJ^?VJ:)H=^[F+D)L M-@V<[8#AI0@N: @A$+.X(#A&2S)E.2&W0AG>^DCHW8CZ5#NTFT'?4"/M M6+*N[/6ZUGM;HSH]=X:E5\H4!DYJ3\XP=3=&\HT+(3/H-1>^=8W9NQ%M61ST M(;*DG48:W?A\9JO>(X7$XU42SQI-XL7H%!!$C@:4)3;U/X_7\SFY,9.WV,,\WKK,"I._QQ8AZ9>"ZP@^HA@ MBTM%^Z!Q6[YN?OVVUS8>FXP92;:K>9XO9<$QQ[5%=_OIQC#AK;>NF3]&8 M01D?P>58>YMKP9JZ<^.V4?*-K6Q;\/*!JGI_"7=8+&9RD=<1;S/CZ!O87M?10,BJ;F$$F"@:4 M2P&3N:68";UU_?5-L^[J5=[;S^SBO"KV>K\B?U'>#X(,U C4P92A. MXO02#>=D_()DW&G?_O*4G8#V:6NM$[9=]4F[5V?7 (8?+1^=(E"5IA3*@:GV>V,HRME-K,-FZ*]K\P3#]^ MFPRDM!3XD $O,M7\]F3 .ZN ,6YXT,QE]K-&XPKB@[2EAR#<+BH\+,_>XTD8 MDFV9'I>7Y#^&484\<%YY'Q4CQZ+6$*M7Q0:?)3CR!9CG*:1\T!#@3K1]RI/I M#_OV5^S/F?"(3CA(6IN(04 LNDHG(,4L&,#39&V=C#')UC4]MP;9I^2;_M!N M9S6V65B]$^/'R3-\%X:Y GPY64SK\8I:U7']?D#V/KF2+62!EO!: 3[H6HA, M9I.M8N5J@MA3\DZGQ#JPQGH0O)YW[! KNM<:.UP@>W<_&X6SMRUH MQ*2%4[% 3 5!J8\"E-RK?2::BT' M60]'$_-1V/:WMNR?%G"HP+,%.[9,"MA&'UVOM+Z=C-,Z5\$JF7APP!R/4(L@ MTB1M&6BKN=?6%H:MG?E[0?4I8CP@4W;42G>6ZRW.SS)EW^&TSNZ3\3(??P_S M=,\3][9!VR!N9&C^6+(0\].OI-1/^'9Q$FM8]6(X6M"GR^9GQXOY;$Y&D50^ M*,[9XDNH)=L4J&)I'K A@"V)Q<",P^;7N&T)<=])YY;FKK7S+,R&Y.?9Y+5R M"B136&],MA0&J 2)PD^CG!'6M[936P'LD]GJDFM7)ZGNM-CVMN+J<(;1A<$^ M>SJ?3X=QL;PAYN-D^1F!Q+R*2)[6?.Y/>'9=J93H"6V54$TA\_T*3_;K1!G[4J>S^BB]5'O&:>?8KJ[N)QXL 8N=%.DB*:?=OWX"7+13(D5< MDI;4IUJIA;[W0\0'("(0B/C7?_MV,GCV%<>3_FCX\T_\S^RG9SA,H]P??O[Y MI[]_>@WNIW_[ZY_^]*__"^ _?_GP]MG+43H]P>'TV8LQABGF9W_TI\?/IL?X M[!^C\>_]K^'9;X,P+:/Q"C+]W'_\_'TF6!"+C^V_.OX+P%5"-H5 MX-8[4,ESB-HJ,$XZ:;/0CK/__?DOP4MNT0B(0BA0SFN(101@*CNK3'39Y]E# M!_WA[W^I7V*8X#,:WG R^_'GGXZGTR]_>?[\CS_^^/.W.![\>33^_%PP)I\O M/_W3XN/?KGW^#SG[-/?>/Y_]]>RCD_Y-'Z3'\N?_^>O;C^D83P+TAY-I&*;S M%]#K\_3L'UY$HY_/_T@?G?3_,IG]^[>C%*8S!=TYA&/9M++HS3>#3 #UB>+;[]^XB70ZZ@=(7S+_5IS[?&=$Q QNDT(M!O<5@I MWA#C34_?'O/9LR!C":>#:4/$UY_=%._H)/1;"OC:HQN@G3T(3O DXK@EU$O/ MO8!S"?(JPOK(% ;];W].HY/G,VPOWK][^>K=QU7GTZ=7+CY_H MZZ^OWGWZ^/[UQT_O7_S??W__]N6K#Q]?_;^_O_GT7W>/@-[Q#>JZRRR;S?1_ MN<]K+@R(F-,?]NMB])9^7+RKXN]T:/AMBL.,^:=G_?SS3_TBH[.(WJ(7*AH3 MK8_9>N94+JSXW+O/"^L8EZ,C-,M-%/\"7.__MF^'$Z2K\?CP:9C(97 M_SSM3[]_& T&KT?C/\(X]WA0T4D1@2==0&%(0#]K",$HY9P5)I;&@]X0XF6) MG//Y:+R4S6*UN.=R4L:CDZ;EQ/__$MF70B]')R6@. M\>-Q&./D_>FT6D/5Q.S1PB3JE 61K EC 2:U0F$IAGM<]3&N,9TN0W/[KG1 MJ3)''6GB.DOXMBRY/NJ>,$4Y^@+*.DMSA! %BQI45@Z=5R85VWS]O(KB83-B M2ZE?YX'8E@='^;]/)].Z6$X^C8YRG@D[#'X+_?QF^")\Z4_#8$;>ZL5D8O07 MLA%GSM$'I %,^E/\B..O_82_X;@_RA\PC3[/5?8?87"*/>FS\)8ST%)Q4%Q; M\")J\ RYRS)EX7QC5G4]IH?-T8-BQ'7&RR8KWYO)Y!3SR],Q+<5SF/,5>O;U MEZL#ZS&7DB,Q@DR2S ?'.,1,\LS!D#WA$D;=VLJZ!\R'S5D*:3#69;T;IMV"\E$2K976KO-,-^'9!_QR M.D['%=OU^='CLFBN/0/&1""!>,):H@?->33(G.?"=,&K6U$] AZUT\IUWI@N M>3/?J[64I119H'!)UFEB!J)$#^1/324]@2=*B!),<&7,B,? A!,A:*&U=,5JT#KI= O"PR7!_65]7O-M6 M\>^GQSBNV]X8C^M!P5<\QT9 WY=/X=MOH_%,^M/IN!]/IR$.\-/H-UKKAM.> M\9V.OM,XIV0L.VDR M^&1HJK@"T&'#E!2CO)411')CH?4H^ MIL);QU7NBM9M<8KSJ3*KEV*R-DL$TI$$95@"YY0!C4)HGK@7O+VU<1%!PPE_ MX8"^\Q.*+<1X4VCYV?RX]2]I,"(#Y.>?IN-3//_E:#C%;]-7@]D+?_YI@I]/ MKBV56S!A3JRZ+(V&-09U]*T_Z27G"W-,@Y8NT3(7R8_'@)"C(6WMQ#T:LXL[7 .SB=N(+IY6SS7 M4[TH:1R,VW BHI7FP*@WE M%@YLK[A15U+?&25,C ZSUH"!DP,=K0;GC0&3;739B>(+_W&I<"G#9_],V$38 M'3#@@H'UZ\R,[NE(FV/T!$@S53WA M$R!]I$;5!;,D);>Q370.S>1VB@G-4' MU?>0; \^:'RG> N@A4*"= MQ#N8^4#)*TI.N!@EQ]2:&NN" M>Q TZ403'>0U?, IC17SJS >D@,^6: RMFB"0:BB(%2<&7!&)^!9&JNX4(2M M,3]N1O(0R-! QBO/]__U^17!D*?\^_WR?,/DN/Y_'?_7,*CV41CF7\/X=YS% MLSYB.AW3*W#R\?3D)(R_CTK].'WFRK]Z68<[F-PK";@UAJTSA#L5RI7T85-, MY"$DIS)7S*#CQA1$99G,5LC0:XYF2T.3'GIT[=GGH1JEC981'9"-5)#FG;U?(EQNFYD(^^DA"KW%^/QA]#G6A$GO_!_#>:[;.# MB!*-S(DA"&7(M4C:0'26IKG**GAO"TWTQ@+8#.'N5]>6G+FZSG:HG2[RCTD$ M/<=L-BPJL-'3MI)*!F^U ($FQV*E++DU0^I['Y;>-Y9D%T[WY8$=35^$\?@[ M[?;SL^C ,$;C%43I+2A:UB%FQX IA5(GQA(/'>AY-:*'QX!&TN_ QKYYY%=! M)A.0D1D)+-<$9R8->(,10BDRH&:NB"Z6@CN!/3RFM-5%!ZFWMV]DK[ZEP6D] M+24G7F++9^YAW:G7< M ?AA$6QWNFN8B%L]L9N\BZ.;O8L>XZ9$F3T$Q@EKB-5J2AE0<;*IBD\1^5V^ MWH;O?!@LZ5+0723,IF/,IP-\7VX6QOQX-:)(B=<@N$A(@K )O*^1\!PQ6J-S MDJWCS&L!VU660I?+27L-'$HFPXJ=N![)B9(-K[4VO-*L0(/C836.TF8.;#@Z[PD7R(R,N0$"I]"\%GFUOG>AT>^._(R M#I%[F^BMHS#2 DDVFDE7CY&M,$#V7JT_%1 <)I:BTFBP=9+G^=MW;VWO3FLW M[(+W$'E'%2G(/NC7W (R%)8'Q#IJK@R""30+E/ >8D@6M'5.69X%.8P=).]< M _*8*+&U(CI8&O[^\6^CKS@>5MO[+BE%0V@(@T3N7)S7"A%. N)1JS MR!A;;SEW87I$G&FJG@Z"T!?Q'7W&82)D-^*4"KW)Y$)80^1613D(T@K0S%DO M=?+&M@X?KHOMD=*IF;HZ"%7_.AKB]WGHZO7I,"]1J6)I2509DO>T5F*60#*( M$#!HQK@NMOEAQLU('A%E&JBB@]H.+T;C+Z-QF.*-['5>9EH/)8@RJW%2$H&K M9%:>FW GI$=&FGF X"SZ_[PS"L!MB;(8EG5MEWYA860'EX88%6\B^ P/FTS@,)P7']:QD7CBI/_S\ MOMR =O*)'CFY^4^+=,YUQM)1C+#E./83,VQ"D-&!:;<#CZWIF!)77!2FP<9, MV[@/EL:4')BL,4\.;#:@]>1@;*T MA(=@96SN(QYN0.H@Z=5,?5TDW][JYBJOO0TE0TK:U3D0(%I>0#M>2!1)R] Z MV'E@\8>#(50[1741YCP=DF"^A,&[T?1\ 751BGH3D GDH$JI9F2MFNI-0BY3 ME+SU)=J;<#QBSFRME@X"GK^$06VI]/$8"M:["L K+PPU>-9%^!PO(3;@6$V =9!W%HE:CVD]DJ8WVUJ#$ M%J+OP!2^!2&745D3&*#+=3'S9*0[<@$SF4T^NJ)S\](MNR;%'4&<77-B$XDW MY,+L9L#'X]%X^@G')S==!EAL;P$#*J,0R/ A*YJEWR95*#,(['532 M)3"F9,:8O"J.1R&<2=R432HQK 6FU36=J_?-SM_T]NPZBL@^,!_)UC9HR)4R M"0)3"G0AKLO$@FC>"FTC@-W>GCPZJ:5Z_ZQNYCZ8T4&8_HY!GA>F^MN80/]].+Y2%^,7+*,Q?@K?>E((%@L68*:65&"& MP;P#EQ>..1EXT:WC&\W /V(:=Z3A#OR>[>Y*AVAX;;,*1=0R_R@".)L<8,HQ M99E3<:UO"?Y@]]P/A9(M-=G!$<'MX.6T-ASAATU-HY&G?1EBP!5^^8^UP+CW&?/$?7O/_Z0TYGW&Z1:J6H M7:4S)F^PY&S!,$Z8LK40O3>$+F$B*90B6_=\>(#IC-MP9FNU[#*=,2%+SF8$ M[6B,BEL!@5D-$4UBP:209>OZ1(>6SMAUZ*J)[#O8A&Y)TED'V6-/9MQ(>^LG MKMU']+M-9A2H8^%&@*Q;GT):)7U2 9@CZ-F&8E5K\^1'26;LB!.;2'RGR8RK MBS\R'QA+M4(_JZ7770''1(!0E"["HK*F07KC+NH@;IWPN)'RUDYX;"+YAN&6 MM5,T(T83G&' L-[K\,6"SS5/,SL=;,B9*[L],W;-@UTI;-.$V$VDO7+E:)<0 M^SKTQ[/>#+]BF)R.L:9;ONQ/ZA%N_6F+/-3"W%^/_Q0"36N M.1_#_&XT'"]__"5,^A=R!3A/I<3@P2OR@14F\FX<"V"M2S4?";UO?6>\Z0"Z MJ8)^!O%<>SUOA+/,1PC*1E"&G$'G& >=-1?D2)BD8^O8SKK@=K]M[H^%ZU51 MWU:#.T\,O2M'2Z?L;2P.R/:H-5.8AQ"%!E12:!OIM\UM]Q\LV^YP*+D[37?@ M/\ZE=]/\"46;6%0$SH,"51@C'ZGV9TK>:.=1DEP:4W EF,=,KS8:ZB NU4)$ M\Z@=9SR'P!U(*SPH*QGXHA1(7[(G8TMQW9IJS<#O*BGT< BY'[T?3&KI8K#]'W>3T'3_]5B9[G(6LZ39Z@=3H&E3(M\2D&7UL;C&K#V M%;??$U]6L;:1WCK8BZ\ZE)< +J-4:T#L*.*_!KP]I92V5NTJZC36RYXH9!07 M26,$ZV4M41TM!*<2Z,24\4DG65KG5.V-.G?E>!X X0L]NR,49P0KE:]CH4GF8Y8AW>*WR MU[\VTOBFEYLW4=?.+C='QG*HS=:MRJ[6 ZL-V-&#]:EP5KA.LGT[A(=WN7D; MXFROF'U>;I9>>Z9T K)H:;7FE=6&)4 GDR]"*-:\)<(CN=S<:C%JIKZ=7VYF MINADHX?$H@05E 2"6R_+T$HJ70B!M>;60[[1O.;*V6#BXW7SAM/_OVW_LXII<3UDCSSXU5Y[77+LX@'Z=;R+ M&;8.V!UF4ZT$NO>\JF8:7R??H:FZ=I4RLQ)TO34H0Z[+=@B@LBS@:I?WG**) M+C"317AXW%H_\>HPJ+6)EKJDU)OAE]/I9"8!OMBU+>-1<%W QE [L40-P90 M+*#W+!7C4^LPP2UP#B/GJI$B5U%F2RUT<31X S1QUO,S)>F]!!I>[:93"QTQ MZ0%UYJPHGY7KS&"Z#N>Q$>0^6MC!%>Z+E0X65Y%_&X_(ZIQ^#\-<3]._5#D- MS_YZ&=MZM[DW?\FV%[NW'-;5.][2"2EXB7=UA1DN5O0$MZUTOF0/XJ#*P;#53V6'1K1LQW(UJV^5M MY1O>X?27[]55/HKD'H=4VQ?(0NX*3=B8!3FQUD!0HM8%1)IC!47PK7OTK8]N M]XM?8\9<7?$Z4DP'.^1*I+.^+#W:OK/T5H 5H8"JU=V\(TEHSH75@@3D6M\Q MO!W1 5%E2UVN2YG-%='%A>?SACTO\! AINYN)?Y@7K:EFOU\YF%[2 M-KO":)A>4NR5M@?+/7VHMP.CF9N$U=/951:8P:I M#1F:KB"X5")D[XV7*$H1K5,/;L/S8,G43 D=G+JOHT[K8=G5SOF,+J1-5',IM]Y5#6LRS&J1#JXS--!K% M2PW2T1QS06JP0:#TV2F4K4^*UX"UK\.:;NBP[M)T3[5T8&>M'CT]8!&*60=B M1\ M!.7A4:"%S)O7OQZ5Z1]AC LHW$3)G+; "ZUQY*H1*[4K4(+7A8LBI+@2)5Y5 MOOC2L/6]]?X4W]+S M:GG;,/ST<@[/=2]10B+PR-CD_+,@/<\@JIYID[2CS2 S)%E M*9K?SEP?W]L2Y'K=J4X4U<5%EM50SX&^"R=GX8DU MX'9U V\SJ'NK*-6-ZM>G6#.]'0+=2E"220$BT]Q3229"; 3M!N0(J)B$]\T+ M61\"S>XN!W68+-M 71VP:WG.M3PFN8)Y$0K-VFOAA /O:KUO%03$0LZE1&=8 M3M$*W3H?%6>0[72S,M[3+DQ](2 5AOD%F77]X:)"3(MP]2:/ MWS9L?>^A7 E?,T%64>]39YT9;GCZ/)Y-+SS[V( M$%54V@>PR6;R(CC67M$"K))6,VN0^];F[VHTVY^ST@S!]V3GAOKTV='?TB'^ M_EOX/J]!CZ$L)_8/_S\13ST5?Z[>=94[H:7_\0IO@;N4\UF")-B1Z9A5(2.=X& M%7B9(VB?7*0A9*:P,7DVQ?A@2-2I4_:HK1QAGQF MK)6+-'V7LZ;OE!-29]H_6MOMFV)\'&3:5CE=Q-(OX7TQFDS)L/3)9K MAP$/7F2$8EQP1O(LFC>4O([B@1)B8P%W$"F_C&BY2_9RD*P(8<'5DQU%B,CN MIQ^EM$EEE;/RK3VQFY$\4-7?2] =%/GZ[72+ AEUKI+)"GB0P' 0^VXYNK!H$L.$I?((DM2M,\^O0/3@V%+4^%? M)X?9*JM\D4#PZELB-^UHF-_'"4ELBF^&7PG@:/S]:%I%4N\:_QJ&IX7^>SJN MQ8 ,B\)[!3EQLJ]URA"*Y1!0-*BEAQ2(OG61NG-2'9U/M_9@K&U>/=] C\9 M3WL?I^2/S\JBX.CS.'PY[A/GYRLL%DM!/YP2Y%<"^3M-;*';46L -HQ\S4'/B7(2T/ Q9 ]0F)^%W:7\5D-V> M^, K0S96:R 9L]N569%7#9!2B=ZWY383; M_')B&/X?VE5>A$&_C,;#?CAKAIJS4$Q"X+G6'4EU&]3T'T)] #; +I75Q6W8E;!7@%[.M35@=Y11=T_( M^\FLVPDMUJ9B>YUV<&QW;_B2DU<7$T2=>.T[0LN_8QXDAE2BI.7?M(Z^'A05 M[\B^^Z&8N($J.V#@,O)SWOXH>\Q61@F,,1*""P&<9;5A6TFB)!*(;!V:O09B M']&V':AOU%+V.\BN^S@=I=]K#0,<3^I5^.GWV6_>?ZE/G6R15[?>@[?-J+L' M_"NY=)QC2HD5IDQMY1,"&=W.HJ/E0;H84F^]5VQYB^DXC/&7RKF:HDE+8)A/ MA7$@DVZ^J)U_9'&B>/1'&.?SZ*!Q*O$B.)C:JTAQZ8A7*4"(21EE8BTOT/IV MT]:HMW,0[_OZ=Z=U)KXOL[].CKZ2 JO!_'HT_EN]!'V4\XR&83#_0*]8FI2> M%Q"AGMQRKR$(K8%XHLG55EPIOI['N2/$NU];=TS@R_[N(?*@ P>ZJW'V3!8L MAJ @>UT3VQB'H).'K&V6*)TC!_)0EHX[QO)HF']0I.C :+WWN!;[\FP0DS?# M^7GXO(H^;>N*AUB %X.@:!3@/.=@I64QDH5GQ<%LD:N'\43Q'5.A@SA5VR%= M23>=_?$EN31GG9=ZKF!402'D4$C\FKP7+T6J>:>:.^V2#ZV3_'8\Q*=9<4 4 MZJ+.0QU+O'NX\>IP9U_^ RG8?:\1Q$#3U"TR*!2LK3)V0C& M1Q.5$Z64UO=J?]*-T[?#-/H!#^%\6>< M'J7C/LX+!].PRFA\4JN.?B+V3FK$>7GS,-*V9'+4$+DEB\L4!H$F..AZHZBD MXN)5Q[5Y /(^N!\-T0^=$PWSM5M&7&=>!N8W9:V!OQM-?\5ISP9#6UAF@+Q. M^XPU19UE MC09; E=HA 4>BP05O9K[3(RC4QI+63NO>,?(G^;%P?#BAH.P>Q_[[F2TOX9O M]6XQ/3R2:NH31J?3LY'+**1!!,0:1:#Y#B%Q"S8591-/JOB.W8X&HWB:'0?) MEQMF2D=GQCV9R17R3H)7M<-6T!9B;1I:7'*NL*2#VTUZPZ.A8D.%W,"3[4]? M:_[>F\GD%//+T_%9V'0^!2XF][WZ1LSN3VJQA2R$PQ2!JRBJ'Y%JL04--!3- M8D;Z;^M+*)NC?'S\ZE:1-W"OS3GF;1*;W'%NNQS*JJ/;Y=]_&_<3]I0) H/W M59RZIJPEFG3D#K,B8N(R9B5:UV#<[0@?'^MST1?G7P9C+[C,OA_ M\^C?C89?<5*'4,;JN>59-*_"[*F&T;P-I M+\K>=W6DLSJ"@S"LW0)FEUVYRLHX6T#D'&D 2D%TUH.P5F>3HB!_NS%;+[Y_ M_QV&=LJ JQ4=[ZN)#FY3++$L;K2N@Z:C<@>7D>RGBL']-;-"Q5N(M7ME6\5U MU-Z 058YS!)$(PQ(X5GB)H046S??+]M"\ M?0MEC#J49,/;GDM\@E\\E)P=R2Q+"'##8G(Z5!*3^YE%+>04 BDQB7IK76?G MU]7QZM?\T-IM)+TN^AK/K OZ\&QEDC1 E-J"=9;&F$(&)W0"RVU!)/LB-F_P M?@G XS;1[J^+?=P)7"F(\V$,\Y4YM,Z8.K+TNAC/?NS%+6C2+'C?6,?[N+%] MG[$YX4W.B@-3AM'8C(4@A*#OBF*99:_%SF\Q'0QO[S"!#YRVFZBV [J>A4#/ M _L+ X%)M(YQ 3;7IF&>9.9*%""\X"99;*"YFPIMCDZY90 AHR#8DA+,3DEP%,(@8Q9'G+KT^8+KW_<)O]]]=!! M28,%E*6WNP:8CBSU2T#V8V+?6RTWJW<+F78W]Q>@BE6**D P2$# M'D/DAC&KM?WQ%'R'+=J-?C<1Y>X\GME"16L9K7?OA[C8?@(M6JIX"3XF)%O% MT'=)(;A(%@MR,K_UCBZOWP1O]_;#%HIJG/T9GX6<=BTT& MO*Y042@@0X7\M1 <RQKK2-WM#NY\>6/TW)LHXN&Y8)N!/2/ M_O3X PYF\I@<][]\&KT:3OO3[\L:UFM ;=@H:4-XNV^?U$"AM]&C VUTO;K< M 5D9&T,N!7*QU2$G_SQZF<&KJ*7*B4?>HK_:01#GEN9+^^7-)DIHS)=7WS"= MUF/R]Z7T$XZ7(;B0C'8FTVR+!1194!!H9X:4=$9'VV5)+6AQ\]MWVZFI4V6- MFDIZ+WT#+L5IEST4:H"O;1>!NU_3OJ? AD.[TF&@>A6D+V>D4*0EXZ64!9D2 MN7"=;;BAP\#=+]Q[OP%?F LV*K#1,U"Y^'J)$\'44HDF.S2\=6[I]JBW"ODO MR]&L5DY/.^%YJBW6I"/[4F8'L60+Q3&94]"V^'07Y==\UP&&_-N2YE* O['L M#ZDZ_^)*_=G(3N,DC?NSLXL/88H]:3AC(BDHA<2EL&1PDEQ=FV1PW#D7FC?K MZ6HLCX:S!T6*YHTYMZWG188-GM_6GO2*D<$P7T &1N:S(TO)U<1+6>ONAI1\ MT'&M5;,ULD?#U_WKM6%"W7:#.=M4ZO7G]Z4V"1L-Y^?)EX;7\UJ%R,F@U\%* M4(JV&F\P03$N*A^D1J:[9>VZ4)]HO#_-'U(I_-4#7%;PT3YDVE@XY%1[#I=0 MRR5:!TPQFLNA"%UT%[9&)Z-Y-+0_,&(<4F7\N[H<"9K+)B]+NBG&.42?"]#$ MYMYPHWAX:GUUR'3?-RFZJ)Y_6U6CR]F0?PQQ7$./U0/N%1MRQN3 DPL 2A/V M6(^YK IH2@F)X+?F\OV@/CZJ[D"E#6O<=U]-Y>Q)\W_T?GJ,XT_'8;BLL"(U M$Z(F:CKC1=UO,H0@)8@8G*B'^Y&;QES>VV ?W6SX,6C5L&C^GLJN^&R8%BI! M1-K,E!>)1EL,C3;YF&06^FHT^G GT<.IVW.0,V=[ AU,]?REC&JK]_YP]J^6 MHQL,1G_4S7?A[M0&=Y]&-&+L?\5%T;@;V:.;0(0I_(U8=3(7]*_[3Z?1X M-%XL(F>1A'FD3,>1.&UUAT;V)XKOE0:=5.V_[XCF M(YE'WY8UKWLQ:_[I%)9263 J)3Y*HC6G!1!O"19XY!\W2U5\^^^7QM#$^4WB4) M?MQB_8%Y924Y%IZQZEU("3%8#QC1>*N#5:IU3:"G8OT_5#3SWG3IHEA_N]N+ M4GJGF&5@DJSY=") 2#:!CEQHQYU-V/I0[#$6']]J2=^+L@^E^/CEBF-U>HEZ M69KQ6O5?9 D!M0.)0@KC(I/-@R0/K+;E1ARXM;;E)KKX46H#KC.FI]J6&]6V MW(@FNR@2>!\=_RC\-84%2J;7EP MM-U$M5W7MES<'Q8)I93UQE!F!53Q'"+9Q2 ,YB()E\B=)8.RNG@[N*E9@E8K-3*!$A6>R"#5X*?1BM+5X^-8WIRFJ[MR8Z*$A^ M=2M> \UC:1JSD69N;RAR'[%VWS3&::0=5&E@*E=4R, KAE *D\$G#"*T/O,[ M *NB*QUO(LTNFL;8=Z/A/T_#H%_ZF%=>H5_L1;&DDNL]^AQ,[9"L$H18"^5E MZW/=IM"O=QMWTS?OO>'(1FJZVDZF,QGOI9C+[#?7]L!7W^JWV+2>RUIO:E_2 M9?,!7JGJ4@I:QGA12ADE;'2H:77(P4HC==+LAJHN:[US[X5=9K4R@B/C,X=: M*#M9\)9GX%DF'A@7R>^\Y4)GA5W._,G![#,7KQ#DC+KDA5P41O_,J;F M-W.BX84Y'NN]X-8AS;60':!?U99IU\*;[176@6.UU@G7I_#M%QR2RJ:O29 B9B-#;$R[-L@?'2WWH/ NPIW-?&%E/4JC M(B#S$10J#Z[>($D*D_:.(8WHZ-.>500G"%_(.4(@0=%\U%XX31'95H'Z&^!\^,'QC;BQZ@;/76P6JZ MMNQ!L0:XCL)FMP+;3Q2MF1K7H\<6.M@Y43(&7BR!=%P&4/4X(0CG(26G+;G0 M)6%KOVL/!+DC K9?P_AWK)TM%K;_ I_.@@6' M H1"K%?HR&=EW %GP01G8XJX5F'M30SG.S ])$(TE7\'2\('G" ]\)@ OL2O M.!A]J0*X#-%IEA6+&7*<502G+\%$76,;.ACNO4VM%XDU8#TDEK360@>'M'_# M(8[#@! >Y1,2]60Z#K5X_&60(3%ADM+@?,D$4C%PF 4D+Z0BW"J7UK=#U@+V MD,C27A,K:T>V._GY0+0>GF*9Q:&&A#A-)W_TI\K89TY9 G9HYD"K!H=%8J:N>5,]H)+IUGW&-OTY=M-]E?]B?A\^F'?< ;&UIR\P!.$6C",,^5UBJOZ4KWBXUOXEP M6^92CD[)IOG>^_O''B;-2]&U:W7M/8M9D='"!+C@ WEVAG%S6V[L!-.?/X^^ M/E\\<:[AQ0_G"CY_WVZ[W#42_&@KJ34T]68=]4['HR]+!YP9G:(BGU[8*&L9 M&PZQZ ^H26.BI3\6M<;[NI8>.&=/[(&MY)?\UQF\B-H/)-WH^'?/RZOSG ? M2O8&M"X"E Z1UAJ30$9>X0CI]'HE!F]X^(^LN"8":]V5Y]=^S@-\%2;3&B8K M%=LRWE[;(AH50!N10&5?B%8)(;B@,N/)RZOMSE>H<>4K?GAEMA%>PX8T=9Q' MDW[X+:1^Z:<%F(RR1"L8H,@$QA*L8!V9_<7*:#0!%6L%7^Y88*^]^$?6[_:2 M7-ET98>QXM]P7$;CDS!,^#X.^G,O<)ONKUN^L?-(\@8#OA)8%H:FJN'!.R55 MLN@]^*7=^.I,>%MB&3 M8%ADO";[TH:LHP.=2_#&HJ '[T-$NX]/[XEW*R+9#=760>QZ+9"+]EWA,_8B M2SG(Z %]HLU$2P<> T(V0B&Y9D):NP^6G4-\XEL'JNPD-V5+J*"9R M0<8JJW5DE8L6G.;UB\\ZI1B<;7W"T@K[$U=WJ?P.\F:V'L?\4 .955B4@ZAJ MB]O,!,2D#1@E8Q B<\5:WV]I@WQ7QXD/A;:;JWO?1Y3-AOYQ&L;3VM5D%M%G M7F&(J1[>U>-?'P4XSA)DI*_.AV2:MZ-O.X)]'8[N@X*M9\']J;#2#CF4^$2/ M[SY"T>-[CE%<'?25*$4@+2IA6+2,*$I3O$4IWB*4SS%*78=I]BA.T>_K3O->":3VEFU MRY/FE2_KW(%;;YA7/#=;C-:%!Q6Y5]%%+TK)UMC(E1;,\;L]MY6OW?:N^Y7' MGL\;%PPO)3E07"I0!0UX9P-HP;-5LK:?:WUY:36:[>_T7WGRN5W$>UHY%R,/ MP!E]4875R^?2@[%!&J=1Q-C^>O]J/+LW$AJQX/HU_T9"[\ /NH9MOE*G0F9$ M<1)DH1V#QA<@T%(-6>GD1% US-(U%7:ZT>Y*]9N+=]\!^YH$]FOX[]'X; V> MUR$6*6&D(3!6$Z<3"O >"Z0L7:%=/W*^ENEV1S[=]3?O*U#>0I6C9B)M?&ND MEAM^7RYA6N8-K@&JX<6AE4!V?W%H6PV-NA+O#G5O0BYDJB>6(G%;D^7.G -I M9-"!'%"C6EP8W+'.;[DQM".5KR_5UE<5EE#>#Y<7)U) 6KAB@W^6FW/SHW68^-Y+WJ)FP=F&L_?+]K-F0-R9;:2/D7"M'!4ON M?:TPK!0C;YO')&WK8Y!;X#R 3;JUT#N(PET?+?W#!>O7@=91@<=;8.VGO&,S M%=YIW6\G_TZ*^*V&**/%R*2#8$(B[\8(B%(YX,4&7I35[<^T=DZ-.PH[[H,9 MFXB]"T8L=K5K$)>5PW(4Q6H-J1@.RJ$'VCXE9">-EXHQYUO'Y.^ = "!H/NJ M[RHM&LI^-_;%+SA,QR=A_/ML2JC,H@^! "5M:4K0/NJ#%R!*4LPS+@EA]T;& M)4P/V]*XO_@;7JA?ZJ'B9/^H3SU?"4K*@P?^IDNL;9^@:#[QM.QXO/F6LJY7,%77[R M1A-Q$Y2-9EPGK>S;,KT3B-L<2ES()IN]:U3BKO?=8#-X;;@S*4#C<:"7EG%Q:_KETC _OJG_P]02P,$% @ VH/X5C +'#FYS@ M/;8( !4 !C86QX+3(P,C,P-S Q7VQA8BYX;6S ME9E0Q0?X0,_.K"E?-;F7E=)FJKJW+>TL#"]*G H%-21#E>I/?P ?$90B@@08 M(,7:-NNL3(D$?OX#X7# '>[__7]\OU^#1Y$7:;;YU[^X/SE_ 6+#,IYN;O_U M+[_=?(#Q7_['O_V7__+?_R\(__>;+Y_ NXQM[\6F!&]S04K!P1]I>0?*.P'^ MGN6_IX\$7*])F63Y/83_5KWV-GMXRM/;NQ)XCN>WC[6_S?]*!"(DB!/H1CB& MB&$7TB!",(S]V(^X%\2N 0ZB,<1"FG,,:\: M7:>;W_^J_J"D$$"*MRFJ?_[K7^[*\N&O/__\QQ]__/2=YNN?LOSV9\]Q_)_; MI__2//[]X/D__.II%V/\<_7;W:-%>NQ!V:S[\__^]=-7=B?N"4PW14DV3'50 MI'\MJA]^RA@I*]8'<8&33ZA_P?8QJ'X$70_Z[D_?"_Z7?_LO -1TY-E:?!$) M4/_][\A"K!7"5N)]M8>SC]+,U MN#=20XCI 7>Z.1MR_4&]W_"YOMU=5V=#GQZQK<\B*\EZAL]BWTT'\EK]X)/\ M6].-:JA'F5;]-*J[ U5\+\6&BUI;/FL:I/Q?_R+_MMH6\):0A]4[D8@\%_RC M7"#OQ0WY+HK+#9?_E6LA3\MBY05.2+V80U=@)MS\[<>B;2:JR@ @O(AJN_@0;O M21(S]@S86AD56?Z2F8P9,[.?M(44JJ(E(06MY&K:^ED9=#^+=5FT/X'J)]7, MU>[NYX-OXC)O92(Y&QB@YHF?62:MJX<2/ANK),_NQPE?9N,^IWH0)*B_@"SG M(I<6]1$!#S[ZKV7&?K]\>,@%2RN;\(NREXNOEU^^_BKNJFKXU<,-F=X-NUN$HN&PACU(W?U*'*::2^PVIV;S),NA E7BNW]/<0XZD MNF(.B7W/,=-8)_M:GH*Z/%8UB@B+G)A#1AB!*&0QI)%+H.04^42@1(31 MJMP=-NK="E\3:_,C&OP"-##MZ>U!)BRIZ=/] MS*J5!\5]J82'7QBG<[^(0LB7[BXW_)UX%.OL0;DRWW]_$)M"K-Q(,"HB:9 + MYD/D^\I(I,KA2)CKB2A&06RF=WO[6Y[N;>%6AX]\#]A,3?23K*B?J_'S=7#R(G M9;JY?4L>4KG07M*BS DK5XBY+*#2WHA]N=]$02+_%LB-*/,Q)6'BN<*+S/2) M?N?+4RYO[^2_Y'XHW8"L!0U(48BR=G9TS)*_FBD<@R'1TS[3T#RQ*FI!@Q]: MV#\JKG?(00,=?&O!6]R(FC-F2549=#RKWC(GY*42&]&"^8GQ;QN>KY]NOPJV MS=/RZ=??R^L\9>+MW>;V6DX7#:_3<"M+D3\^HT_:!IF<[:-<3L7O&KOG&R./U M.Y*+-U+I\+?9O;*:*D_599ZKT56V5/'F:?_,-7E2/[O\@^2\^N-&]BIMKVOY M[7R67].[[)ZDFQ4/(I_0$$$64B*W5Z$TAYCG0L0#SP_B, A]9N3GG@#DTG15 MA10HJ.!;C?#THCW?2&J>YK_R^$Q]4F0P-.8'^Q-R9\L%, 7$>9T%$Y)\X%:8 MLB]SNZ]J]!?9>?F.E.(#2?._D?56Z!I\)UY?FO94P$"%3&XTE7^N@@P49GWK M[A15PV:=!99FT6%[5L">,3NFVP %HVRV4VW.9JP-"-6UTH8>'7N,_2@V6_%% M*"T@C?%.J,457:>WE6Y1QUU,Q4ZG]_*1J^2K_&F1R.VB_%T=K^ZN$HUDI MG!5\OX[JPZ O\@NKS9O27&G_J^Z>B1KMX)QPA2VI^"H2S+@H34OQR"9FR M*_.SRU\W#ZFZ42*M;<$_9+DZ4/T;67]8DUO=\\N>)I9FSO[Z^?IC]T93!1G( M/0CH'B0/G-D9<3A\L&F)OHGUJ ESX)L";^F*F 8]HPX^^]J=[?!30[CN :C. MXZ/O3V1;J4FNR9.ZEM&&HGM"N!''/N1,!?D')(%Q$L0P0*[G$B^,B.L97YXX MTM'R++\6)WBH@1H']Q^C4\\@.Y^BJ1T=+3<-PFEB^GLXL!?0?ZR3N:/Y>P0] M$LK?]_2XN:^TR%:NOLJ@J&)[FYO]C(2$AFX"A>OY$$5> N67X4"&@R@*'-=/ M(L_D .Q$/TNS$5J8U5YN1,3^*3KU)K\%DB:>_3M^=A G2(@P0(,E!7"JEUDU MP("H+U7 T./F6P"UK6A.M91?]?)[6NB:_D=>7=IT[D $[X3L\3[=U+:J0JP9 M''^*IF'K_DR&)O?L]9$#OBFXENSX'B)&V>_'VIO-;N\1IFNO]STV('#$>5. ME!BYKK1Z7=K$[X &K$$M_U*4%R#= 3=?#>SR:3W?P MA]L8I]!DF[N+^76>VS9G1XB05%X^@\CS(HBBF$&IO!+H^L)GS"6<"<\D<=+) MGHQ,H=D2)Z4;J:/DOKC-:JV"*[)J6C4_^$'4\'^\ !MAN$$[S;J>MK+"Y<2J MJ8NQS7+]0P/S='9?8R4T2(4EC7.ZGUG5RZ"X+W7)\ NCO3'W:5E=8KO<\#JR MZ%9LF%IR/8^0*/#D)LI7Q5WD/R ):0C#.!$1X;3JN]FB Q[_IN3/)UG[)-!TFJ-5A;T63=H00,7M'BK M;UR!%GR;J].#3[;35QOP-,K'H=/^;#X/ V&[/A"3UT;X+K=KX3HT<"]SV<7] MIN0FD8O'WU[:$:)""11,Z(+.'7=PT[CKQ.GK=+I\:?@QSZ9J:E?F($M6PQ+[ M^1CGT3S>Y'Q.S5Z1GODU^Y\<9_B^2PMR>YN+^A;@5=)<%MRO6T'@4A2[">1$ M2.O7=0.(DR2&GA^%"4T<%D>N43VH@0Z7I@>>XU57&AK$>BO;.-+U[%^;5$ZL M)\YDT;Q"E"8UMBI$#74W;X4H3>$/*D3IOF>F:AA9?Q].'G,J=\SGK7)T7"57 M22+R^O9RFO%BY? @=ER.H8^B"*+$#R")J8 @&98 MKQ+0BMED>GC58>5->>6JG>4.[S.8_Z<-L_:".>DPU*NKZJ):,IW(J8HZ_]=I M.IUEC9V4KW9!GK:3\V*5,U%\SLHO*DP_%U\$RQY%_K2ODC0BA+F_Q:4MI=W@ M72ZA@TU6@KP&#UKTX^*;!ZC5."Z8A-6ICQ"ZT="*4 D;?'E!*/AFM?C4.++. MCI@>Z.95 JGU1#\57ZWYMN7R4KM$-3["F(L@@%&<,(APY$$<>QSZH2,\[#O8 MI>8W)?O[7)Z#SF8]O&'*]8XFK-(XL0+JJY-UE:59.%]_0A20#+ON5AS6&)E88)N1H*P**Z +U)K"M+ITA+\57DCRD3;992-W18$#G2_ A=1VJ*2-VV MH"'T/1[+'T4N22*KA0'&H%R:DJE3-S]TDIH^]."LSD9XL3Z)HA!B5\3JDPIG M;\W1IYOLC;@F*?^'(/D'.04O-_PRD7JT_??*]0.&4.S"T!,^1%2:DY0$"(H@ MP5Y B8LB+4OR?"A+6PGD3(FJP#$5DBZ(@FK@P3AO5#2\4+-Q/;$ZK^6XZ!34 MJT2YV&U]GR[ 30;>2.TL!;H 2@2@9 !2*%!)M?_9; -DX$^:;:!F\,];FQH^$.^)VYVE:]789MJB:>'79<]1- M66G7<6-"B;W+F:>[FOLRYJ#01RY?#K\S3F% MK/S0I9CC&%*D2D>[$8<$)R[T/,RBD-.(Q,%JHX+-!+_1/QGI[U5K.N!Z.AST M/=W44+D_E'_FCP9U9>OFHLRS)"T!6Y/TWE"M#)"OIU@L<#E;Z88-5^<(BK?W MWTNQX:*Z9:+@@Q8_: 2X .U5XRI5;BN//>VCQYLE_3/0V:P:2$_PESI(\ZVQ M-ST2SF-*.4Q"7^ZW$^9"BMT(XB 4S!'2='&,0M=/ M=[6T_?0SI$!!/2-:O8=A/35CA[>)5;M*IMI:[&=8*LXB"('13YT(F]$"(:*G7A"Y@XO@A]A)"3.*/* M"9[J<6FJH[V7T4$\LO+?28[UM(95YB96'KO++#5$,,F>1YL0V]7T3O;W.F7R MAL0_6?]N\$7SL)%?R7]D^=MM4;Z]<+Y?$QM06A281025V??.51 M+_#4O3+?]2E$3NA &H8QC!V'1QZ+ N$9E1<>B6-IT_[3+NU="Q3L)5'EO6I9 MU)F'DF;W% ??:H$,]R!CAT_/U)AA4*;V[*GQN)ED/(SME#/9M&2]C$4QJTUS M)E4O+9USFQNI6D\'BQ/*0H]'*F*6!BH)<0A)P&(8"A_%U(T12A(SM]&?*3"_ MC2'O1.-K5C[0H%93L_T9 O!G"[R?+>)^*:'VYC'VUH/KF[N,65XJS?0KR7\7 MI:JBM$]EK!)Q/:^LV"38=B,<19['H(@(AP@Y+JP<2HPEC(G$2XBO=7X['L+2 MS*Y*B'J=WXO1S=6MPCY>5DHUN@L^9ISZ5=$\[$_M@!I#_'#F=%LC8'3E?N*1 MF.U>OATOSX+= MX0:% GX!'D@.'JMJLS^D&\"S]9KDA;JV 0HE@6$*6,WQT#-U[7,\\9JR)_=K M3:[$+#]G4*-NBOI*W/7M"IO1"R9$68MBT.ITYF@&$R(.HQJ,WK:AL:J65SS! M'A7J#%(@!!$EU36""+J SWT?SL_.5ZP5T?_ H(+ MQW%J+50 LBWE\J*J+_T+V&3M3].B4/>\J]SWV[)0,44JI)H4ZECL?V[73\"] M .K+K1YY)UBUY@"__JEWCFZK1VZ,(C,>C[FU5@7P GRLR)U*2SUC81*55/?P MBOKGF8C]RN;YHV/#O1^E797E3Y]%Y[S.#QU,0@83+Y2JQ4LPI A[,"2>'PGF M_[51 5'LZO-E_41DRE#I,/ M?,XV>?O/-Z1(BQNU55MY)*$AQ@F,21A!A)T(DMASH>,[B)%(1(Q3$R/$&K*E MF2Y*L':-W*&O#(PN?O"M F_H%;4WG'I*ZE4&:6+-9FE\C-6==2XMZ4A[N&95 MK-;I?*F-[7T&\QWZ7HK-YTKSJD744ZE&F;2=$LB%;CJ4D@Y M0SZ1JIK*APP4\HE^EJ9>&UA6CJ-.42L"GWNQBV!$7 X1CP4D+'0APV$;FN1)J==;ERS0.?$JTR+0X^/<6F3S?^4\^\M6:=))ELGK2N.$H>ZX&>48/O6]&;A^SR=K+N>NR0=EZ+OM)Z'?.WOBW1G]K_WHGWM8!YXU MSP-^+;*JG*S*QG1Y7^HF^W[QVM*TU_7[*U!7R7V>XNP^VVXT#P"/D=.OO<[D M9>I#_E&4&*7?/B'\J!S;+]N:+9'V"2&ZV;)//3)G#9WW]P_K[$F(MBJ;N@)5 M)4/[(,WV[ ]5(Z")"'Y'2G&3R4VL2!]%U5CQ=4O_0[!2_C0M?K]*/F1Y(M)2 M[G97-/&=A"$7BH3&$.'0@<2/A-PA12Z-&?:"P)N^!,\TPBU-2;52@G(O9I,N M$R2MH."A#?[G4E109B"OA6T]H$4M;O4;=<,Y2U2&A$;D.6K&3/0EZEB*RX*\ M(&5OH4+-[NOLD-1D^ 0[FO974Q11*F]90U7=<@$:LJK?J*_S*@$?_D_X.N#[US_2E8GGKG?!:IYEG/ M#1FRET.MG=\AR.+=IFYZK@C@C$ZZ4X=IV0H01#S)@O MUP+),PZQ#P,?A;X3"U7O9U6J,YMY"=YW^:>F5T^UVR)M8G6^X^M+AZ\J/SVX M5&9/5;5$)9E\FPN>EN!35NSO,%NM&#;(EKUB8:>[FKM.V*#01TJ$#;]C[OBX MR8FZ*B#-Y#=/'S>\MF$TO1_'WEV:6=A@[.ZAY6=,GX $G#ZF?$O6^HZ0HV0- M>T/.Y6EB3:!!D3WS;HB/45Z2HPW.YBKI$Z?K+^E]SFSFA4Q MN>$3(84B$.IF9^)#2N4?&'MN$/NQQT2H,Z\/6E[JA*[1Z5 =( MMV+#4E&\$[3<7_)N EAB0@,_##SHB-"#"%,!L2 4.H0G42R"*/*TUEK3CIM/X'8''1"%_0D4.]AF-KHV_WKV^A2L3JP#?OL*]IA!"QHHU-T\$8.Q M6,;6NBE7EBQW[6YGM>)-R7AIT1N_;V[=?U9'V=EGD5T^WE9A&JR4UMSZ217; M,0AS&FAF:?I&PH4JSN>S_/^E9%CJFQ<.M09_55O*.!QJB-3A#8%%/B?6-':I M--HE:)(T:L,PU/9L>P=-(;O;"-U79BXB?/6@'BQ^484PBH^-!^WO(KV]*P5O M/IWJE\J)MKMR)&VDQ$.1Y\"8>%Y]VS(.8A=BWPUH0K&;!%K[EE?"OS35UP*& MI)FLMPIR'325J/N ]E+<-C;42RF?"&!'>K#*^OE?>29D>N(5XVU%[\M,DA=5?LFCF2>GH=<@B'0: MFF>*[[1'MUFHI3EIO5&0!LW-%Z!H+N.SV,$1KX_;7GT695VW5+G35RQ % F4 MP(1@ 9'CNI#2*((>1V&$$[G;BR*3>(UGK2]-I7_>7;0WVV<\IRSRY1MSWKMN:H6"\W'<&^.'UAF#>SKXD%?:/[PS_0 3I)'DT=1FSGBCO6U>ND?^L1^F1&M[YWS+W) M;^_4T1J_%B+_)<^V#Q\V^\JWFI[DGB:69GPW4('""BJP%^!#EI6;K-2T*X44[FMW-H>PAG!=9[#.XR,F>O95K 4K!6_2 M/WZ6HZ\]Q8^]O+C)G=T_D,T3:*&"!BM08 UF]U&B-.;UN1Q-/:-'T6,VB_LH M&#=_C[8XW\SM$^C9G.U]\-SKPNH8\[#(4!5LOE]YO#AR0P]Y,' #!A&.*22$ M19")Q/5#RC!RF-F1D!F Y9T9=?+D5_XFY6)ZZ7@:>V-8:TCT-@73T3RQ1NE> MSW[;$GQ85J["#ZR:#.=19_U:L5;GKW2YV(28TU>,C5HY^^A,]E15#KG+UO+] M0O58/NVVVAZ/@\!Q"'2P$T,D@D0J.H1@XD:QYWEA$F)_=)G>WJZ7I^(^?;Q\ M\_'3QYN/[[^"R\_OP->;J[?_[[]??7KW_LO7__9?8\^-_@6\_U^_?;SYQ^BS MM_[!,#Z1LT;P?.=TN[0(Y=/4A7ZUV+%_E-??[6L=\&F1T7/LI_?^R,/ =).6 MXE/Z*/C'32D_G%2JPCK9_J=T(U3=\F+%".B,P*:Q[*6>9WZ>-8"I>8' MM08ERWH-; Q(.#G!-WAU9;:/)>E5IO>;"''&$PU75HSC$B=1!V(=8 M^!P&(4(Q"3B*'=-R$(>]+,\PVF7-JU#NT^.I'#F&Q1Z.D*JG5LXD:F(M\H(A M^Q<+>\2W5=SA2 _S%G8X+>)!48>>1T>>#ZF6OH@VBRY_MU6E>^K0Y_IZA1/Y M81#B".*0JR@A[$#,0A\FCN<&2" <.6X_LH/NI_N MB]]#KFJHMF5AE#2&QT"#S'NN+VV\A,* !0%$&,DQ$))Y.0:4^3%C08*,KD!9 MH7Q&LV]&KC5/V6PR./7!6J61.V!!C79W<\?VQ1Q=;FR=G WV-^]AF:[X!^=C MVB^.T_!?A-RKILJK_IJ+_JF]D..9-U9K-BBSI/'.@C*K M,K1!VDL]::7-,XSDXT?7)&8>BCF!8:)N:H2<0R(2 05W>42Q$_@T,'28_HD\ M!UVLK:= 5)C_.L) .\[LMRNQ>Y*T+\VGEA<@GL>-!$;C2 M1/%9"*GKJBT=#YF+O3 41GNXWMZ6IF+>26,LSP4'N7@4FY[SCA'$:JL2.W1- MKT?]=Y"PM!%\Q0GSB8PI)['&((I? F-,(>LC'Q'-)$"7$^$S:",+2 M-$Q]SIK5*(%H85:IM.H:A*;YL\Q'Q6"/-!G74Q]G6\QBU<R/)3 'XH_BT'HEOAN*5 M0O)'474Z-G]<G.UN>+E18U90-@\,P6[H M,=^%D4NEKJ&<0QSC" 8L3F@4488=93 M?HL;O(GUZ(N2(!=@)S),LAPJH2_ \\%5^^9&"_Y%*%>0;/"[;S M6A EU 40C5@JRH(*0"O)I'W=B*8LR2U?F>8?K[D<3']_ M[F"ZK(>JE0C<9."- +508"<5N$K /ZJANGZ%H3))13WGD,V5H7JFH3/,7VV+ MZ?ZTUF?W,F.V:UN,/$^";:W5F4L/57_\3:[Q.]> N\+8#U% /!C'80!1@%R( MO41 QW<8HPDC FLMIU. 6]KB6D$$CS5&M43V.YCRO31_&6E.(VRY\NOZ>% M;F[!HR\O39WN0((6I6:4_&EZ^E6B%68FUFN'I(!O"J*EG*"]XH_*)GB\Q=FR M"?8*U,TFV/_@R(/Y7=K@JV10;12G],;>WTYP["1,>##P40(111CB)! P)F[H M,!PQEW 38\PROJ4ID+UXZN"BBHN M%KI6=S+_>D$Y]!/]L-'7LNZ+7P)LT1F.B8;!UK&X9W;P'Z--0>W!4/E$W(_?T MZ>TF35)&9+N,J>+0RHC,UJDJ=K[7$1%U8\?E#(9>X$.$/+DVQ!Z&<T.EY>;$@'-]@#!RURPVVY'ON:&V[KC$Z]E>ZGTG)F^G$TV=KYZG4Z M[Y[6B(B#W:K9VQ.=.)[4CR\"CD^5D6U_?YVG3*QPZ!+/9Q1ZL>] %,=4FL&N M"UT4,^[@R*-,*\O^Z\!?FI5\4.J\O9,!'A3XTZ X MLPC:Q\W#MBP^B4>Q=IM$1DY$L>!A DDHC7U$< !C$0:0^@YS?1^1@!G5<>WI M:VD+5X4-N(89C'NXU%L=+#$TL2K?EY.[ #70"] 0-D':40U.;!>4.]+3Z]23 M.RWRR7)R/:^8.X)&E)9:<$$IL[I19M6BEEDCRGY)*%N%H%ZE_-- T:?S2SVI M5CY(9-E&?!$LD\OUT\<--YD^Q]_^<\^D$XP,3ZKSR9AZ):P!@A:A6@]Y^ICR M+5E;G'3]/(R:?R>:G&TJ]HO4G94#3XX(!+_T'#?ZG&W^4XY2FJ2"/\OEW::6 M5YGE&^,MP4X4()1 [F$7(A:'$#N)_"-):!0[B'A>I!WW;=K[TN:^@@^Z^,'Y MN?G'#4N_ IF<[(EUBQG/PX:W!<(-0J^G)'ZF2&M+'[I9(/58WGKCIHT;G2], M>JR\SZ*B1SKV)F!(8Q"0/(PCA.H@@C/S"L MQ=(VO3RG9XO,[$AD1Y7>^<<8\2=6PX-R&Q]HO!32TNG%KME9CRI>"O/R7.+@ M]^.FW'6>/8B\?%)SN+S<<)4<]D&M 7L/.6>><&+'A9BI_/BQG)8Q=QD,DCCV MO #%(3&,3QCN='G3M%,C]Z&!7Z5F$"WV"Y7:QVP2:Y"O-[WM$CKQQ&_!7E3+ M>[DK&ED!GC3 2Y\F2ZI#H\-9E8H^ 2_5C<&;8_,TDK)RXM3IJ96'1VY.-V51 MQ8!+8R#D89! X3$&$7<"2$,10X?(G2Q'-'9P8I:2L:>WI6T,FXJJ>Y!#T>,C M"-;3,]9HFUC%&#,V(@.B!A/6DAWV]35S7D,-L0]3&.J\-$YMW.1D4R1R$NZR M\Z2;VZOD0[HA&Y:2]<=-4>;5IK:XD3T4QW_5Y$U',4>N[S&8A Y7?ED74H01 M=)+81WY,(P\9W9NT"6YI2FF'%'2@CDQH;W40]339:PW-U.?FXT;%6/U-09\E M;6D5VJS*=0I27^KB2?HP]^5=M+[G;YB_82>@5>HFUFM]K%F.93>B9I2+<+CUV;R%VH)V'8?Z+XVS MZ3YN6"Y((=Z)^K\?-TTZJ[8F0"J*%4%Q$*IJ0FY$!40,4XB1YT(1<==U620B M$9J=2NETN[QSJ39+W7H/TLSXTF);SZBRS>#$2J6%"WYH ?^HPIY;1C]I,&IL M.)E09,D@TNIR5D/'A(27!HS1NS/GXOF\54ZPYNKALTQ]O\AWRY5/$JFM? R= M",G]I8_55?#$A80X0<(XEB,W3UZ> :!+LYEJF("T.*O$F\FV5(O_K0)\1B&2 MJ<9:\T!M 2,XL9:UD-2G%G9W@[S8)W*MOH1*X@4D^=$UKJKEY:Q*5Q.,[,1KBYW16OZRLKOU6$O:O?)82;N )65X M*%Y[->E!^.=82(8IMK:&:'0U+NK:"XL1Q34*L3W>UM%V#P@HZ8$&#UBR0MX?:?C5LE[") MM>DIKD9&/_>09A;J;(>\V>*:#3\XXPCF83J&PI5[6I@U-GE8DI>!R!IOC/!# M*;7\VX;GZZ?;3HV%^U+;_W2J@:5IP]]4QNKUDTH"M,=IX' Z292&H\D&1U,[ MF*KL>9 &'S:;RERDJ_>;,BV?OMZ3 M]?K-MD@W0FZ4!*6>$U(7"N3)+;#G$TC=1)V_4L0B3#AUM!(MG&A_:7.\A@@J MC* %J3?'3S'8/[LM\#+QO#:C1'LJ#PC>,XGEF_4DEG_93^)3[$:2?N MT&/C3KY>I&!Y?LQVM2V+DFQ41:.Z6"8^:&S"?Y%:RO[[)-T]7* M";W8CQ,*0T&4%2/U'*9)#&G@,2=&D31R0ETKYF7C2S-A*GR@ MA,,GW[Y8"X M8>/E'#HFUCD&3!B9+:=$'F6S'#0VF\%R2HRNM7+R&8MQ:6IK6'P13*2/RA^X M0B&),'9CF*#8A2AV0AB'3*6FIU[@^"B@(5IMQ"V1&D7/,M'I5NN[Q?5WV^U\ MTKBT"B/(=R!'W)#4HES/!K%&XVL'I]6T[D%/')QV@J(I@]->=OGZP6DG2- * M3COUKOEI99NJYRIYG^?*][2/O?TD]V(?2W&O4RY'IYD%S806KK*V)6"IS;-M ML7ZJO;@OO;_=L' E#*BDL106;D+1X[N74>6'"=HV0DGN=C?7JF&]"M1)V.=#Z"1&OQ2?0A* M\!\O !7R60$N^7]LB[).-T82^64"*; ]73SUD%C2Y9/!G'4MF)KLEVO)Y/V- MVVH4]GPWX>*5.;G0VZ"Y4C&"I&1D4A'Z'&9&=^'D5S M;<@/J+*U!3\M?O_.^\A[,VZX3Z-^OL_N>>[,:D]OGIIB%VKT/^3B/[=BP^HZ M]C1*'*I"$$6$?;G3=N1..TH(]&)U$R^FU$V,*B!J]+DT5=?!"79 1V4SU"%< MSPRU3./$RG$4@^-+0PUS8KM$5$^/KU,J:IB"DR6C-%X=N7]_$#E116$_*2]C MF_GB2>HSUAQ",X\EL1=CB(2Z_.M+/4,B&D,_$CSR0T=3W^_%IJ:^8D5TC2DGU.%39L]&_79ACM[K 1I['B5VS:*/+G7 M$5I!V0[^24OD'GZJ:3?O^W]T#M)LD:/-2) MHHHJI65VUL'*F#'3TTX3C\3$6JM&KQ*_G3Z$D5L?*L U2?D%: 6:M"C9&91: M4GQC$,RJ$,^@Z*6B/*OE.9\++ M?^TG^T%SL\S@4T*TT_+D[\U/5:OP)I4BK/&Y&1R<'GEU:9.J@O@LN5R#U?S\ M\QA1PT><9W(TM5ME-#U&)Y4])(PZC#S6WFSGC3W"=(\4^QXSGZ4W.;_,\TY< MX>UM%0YK,%M[FEC:K)70\NJV_3[F5W^>]E$U/%\ML33QO+W)217KW$F>>_$L M]=XA@58GM 9+HR9V7[NS37 -X;H37>=Q6XDS/F[4W;8L5[6%,*,T0DD($^[$ M$(58FL2>(R 3,0^"@%#FX',S9G3ZT_KZ9TV5T8)[.C/K=(BR/@RM4P1?LKM4/%9O M=-,'R^$K[K(UES]C*M H%M@)$JEY7WW_U5PO_:LQN'NRW*]GIFLMB_V* MS"[1O,XX]M[/F1G2?%=_7H?K9[>*7@G"N"W9%U$(^=+=Y8:_DYVMLP?5W_OO M"OD?J MNK>DN+O.L\>4"_[FZ3>I#.M=8Z$
  • L3!_KXZFU$0!F57/C"7JI]D.TVYP:;95 QRT/J 6?F4M*!D$ MWZK2"E(4T,BB[SS3IWG8E38)PY,?F!N3"[Y9C6\;Q=PH9YM^+[.YWHP%[SKB MS%\>F1-R4Z8\76^E=A-[M]_[[VR]E6KP@Q1(;62W97-YZ#W)-_)3*N0&M-K' MUG[854*<('8C'WI$)!"%C$&"(@>& >-^XB'7BUTS\\P*KN59;-=9*8WIE*S7 M3Z 5KZDI?0'^:"O,D*;"S.B"TW9&5<_2FWVD)M::77FZ80BM1$#-3$&TKHZ853/.FW[1)XT&N3JN-CU3IZCSQ1KY;W3@*D(@%$<'4*+=OM_6EF9-U!4^%;M3-K>?,::J_L7Q, MK<:TJ3!71,=$MJ50GK4]KV(X)M;!!#_ZT/@"!A_R:M%?)0)1WXTB&+N^#Y$3 M,D@3+HU-#7M5()BKJR6$8^K&+?!<+PKE6NM7CS2]- 2ET0,$#WVJ AF;""_+T M[(3QE$RLD0S8,+84C@MMR51XT?BLML)QP5X:"R>>,B\'^J[1P_]K2_)25:?_ M(AZRO%PAQPE]/\0PEI:\J@J*('6Q#T64.(&;^"BF6H4[>OI8VN1M88(=3E # MU:\1>HK-_HELB:.)9[,Y/4:%0P<(&%4_]%2;LY41'1"J6TUTZ-%QJ_'[^X=U M]B3$5Y$_IDP<#R+ZG%6^*,&K+4AQDY5DW?W]VZPH/V?E/T2I,C_=;E0R]WU+ M]4O5/:Z;.[*Y>E"O%*N(. 2[C$$/!U*!1+%<^-W8@<()<113CPK7:.%_-4F6 MIJ940OT6.RC*C/T.:16CR+JQC**.JC S/U[O:]&S=/X4W\#$:OAH5&KW?MM. M_C98M3XC5&ZZ6IH+H"BH?'-/H@1[%NP?++_Z@%DR"%]/CEEMSUVO"F/LZC=WRJ?Q.:;"?] MU^K[==+_F]!RLA" 42/C%-HO8B.;6U]N^"57F<54H)KR1#Z/,D\2U_5<&D(G M%!%$5!K^.!$>= +?PS0)! ]<$T6FU>O2%%@#NL[9^@RVF=;2HUQ/6UDG7P.>()@_N-2+*DH_3ZG%4W&='P4B>9O3Q.%XV_";55O5\EU6^+RVUYE^7* M&%QYU*,4N5)1"5ZY2!-(_,"'@2?BP&$^B;!175'K")>FXVJ<*CRI#B(#9 =U M?&B9_7'54XZO.EHSGA:R<; TMZVCZ^677Z9/2^ MU/_3=332&ZV2_^7ED_*7E7)5>O^?V[2Z=?9+GA7%*DI"C"./PDB$,42!H! ' ML9#_%%%"/(1#Q_#R5W^')IIAIK#A!F]E:HD6[ 6X57 -G=?]7&LZLZWQ-[5S MNP%Z 2JH%7_O]_S]TLN?N;M;BQ9;[N_^SN9UAVL)?N >UWMK3(+!ZL*+5&A5 M(*=V3L'N6TLSYHYDR?NK21[!9XSTS_+SR)AX1A_AP5J ZVG!1R8 ?-;4C#G_ MCHGP/,W?T29RB<=Q3#!U(7:Y Y&($QA3-X"! MX_LL(=QW$MIF_+NQ5";@%!BMS_MY.L";&::\D@6DZKI =?%8:AE1&&:=&#D; =%0OIQ) 5PQ0RV'=_7H6CW.D_S^)83D% (9H,BH!,-C8S"=B]6[K6G[W M=^I7'[*\^O$*X< -/>)!G]($(NP*B!TB8"(0"; 3"@<9!>_8!K@T$^K@/.RA M1?P*QV&G!G7BTS +0[7\P[#F"&PG955.I_K= L["!D;@M8_"3L'[NUR"Y9N54WPU7A(87'(!_^\;>7IH"OWU^!%F957NG%!#.#)D79>4^;M*E'M91L5 M\'&5M-D=OS=.UC=B(Y*T?%&!+8J11Y)0P%B=IZ3.)QZ4604 M9'8&EJ4ICV[UO":W=$F^FR8\.V=P-$VS>2B?V@KKL+V70_VK*?LI1=E%>?S0 M2//CI$7R+!!KR[@Z \F\=M3YE!V83!::''-=WG-125R:6< M!TV4%?4"WQ4NA1PCN1]&-(;4]0*Y,XYBP2(AD(CT[] /=[@T#:D0@QHRV&&N M]SV5^\ODLKD&W?WJ< H2)]9Y0_P-1[.-(]+D*K]=0F>ZWW\^L88W__59ZD\' MH-'.C#D"]*5ZGCC X#WSJ\GO97OETX=T+>KCM94?4R?@(H >(2%$0<0@P7X, M,:6A1PE#CM *+S[6^-(T;HT/*(!-!);^+>0#XOKUZ;ET3*P[#9@PNG!\2N11 M-XT/&IOMBO$I,;IWBT\^,](MFQ7%VVRCW!MBHQ)(5L;8B@28>P[U(,;<5=,S M@B1 :0Q04)XW(]T1-6?) MW-O92X(M=^;Q3N;U5_8*>N"0[']ZG HXX=]\N\US:0:LPDAJ N1SZ'M^!%%( M."0)=J$('1H&+(A<1ZO@F5YW2U,)>[?_6L$U/$<:H!;AD##N^S!@(8,H4NG< MY*X4"DIHI!E-ZM1LRG'04\SV MN)U80?>%JC1H[6EJ/58L:>R!SF;5W'J"O]3@FF^-CI#G6U;^G2C79/E432ZR M?KLF19$FJ>#M]QXYD4=<%L!(*G:(1!##6"H<& BIXJF0O_6P42(WO7Z7IMO? M'JJ9/QH1JA#P7)1YEJ2&P72Z@Z"G=":@=FJO9(T8M)!!@WD"W6-(CKV0>JU> MYXZM-Z'B2)"]T>OC]%.=U5KD7[.DE#--?-R4\LM)I0E[612B; XZW3AQ(D:$ MBO1%$!$GA 1Y#/+(E_J)$]?QC;R;6KTN33=]2IGRD'#0HC930GI,ZZD@Z_Q- MK(!:O#OJ+L >,J@P3W#CW(@E2YI(K\]9]9 1#2^UD-G+8T^AO]Z)=954B&R> M5CAQ."8.@TZ0>-(4"C$DW$V@AU'@(<2I8%K>P./-+TVK-.>O%4308#0]BWY& MG^YI]%A2YCF/UN-CQ(GT,;'/.)-^UMS,I]+'1#D\ES[ZU 07AIHHR^+=5OQ# MD%R5O!4K0B,/N32&S// M'J,;/[T-6%&U3 33/T#Y.O?4ACD=+ISV?.9=->RH,#@J9.>[#O+9K>3KB=2_G M:3T_8IYOU\)U:."J[#?U:OQA36ZUI_CQUQE+WDP2^*;R6\DH-L#%N7I]H<[XIW2_4L]D\\.A(OS,I[M3_U=[ID:R5 M7:#41IXRV;[ZA=Q7/?]!Y\D59AZ.1,@AKLL>$@1C1^691*[GA+[G^XE8R3U: MFG%I[>>EIE?Z'$PFL^,EL@D=KQ)DM<]AZB]B#Q>0$E!QFVY4&6L59E-C,G1I MGS6(2>1&#D(P\T@OM_P10YAB^N5!E#(G[_* MT.EM4V<;C(E7&X7L E0CT0%X ?;80?U(?:#P[(?=-RQ&-MA@UE;$PUE8YHV$ ML$';082$E49G<,C^D:V")*8T$%SEIH@AZQR=RQ?V1+ ML[7EMQQ,Z(R5A$_@BC6C<9&.V#^R5W+#[KE[#2>L['VY+M@]-6#2)$'0IIJ*Y.L\"%A,041A01/_%9PH16M?7372Q-DWQ1IV&C MBA0?H4_/B#F/E(FUPH%]HO!-=>.N*_LDM^RJ#E[Q9EU7P/[;=,^>'#>?_R[2 MVSM5?O91-GPKGE>RN=J6A7+GR_[>I6N5;_U=6K!UI@HV5I$8EU352&/ERJ6Q MH"@,8<3#1&Y]> )CGW.('2^,A1,[;F@4B6H'UM+T1BL5)+588/,R]?)6W8"1 M)CVK+P: C2C;K'YRY-6/[[,F);.9XK$TSGK*:O[1FUC!M0*!1J+#NF(=J:JB MY!LF#?C:*OK6"F0QRL(NPY;4J"50LZI>NT2^5->66Q]]"5$JC^[\44H1AZ6 00">Q!S% "F8CB( Z]A&/#L+83/2TO>NUMHT<5THM6]Z85 MV/$Y[T_QK'FN2R M8._C(XMCJZ)BU]6U_Q470> ECH"Q&X4081I RAF%KN.R$//$]05>E5E)UGKZ MH-.VD2FVZV&ZC[F"!AY&I#OH$J8WM4?2,/%TKAFX[F? O [UH:RVJDUW6IZW MIO2A2 >5HX\\,G:QWE1K_M_3\N[M5BY0]R(_2-_CL\"E 8\ABJFCTBBIM'6^ M S%E! 4N5RGK3%?NX6Z7MXR_$XF0T%3BDD>QV1JG#-"@6G?QMDO?Y"MY#1?\ M(?&"%O"T:9-,*+*VR&MT.?.*KT_"X?)O\*YYJH"O@FUSV=+[[^Q.1?Q]EM_/ MBKH>Y3%#$(54_D%9!.,X\F'(0BIXS",6.+K) HYUL+0#FA8C:$$"A5(_8PX;J"R3H=J*D=RMQ\'"8 $42E#!!'N<]A;^02HLK?:G^YEUB1\4]^6Z/OS" M2'W V/9^NU95>:_*.Y&K)"6YN!.;(GT4=6$2E5WWLRBODAOR?9402D/J.9!C MKE2%4A"4OI"^+5U9__$T4RKW^1?EMBFN1J_OKY%:L8DPY\R(, [GI@0@S M 3&7>C)DPO&I:#Y:BK8"D<3J]$6(^CR-$'NW4$N+&FQT_W,JHD&Q7VI M389?.%,CB/PQ9>)XG?3/V4:9/*)6345U"-7]O8K:_)R5_Q"E"A2[W:3_E!JM MNF3Z( *'$9!@A*C3'CSPE^:[NI@ M&W6I=^;!-]2*BQO2&2W6G26Z-Q,18:.)GZNEK:9ZFYZ>6=<2^>0&+4\3J!J%8H6ORV!.M\]T+ M<%F6>4JWI2KXIZY$7!/; 2F#=%FL6G&JI]EK50R(?*Q"Q= KXW,4=7(U7)9O M29X_R5U\Y09;.2QRHR@.('<=#Z( N9 2N=GV1!3[2' W<8ULW_[NEF:KOGV1 MC\8\_4P/M9KJQ!IA4VN4@]0QI 0MV-JQ;3W:78<&/I6_1 M>,L\7.U=QK;*SK^1KZYB+_09";BT.7@$$?$HI)@F,*0""1+R,*14-TRMV_#2 MM$*+#2AP^E%IS[CJG_SG,##Q--<3WBCX[)BDHX+.GC4T6[#9,?C=(+.COS?/ M&W)#Z'9-\D]I45;5EXV3A9QL8&GSJP$*%-(+4&'53PARFJ;^*6>-H8GG7Y>< MIOZYW0SB6D2,RNYQNM794GH,"M;-XS'\\-A2<)>M'\!"BRXVABLKJ>) M'5YJK= UM4]K+%,CRL?U,'%&%;ECKW]YKZH)U+\O!5]YE'//C1.I!52E$T^XD." 0A1& M"7>Q0R(_-"K"9(I@:0JCF^#AH1&FRL=12V.X0S#!)4!2[88B%,#IQU.MV:7JN0JT.X:]EJRJ, MJM<7>@[?>AK-/HL3J[$=@7O(\U1>,F/*DL[2['16165&Q$OM9/CV2(.L2>QZ MDUVR_]RFN;A\).E:[?4^9/E7LA;-!<%4%.\$+5?<=0.?80]&;N!"1*2"HB[R M((G"&/N^(('<-F[$K8JQOS&PRLQ@:,TR7,^R S#3&P[5K+LG^>^B=AH6._"& MQIGAX&B:9A-P/9-AUB!77M@&.U 0P1ZQW!:VTL DRZ&2QZ)A-HXZ6V:98>_S M&F7CJ#DPR48V,T[[?:G3=>RLOFN1RX_FGDB)K^@ZO:ULCLX=#3?"@B240I?Y M"*(DPI"*!$,1XS#Q:>)%GM8)U2[$B#-(8R(HBG!(^<[F MT]-[1OV/,/8FUGL[^%6H+F\$ *21P/ FMM%8Z"DZ^_S.=@N[P@CV(*5!]XSM MM[G@:0E4G-X$R:%&$6?K!K91W_/>OQY#R\'MZU&-G''W^B!V^? 6WYN7M_A^ M)=_5N=\N%'I+"Y:GU<6=+ZI@;L(\!V'/@?*_3.K",((D% F,(D0QY2%"F)HE MIY@*JLFTGB>+Q?NOU]<7REF_,7L*49=3^LN M820G5M 6KF1XR2N<,,XB8P"8PYZ M6)KFZ TTQ2'W.GIAK,8F5@;=+!-,/M/2FYIOA^V/^L,/RG>RSE]^L'Q5\V: M3Y!';BQ"N7WT(X[51M*#,18,^B+"<> [L9=H714Y;'II\U8A,[\V9K:*CQ)^ MZ@5;70>;8&4^D-7B):]766\/!#IV>0D M$02BT*$P)@S#"(4!83%C/(S,UM*C_2QM9C:7GGS=;DJZTY M42,6W5X:K"V]QWN9>0'N%?5P&>Y_?)PR>"<>LB(MBSKO\:ZD"?%YA'@('3]( M(,*>*]=E3T!,$\_U/8;DGR:JX&@O2U,$7[%OKI"_GC5ZE*\I2LZUR_ M7T0A\D=1K"C!2>CX#A1^%$'$"8&$8*D!0NXC/\ H"@(S[\YPI\OSTTBHX+[% M.FZKW<.QV=[;#F\S;<:?+H#B;H=WET>FQ6Q_AS[,C^4M>T^'K[*''R;@U*9> MX\WQU8MBG& ML1I%!\^8IY#XN"E2^>1-SJMK%*E0Q1+9)<\>2L$_K,FM;BJ)P8:6-C<;P. F M)]75T18V(!NNBF\RP;>J^' C@GZZB6%*^R>Q=38G7^R-B 3?%'Y+62FT>1J5 MG6*X]=FR5&@+VLU6H?_2^-/[RPU_D4KJ6&TNUPL]*D('1I'*&1=&OG+O"ZC" M9>6F0A4Q-#[EN_SJK11G8;WG9 3_3[=J"N0 MAOFR=-I:FL:1F//J$@"0R*7VR;;%\TA%E7A;B@+VLNC;.EKD#IL[MGF=6 &- MH!1\LYZ1RX2T4>:/5@>S64 FXG:-(*/WQME!GT6Y+Y:V\_5A3 0-O1#BD+G2 MY@DYQ)Y+(.8^=;'RKB:.V=GIT7Z6=USZ>7LO[Y+*7VB2S:DSA2>\FQ9*(<[V-6F1__#(R_9J*(V'XMB*_B[;5Y? M6DPS7MDRQX.S5T[BA9QZ&'J5DJ !A<2- [E/BD,>>AY"CM$%:G,(2[-7%/CZ MVG129?&2RVE1U6R2FR615ZFWRR>5R%_.%I6H_D&^+2W_3>U82+(\$6FI#AP, MK\J8CYV>9IIV1"966Q7 M3P+^J=U<7QRRS="B\DD5\*^+ ;"XL76$:S:>MJ MBCF >2^=C";HX#K)^);,U"_[6BJROYNEJ<$:*%!(P7\C]P__ FJT>EIM@-)^ MS66/J(FU4YRKZ6I MP.;H2&+M^+7.O)UPG&2]3:TEZB96BZ-9&WE5H9D4^?FVA M_Q5S!]\'*4&V$:J4YJ/(G]YMQ4WV_KO:E(JKY/TFR>375-V2N"]U_7P&32Y- M4S3008L=\&UUO-S 5V=D'0$NFJ3M^AX_$[:''7\3$3VQ7K',L9'7;P1CHYQ_ M)OW,Y@,<(7S7%3CF]9&> '8G^'8M=MFJB\^9-(X^9613R#WBAW0C-S+IYG:? MYFOO+O>1SR,W8#!$S),[/"'-'.(3N>%+'!YS+_"D*&89M<:C69YW\>OV_I[( M.2VD MZ>0LG*0JF45V;?D&SD RKY/@?,H.O 46FAQ;.TU:E!^Y<@VJF69ZZI-B#@85VUH1?.O-_Z692K2'@, M40=#[*E,]8$;P=B1?T@C"V./1&XD\,B;K++YY9E).W0C[ZLJSER4>,A5A9N# MA$/D2?U)8I_"A&,<1L@) \9695:2];2,[;N8CJ\;U0=(+;"F>X(VCHO)C\QV M-W<_]QC2XZ_G=L2U?1%7-?TZ5VX[0IV\7-M]9NQUFX=4?J3I/U74Q:8Z-GN; M%7*WFN5E^L_:0Q.ZB(G #R!Q6 )1PGT84T:ER<,<[!#Y/VQXT6:PSZ49/QW( M@#68Y5]4X6C2@6UZ[V:8>[V);YG1B?5!E\P6+GA;D7FI0^:(*S;:]%B[7#/< MX\S7:K0I.+Q0H__JV)*-:^6#_WHG1/DIJZVU=YDJTK%B<<@0 MQ,AW(&6QB(47QX[9);_372U-Y31(0045M%C!MQJMH7>NAV$]#6.'MXD5RUC* M1A1?'&+#6L'%DQW-7&1Q2.##PHJ#;XQ3%LVI#UE_W!1E7L5V7'Y/BQ5QHL3! MK@]=[(80Q7X(:4)B&(2)'T@]$?IF.<5.]+,T-;&#"?8XP3>%U%!%G.)53S]8 M8&MJ!]L(HHP5PP -EK3"J5YF50D#HK[4!T./CSVG_;B1LTR:).FC>$=*TN;% M2_P(';@^9'91M."-/>HI;FA M8(#CV%FID>&^UR<.NFO M!UZ0]5C%HL&_IGZQR^K4:F:XP/H$"D>?(FL9DH=[G#E?LC8%A]F3]5\=63@] M>R+K\NF7+H$G("+R;U1J(;GAB4.! MO9B@)#:JE3[8Y=)448-8%;BL=O1L!]BP&/HPV7J*QRZ%$^N=EKT]V@O0P6LO MS-B<'5MUS8<[G+>4N38!!]7+]=\TO_!0A2I4-_#OLK5\Y4NY,;C;ZDT-ASTV;%D.&AT.*OAH$_ 2\/!X,VQ7IA. M6W5ZIZMM691DHY)WKX3C2\WG82A)S'2S.:PA'>&AUFSO#9]#8_L^=&1]1# M_XW66R-2U'Q5;9"<7V[X^^^EV'#!K_.,;UGY=Z+2P95/58X(Y4=FN9"*3&JU MYC>I*.K48E6=F4O^']NBWAVM1"A0Y-(0^E'D0L0C:?RX7$#?5W$A4@LY#&LG MN)D"X=*45B-!O;P_U-*!/QKQJBMYN2CS+$DU=TW3#6V_JEO$@$VL'5OQJIQ; MK8"@D1"T(H)&Q@O02JER*8*]G+N$C"JM[%4".L*^]A@;) QZ[;&>*=W0*XZY M6=ZB*<>C-^O1)!W/ES-I2MZ>95R:M*,1E17X?]QDUR)3*4 _;,R+*1Q_?7'+ MZXXK<).!Z_=7SU+]7\A9FI6;K#R=XU:;M^$S20N43;S Z;(U13V$?G+&E4 X MT>9\50_ZA7I6Z&#@T9&93(YF^NUD>W[SM'^D.;VXE-8G_Y1NQ,=2W!>K(!"" M^"* ,:(^1 GFD*(D@(%@22QB(NU](\?G^9"6IF/JA-JT2JC]K)!(1RA GT#W MN5WB;249^*9D Y5PAF$<%@98[\QTWF&;VI#OI$ ?'K$W8T?,/!F*-9)MY40Y M']"\J5&L$7B0(<5>RR-OX[1UM=X\[?[Z[ZG(94-W3Y_$H^1572+QN2\2ZB10 M5 5Z7>3 V \(%"%G @N>"&)TC4^OVZ6IY$XEN1W8ZC#E\^7?QMW9T6-?3Y?: MYW1B?7D.G>8W>XS8L7711Z_3>>_]&!%Q< W([.V1@7.B)*H6UWN2;]+-;2%W ML-O[[5JYEM^))&5IN?*=V"&^(Z T%2.(/!Q &@H*8^XQA@C&(77-4K<,=VHR M=>9)Z-+!"'@-TC!J;IAI/>5CE[V)%4\+%K1HP0]=)AO /UJ,FM-FQU;4W'"' M\T;-:1-P$#6G_Z;Y:=6O@E0)A]4BJWE"U7EE:>9) TVSPMY+^8=/FD:*/O%D M;E!9,QA.2#KJJ*C;SFS'0T? =X^$COUZ9.ZA3OSJILHM(B>HV*B:XD>2R&/F MQ"AB<@N!(P)1@%P84Q)#-Y&[B0![),3"* N12>]+FZH=\'75ZBY\&^G\S<9& M;XV?C/&)-81-LLUS%XTAS586(Z.^Y\UG-(:6@\Q&HQHQ-Q,ZH3%MGO"/&_Y9 M?G*Z5L/I%I:FF10F?0.BAYEA>\(.*1,KCP[(76Y_Y8_GZ6/*MV0->@DSLCJ& M^1AEA/0T.YM-,BQ:UT31>'I\NA&6Y0]97IVS?BWE-N*MNAB1/[W-N%@1[$=! MY!$HG""$"$DJXX"%D.'8)7[,8^XRTZPC/?TM;>[OLFET,%^ "K4JK]8@!PJZ M>2*2/M[[=<4$;$ZL-&P0.2I%B08]9V4JZ6M_]H0E&L(>RUNB\]JX#=%E48BR M:%*A[(QKFB0,TP1!)#P'(C>22H6HI$9"Q)Y'6,2Q89;IH_TL[W2R 0A(!5?S M6**?2[V-RMG\3*P>:GP7;9:B2?8=O1Q8VE\<[V/6?42OF"_W"_T/CYSS366+ M?0V+7_*L:#M9>;&+W2B)('>30,6Y,(@]$4$WE']%KAO1.#:<_+T=+D\+7!X6 MY#'4!/T,:ZH$:ZQ-K1M:NKYTZA=1D62Y )?K=?9'E2%5A?6_S05/59K48J]* M+.H/+<)L*9+^SN;5*%J"'Z@6O;?&;ELN.9J4+%+5F[)>OUT35+^M^)( M4@+CT'NS5I>F$9['6S9B "4'>"Q^ J?R8NB?=!J2/GSZ.1W?T[M3QE ]073_ M. I'':(:=C7;P>HX"KJ'K2-;&+=;^BS*MZ2XJY0@%_S-TV^%X!\W5P]"'HP$5B)KMH,Q!+&]7M0,+ MR ZMX0G+B+'0VVM-R^_$VDW=I%3H00M?1>S_H"0 Z>9'L.=]+\4DYS?C2;2T M)QL!8-9]VGB"7N[=SFAIG!;M)D@-6^M#W"JI['.9VIJ+_2.I$\U2==# M)!DKG'X.+"F5$YW,JCCZ!7VI' :>'A\Y=S+Y3Q0Q$= DA%[H>Q!QZD#L.0QB M%&+B!LQ#%)D9/+;2!,WD-NJD="A?[W*4P M=KBDW<<,4BSM3,Z3R/,2'G#/7=#ER'$L7?!68W;GW1IH)/5Q M$NS^I=AR8B86682JROKF#S=L5+#+Y:ZFTY6A>OH!N+C3-Q* @Q33NBLR0B*! M'%7\-M-MNQSR6X^,#K;<$_D52B9W+(7;C-HF8"2(. M'35?-YV8B=+GW# =IQ+;I3XLUDP(OODH!?U"RB99^UTA6B-1^7V2Y7+S+3O. MX+[/[;X@H>1P3R!(!?(@RK($I@Q%,,JH)PB/!4Z(B6'M1*JYV>%[1502T$=2 M_%.42G"PV8ELF%C5R=CIL=?D(S(RS;7Z #5#P5XC:?CO=:J=V956:L0T2E X MS.;J$F]7"5^=R#1M3EB7,)ZDC77:N-/RY-7=^((1A#-?A) CCT.4!#%,0QRI MDCP,\Y#3(,D,-SH]W C%MQO.YJ#J7&#Y36K#%^^(Y--MEU5OXI33N/ 2K?\Y?"<'(4[P5#/Q1BZ89 M_7@.!I/DH]9P3)4V=.BC,$SN>5;?_K244TA]1"%B 8>4I#[D0< #QG&(?2TBTNIM;M2DKDCS%5L_ M"O DBEWI#26WX15T/\AZ1HLSZ$:FM%VN$2EH?7!U RI91[D^UD+%D>G2W]>D MMHN6VL?&B]Y+YGYZ=V+=K$&:+GB[%^8VX^\^?-/WE-NKW3^!K34>^^SEP[=A ML\/(3^U$2RL7M'TKDWF7G0C>=1P[_>75EZ%WI/A65(ZRO,HLUL[(A2=\'J6^ M7&!#/X8H01P2GP60!J&?^")-(]\PADZCUQF>&!QD MV%1+J,D!59N\;7(37+"W8(]RMW2$$3NKY@N]OA: M-TU#$/1<. V^:NFA5?X4A?*,+<1/L=KDS^)39?!^7!\^M>RSN"Z2WE>Y=:_)[_NUD7UB[(LO*:6?FZW2* E8HR4H]XH!LB]R< -6PC!; MXK1?A1[9SG:L1Z;M2F]PH#BH-0=O5$CD;ZJN0/TEM!B #@C5W5D'AD[IE+J: MRCH#$@NY(-1H@"XO,8ZNO/HFE7U:9\'7&)83'\17$<)IA,>G MU;/8'#I3+S#U11+A *8)3B'B?@8)B3!,DL3WO3 B-/87I0I&T5OV]+LV6K-V M HQ[HL94T,&VCC.0_]_(W GO948B.;8"=^)YA@]A*,' ML7%#-\YU/(>0C1Y -$,U^EHPH[%-42Y4HK%OV1?R7^OBG>1-2;3%^_4CR5>+ MD(8)]0(,?18(B"@3,(T)@CAC7LHC'OMMJQAQ7X*OEW* MMA5YK.1@O#3).NXK:V@7R4VB1*"$)!"I T<4)QB2)$I@2+P8>5X68IJ8'3WJ M=CV_\\BFY864H7=CVC9 PH1^:,5F0%XD[H3BZP2G#@-%;> M%BU7Y9YTNYVVJ),A&">EFTS?ORKO\.W#0_FAJ#:!MX^E1=KAPP;F9F-TL^Q* M20OQH/+32'G7*['>;H[*J3VJ5$M628J/8!R^H'2"X-A'80[!LTU8?!Z<:_,5 M'[7Z&NF*SRMV(5OQA8YJD+! ))Q#(8\=!#61AAAB(C=R3MKN=&)#O)04E^ 2FD8;)! ]#U M+)1QH!R94?8H-D?J4FR@Y*Y2H*]8OLR;G,9W0G;I\AS<'"]77DSZ'4_KTF0, MR(E_DWD++O):?,X)E1]*^;+(PI!2D270%YQ!1#&%!",.$19!ZK.8I02;'/1> MZ&=NI[I'F2W LA7TFLP6>U0U[P>OQVIL\^4XM\7G09RN3&YQ@L(HV2WVO;QB M>HL35?OS6YP^;L<$;3OJ>@&E)(IX1*'@U)=S/O4A\2)IH> TY7$:H(P%)K._ MT_;<9GR=^VZY%]!LIG=1TYO=EEB,/*,_:P!@/(7/J.IHVG9;GG2JGE'I>'J> M>\1R<2X>R"K_5[70R[5_LU[FG#1WQ7=R]-OHE6_9QWQ%I(U'EI5?5>4LLR^G MM#^A0T1N+C!F,"!R-J,@4JE3"(>,B)BPC'HT868'HZY%G-\!JMH9DE5=Y5BY MF5>1VUW5#$T#UV.J:5.\XCB-;8QT5+L!!\I5@]953XW=3D&PU_"@I-PH![EC M#8 K.\BU>-,:4".!>V)YC=6/^4'SF8RO?]_<"5'\7JRW3\:II#6;F]O9T<7, MQ7]705ORGY7X^N?.NJ@.GT*/ .C(/*J'Y0@YH0VALCJAUNUCLO-J0Z6[I]>F MK]H$\3=!=2HWP/XFXK8HY =3L=G;E_TC38;%VS])P>ML4M5?_R'RAY]JF]H< M.'Y<%_>D>!#E+?N9B^>J&?FK;%T\JE1J]W)<-TJAYO&%AQ'*_#"6N\[*40B_-$$TB3N(XUL\<\/H*S8T[:\T 4:J!/UO=5#!2[_'P/#^6?D*>BY@S M8OM**5CI>G3;N <$O'T!W><:4$ %19O*K_X7V"'3WB\H7WY0@P,ZZ( ./&"' MS_"MQ#P_.Y-,%:\OKLGG-U5ZC+_89VB8K6,^8]Z?(F0&T<85H=#IY95S8CG0#: MPN?*I=.T^VE=.RW!.7'QM&W'CO#^7L>PM+$F<8AX@#!,,DH@4IO5-(E22),0 M>YQ2AGRC:B 'K<]M^]@(9QABMW.;6*WI0TJL4$C=^>"3*MXUC7#H,<&[L$=F2:(6S4XG)1TS(([9R/!M.YKZM&*%AB5848:!9EL1-$ M:ZZE]5SKBC/>E&ND!J(6MTZ_OZ[2D)!*9#/^LAP?/3X;$?-I^*U5 +QI5?A- MY45HQZ 1OQJ".A/,;?\0&%/==0@ZHCY+(2:EPNN .J;&*UNSH\I;QK:/VXJ' M+Z5::3):"A%23$-IU'E9)#=EJEP8\2B,_!AC+%""8\-@8.V^YW>VU!$=G$O' M]-FXAH'^0.C1X"C@CLQ\M]_>?;J0;@+FW MEETL\+P#@)T'_1I'^LXVO'?2D%Z'<;RO%;P['+'K-$SWNW@6JZWX+M314GU7 MUEZ(?:/+_*$:(V6U,,D)]_FC"KC+?LB?;K(Z5UM5U/.]'-_;7_EFD41!A+(H MAB3-Y/X+2513#_E0[L'",&$^%\0HE->M>'.CC4:[&[#3[^ N?J_A#6AU!+62 MRGF[J^8-J!0%2E/PA]+5\#S*\7>@9^"\WNB.3'JO,[#&YM,X^#NRL1P+-ZDA M-@ZPQ];:2+W8+20?25Y4.:R_R(WOMJB\*SX6XK^W*K=G<[=%&0Y9RCSH922$ MB$4!)!&-8992%"(4>:DP6ATT^IP;Y7=5B%[EQA7>1B8U:PIJ^-N?&& ME!7LA 5[:0VVE'V(:6PP'8$U]G;S DZ.:^+HH&&W[>QK>+I-J(9Z!UM2G>=M MZ^O4!3G_D9<_VQ2:NSP/7Z4J==:Z11"2!(M(0(\HAX7$#V#JIQ',HC1!B=R7 MDBPPK;&CU?/\3K8_KUXD>[D!>[E=%MHQ LI9L1V]7B['0>:G88(]JIMS^VP/A[.<6)P"-S"(6V!AEWN[5_XJLV^?;G2SC=J]:W6S;_0^: M;S(D+WS?+H7OT5W<;G-O.5;$ )9W5Q M= ";GOEO"\;(4UH;!V,S_IS"CFSU@Z8G-")SCT?&0T:X?[G-UD M;D2^ 970E8OI3NP;H 2WO&W0&0#-^>\6UI%IH3I-^9P_JRM:^?-<^;15?ILC MW#@8(..*/S1ZG)96]"$X81N#5RV3VC\^+=?E1:M?]3>/]N\"4> F-/(BR.(%(, (I2@A,LR@5?LA"+(R"(]V(-3IA^-D1GP;,*1_7[GIHUGN*D2[3=J.Y.EWV[HE09-"><)LVD+JNT#*.$W\6*01#%04*\*1 M@"G'7/(N#[+$#U D]Y8FE'NAH[F1J"HAFM=$*M=&P*K:\V"C1/YW0PZ]!*TF M*SH ;&2>:T54OGIU-HQ1PE"'D'#%4)>ZF99S!I0]89&AYRVS\8CE4E4X6O$O MI/BG4-'T[:(>8"_T8X_*3:- DAF8W#0&+)#T()* X22D3!CFW;G8V?SNBG^0 M91,+^MC*:IA@YS*R>L3@!JVQ3:!:R JHG9BMW>,P+\X@%JXRX%SN:-I<-X,* MGV2U&7[#UM%$+8U5QJG*;6V1,L1BP6)(DDP2 _-]B.,H@ +C(&$TI"+Q3#U* M#KN8'QV\:^P#)>(-^+^\?_.""#R1 CPK>?\#^)YWXWE>;4!(WMB6/]>%VH_] M!XCCFS#8_2;?;+9RNU %F7<*_)&J9,#_NUV^ /\&J,_RIGHFCFZ2,-)Z^;U@ ME5\1".L6 E-/EJ-AUF.I:X9N9&YJQNQ'/6:5=#?@4P6A2T^4\_H[IP;IN7O_W;CW\##SN1P68GK]F<'P1:CP-< MPCOE=K$1!EM)2 MNN6/^2I7&RGEH-N:Y\R+(^PS##%"'D0!22%E/(6!B!+*& UPDIK9-P,]SL_< M:02N+ UR(+(9P0Q!K<Y[25A5X&&^YK=RSI('\6Z]*=O3FP7V8X0B%, 18G< M0Y$$DB!$$O=0A#P,J8]]_<(59IW/S9II1 1/1<[DGRH1E#J2K?8\X$V^ GR] M7))BL__I;R8E Q'II^2QL9[[.,:)3GHB YJV4$M_ UHQT+)OS_N'1%ND^H( MX\$^524#Q_ ;5AJPPZ^_*H!AFQ-F\+?3]C#;OF4;KU#*)R9[(V=2#6W)>>;BWJ0MBENW8RSGND\^>B-O(!- M-7#3UNXH;ANW3DI9;(7L;IV)S49V1I8?A=B\:^)$.9>@ ML3"!5.X/(!()A3AA#+(HR()0!-R+C$XV^[N;&RUWQ:RFL_QJ-MME=:>8"=/3 MS0&H]0C4'8 C,V,C*#C 4(DJ:=)U^*T>*.YR2O9U-G4B20W%SV2/U'EKRAJ< M7[?J(/5;5I>%^ET^7PK^*=.J _5U77X1Y<++HB1)?0*#C&,H34QI:,9$P""E MF.&(A10%X]?>O%Z1N9%@K9$R7II;WX=:*9!G8+6&O]_>WK6>:U*.]9\ >_^S M(DNZ7O^S]+YR#FK_'5C'VH;=2WMRXH4I1T' 82((D3L_ M^0=!/H.>'Z2^3Q*Y#<2+8A5;=U(SK9]3'>#+A7?8 F#9952:A#\#2/ MG6PA&9L/*KG&.%(ZI["K$Z2#MJ<],#JGULGYT-F'KJI;4$<1GJ9VVUT?(4)Q M%"BO_2Q-(1*8P#06"0QI3#EC/B&$610D&.IW;L9"(S90(P?.)S.TON?3'0H] M1A@!X)&YPA&VMMG[=9%RFY9_L-?7R+>O"\6%1/K:KUNEJ]YGI3-/4WWR[MSX M1:5=[@AIE)7Z%!B-W<65F(QM/AS"X3[Y]$7E;9-.GS8X9;+IB^H<)9F^_)RE M*Y(JPSGXR/._AJTK*6BRV;QI MA+U\.V7NDJ.%BBM?F_[.IG6BT5+\Q#M&[RTS0N$B7WQ8E7GY\C%?BJ+)@?^R M()Y(480(I#Y%$ 4LA)BKY )12)@7",*05L6;"^W/S0RH1025C&WQA1<]HKB$ M8#\S.,!E9"HP@T1[\@\HWF,&R#?KB2[_LI_?E]J;9$(/*-/.X*''K!(\WXGU M5[&^?7ZH#L ,JY)>>G]N\U)E*[[[\ U\E?]K?>_K [^KJI1>A&_8@'>!W,@S MUPUHIEF>>U&QS?%\OM$I,SSWJG64W[G_V2LL_;;@0RXV"Y&0*&2"0 _[&**4 M()BF80A)3!##F..4F,4/''4P-PJH3=+E7D +^[V+GX'%;HG*)#;Z9PU ["SR M,UJ[M,&[S4]O=9]1[JR=?>XYRPQ>K8=Z=>&WR'R:(L8Q#)!*B,'C!-(P%1 Q M2DF8Q'Z<: 66GF]^;I-W)UUS_VQX0G^$G=[4M4=DY(FK#X9Y_JVS.KO*N778 M^+1YMLXJ=I);Z_Q3YEOAYH[O8[YA9/F?@A0?5ES5F5U@G@KLLP3&/DT@PC2# MJ2?G+L&^%T0\8C'6*H?4U\G<)F\C)Z@%!4I2($6M2CKK[XTO0CJ\078!U,AS MV@HCH\WR$ A6.^:+C4ZV;1Y2J[MW'GS6=F4^B!Z^*]8/!7F\W:6&JS=(_B+T M$1=4(,B1RGH>80\202.5;=,+!<99FF@%4ACV.SFJ[.]*PU ME])Z+IWT/]Z\VLM$)@& @Y#BQ*89KQ %*<)5Z: M^"'/PBO6"]L!F'*IJ*-&BDXBE3$!MUH8KH1QXC7A)!--+?%HZT$/.N,L!> @06@[TW+#,]D\U/]3]4%>B;+*MM!FT9:;7CW^1?W@0X))Q[%"$&, MA#1:@P!#0H,4)C@6PO-9& NM"]PK9)@;*RGQ;X#Z$W2TZ*1&KR(D?ECF:K49 M)#WB&AGZL7?(9U&_N0P[^,-ID(H#%%WEBK:08-ITTO80G62SN8VU0YD!844]D9E+VW$-2W,T .RY@KO"+JQE_(#U+Y7 MJ-T-HV91LV$8#F?U&WJZFKB6P[#2IW4=--XQHXY-42YN-SFY(RS/&C "+L<8@%8]"/29C&*5->)SI<<;;UN9&#$A T$NI1P7G0^N?^U5", M/-F[*#B, ^E5NV]2RQ<[$UK^:S^9S[SM5:>=KOT/V985%YDH"L&KTX?Z MF&%_YKP0O@B9%_LP#K%DK\4Q'VG&)Y@PL(S)-M[=7IYHSJNMPS;G7[,CF\WKU M((W[Q[OF%D65K,O+)@57ON8+Y(LXI22%<:3\WCUUJQJ%$0Q#0A#UN8>)U@&@ M;H=SVY6TM4YF$1T13B6 00H91#&B$.410*W\]HEGA:_K^N!)H;._W8/CZ2 MXD7YV3S5*H FZ+Z^8%U702O79.FZ>@CU>&W*@1F9]UI5JFI%*B?87IL;T.A3 MW\/6(46U3IVL@:,D#70-M",:O5J<26G6%7C'-.RL73N:_BI*=6E\5ZR?_;03_M/K69CRX967^7(?Q<>3AF/@)]%&0U82<"L&AEX9IG(@@\1@QR7&H MW[41]4Z0 %%*#IARKWAJ9 =4\O N?P?9"6[&MP9CH<>LXR \,H27.GA1TS?EW+MS,_:DC.N56&\WRYGU/EK.0]?.*"[1&9@]M MH-Q%A ZA8N49<[;!R=QD^M3I^LST/G=%]H6F/% G)+S-%4Q2'%/*,AC*D56U M'$.(?3^%7I*Q &'Y ]\FS]K%#N=W %[):Y&1X3*F>L:$.YQ&IH!F:]44_^J( M.D*.9CU07"9SN-S9]*D=!A4_F^AA^"T[YOBX+59Y*?=&^./IH..*,GHXFY8MAA8^Y0N,-RSHP]X\/_\_Z3U45XMUJ MP^6_K4K 7&QE;GN'2EI5ID1NMFZ E+DN5:+*O%+)9?@-6W^;-=^R\A]$E:\J7RK+A"P7&?.) MH"*&/@[D)B,+8T@C%D#FD20202KW'VA1WP3_*$E1ZID,YSLS^>:/NQSO\W]+ MEE5M.5("*A[RU4H=N*F;)HOK[PL@ATQ$+%&5-CB7-AE!/B0Q0] 76>HA3S"< MQ W('U9\6HC;#B"0IQ*OHAB#PL>Q5GH&Y6 U^ET;E;M<@GU=ODZ&00T0+N8=U'GWBKP_JNJHG-4JF+I\ M6= XP F3C)/%80811@*FG(809Q[&@2\PH9')U?=I%W.[XJZS5V\ZBXPRAY#Z0<@"K""EL824^@DD?HQAF$9"^&$6!30QM[&O _:O:5^? M 1=YG-($91!'6"Z8C A(4^Y#N5AZ(5+Y,T5J:EN[@/:O8E>?@51W";P&I)$7 MO%J@&W!;ED5.MW46D'(-[HC;2Y'+(+A,9'38P?2)B\XJ>#91T?DG;?,+/#Z* MHEKUB/RRFR-X(G?2-,HXS$)&I8',,YB&&8.^3[D7I)AE$3=++'"FE[E9Q'LA MP9.2TC2'P#D@]6;YU?",/-$[R%0"CG"!T0N!LTP!Y_J8.$5 CYJGN0'Z'K8T M1ME/P;=+49F[>2D^Y\_*>ZJ4PYU+^J[=0FO?G41D/@M$!BF*(XB$_!M6F1#] M+,4B8B(-$[,DB-I=SXT96LF;C9V4'5;"@[WTK>NU79)\_4'1-!M&@7KL_;,[ ME,U-#&/ 7)D>^AU/:Y(8 W)BJIBW8!L91,M],K+;9Y(O5:L?U\4/(OMA;/NX M7:J,M;\7Z\WF;ZM"U![QOY-\]5G^Y*W(UH6X)[\6G$9A1'$(/<&(-'LB"E.< MA3"EU(_]($[3V,CL<2;9W AQ+RI0!0J[DFCABR#&< MIZ%#KCNP(_1/*R:;WHCWHO[OIU4;U-142U\PE'AAB!!D"'.(XC2"-!0>C#(2 M)"'!@21P,_^[P3Y-IOXT;GB[X,"BEM",@X=!UN-6I\"-S)FMK.!-*^UO0'+@ M#LCO T :,Z V.(Z8;;B_21E+6_UC)M)_\;I@]0;LT;P=1-,Z%EL#'\?AUGT]ODI$M08$EX*F=5Z] M]MRM2KOS5E49Z,:1W2HGF(?J)GKS]F7_S!UY43^KO1;K8[DL(PG% JITGA!1 M)B!.1 93X1/L"8HB;GDL=Z5DU48'#WP4;#.N[O MVI.]:X?=].!OPL&<\%RP'IZWNN/XUF(/IAT MU8%U:O?*O>@?>?GSW793KA_W18M?&CM71<(^K*J4I(G'F.AFD M+,,0>SA*LE1X 3;B?;/NYT;NK?3@3RD^8(W\-[LJXR\W[;98_K=5PC@KO,GX MZ%[UCH7ZZ'? 7<#?[0#_O >\$1]\'P;<)J&\!6[N4LR;=#YUTGD+8,ZDH;=I MQ3*P]O)]T!?R7^OBW9)L-JIVQOOU(\E7"Y_[/$,,P2A+/$E_ 854I<..D=R% M8RP21(PRMQGV/S?JZ[\;O0&5#J!2HBK/ OZH]3 T74U'28__1L1^9 )T#[MY ME*\=>*Y"?PU[GS8>V Z:DR!ARV8<%?=Y^W(O6[K]E6\6/(Q(%OL9C%#((&(A MA3CR8R@\$F#,14""]*K:/ON^YD9PIT5J@!(5_*&$-62Q/HBU+387P(UOGME@ M=GUAGU,TQJKKT^GI=_)+;#[\DH+(/O(5*5X^E>)Q\U6*IPR^]5+V]"")3LA/L5PPSCT: MQPQ&?AI"E%)I9X6$0:$.&6.*O !E)E$I(\IJ1%D3A+?4*K1>%'G]KU)I9'PK M.][P"H1PPBE,2!Q#)'SEV.2GD(4'5OJZ?PZ"- M?]&O1JAV;@**TL%>5;#7M1W1YOE*W1MPJ!YH]7/J%C#V(+AS*!A-TJE=$<:& M_(P3P^A=6J-:,6^L=^3Z,"OQ^:.01V9E:LJ'O7Y MR?W!Z8GS78H!+N[2;PSV.'4N#ET(SB3FT'[575VR3YO-5O"%CSP_C@,$"6,> M1%$<0I)R#K,L]2/"(P\'\?4ER>K.YN?3>:D:65[)Z[8060.X+M.X '%D@KE4 M?JP6=-S*8X=@C%ATK.GHU>N-'2JL4VKLZ W+RR.2%\H[2YI-3]MR\UD\BV70 MIF45)&4(^S C"88HC7Q(8QI!Z@\?1@J7F= MXP:AL:]NI)25^Z6X ;6@-Z !;(QEIVMN7895/;EHT7C%C""[R MQ0>YR2I?/CR*XD%NEWXOUG^6/Y5O#UF]+((L9B3@&60897)'@Z6-@;#*%T@0 M2U&2DB3288>!?N;&#+6HH)45U,*"1EH]PAB"MI\L' (V,E%88J5-$9I(]*1D ME2W4S"#_LB>$H78G(0--Y5HBT'WUUR\(D#?R,0A$JUQ,1"$BC+($\3H,D M"%*2)48E2]V(-3>*:;12'F"-7J"C&-AK=@-:W9I4R)5/;T<].R]K1X.M9_), M/X0CD]Z$HV=L2[D%VY'9Y4BH22TTMT >&W..6[\VQ.8HL^S.D;'J99]>GF,< M&(&SN7X$L-VS&B/D>6O15/[ MZ,,O)C8;5=N5;J3&I=Q42T*6W\++;=FZ=G\AJZUBVVTABH4?ADE(6 ;C-(Q5 MLGP.*?KT@)6#LJCQV%_NUZ.\(%GK4MH5JJ M# 0O\?S*2+BJ[4D,!1?:M\:"D[9(PXUZ"H,]H M E$49#!E.)0&0T)(('P_C@VW2882S,],N)!(J*O%_P:U'N /I0EH5#$\V#(= M*KT]U(CPC[PLC8"[@YQ.6NB-EN&IO_=7SO>D!]9LS+-ZI(+DF_@FW+ M_%ENV+*^H+*?XIZOHAFYU6+G,* M#XT0CA(<$3^ L4]"B/R(P33A',:"4C_B/A?"*+G*9.,S2<*!G?O4E$.B9\M. M!O3(:XI6.N>=.J ]"6@5N@&-2E-E;]9$=I*,S4.RS"A+LR9L9IF9=1M])4^: MS_E*5+%,"\89Y30A,(XCN0ZRC$/E0*.\_ 5*42BX60HK=Z+-C7)=^F0H)4&E MY=1N-?N1UR/SUQG/D9E]ZJ& MYD;9K:"@EA34HH)*5GTOZ\N@]E.H,ZC&MG-M4#+RKQY$P?MC.&OPL-ALAFA#VU<-G=3Z[\VMI,J1NWF_%5_&KO/]3+)_%E_6J_+E9 MB,2G62I46!:7?^#$AS1)!?3DSII0#^,L,[+]; 69&VW(KPR9F6760Z!GA$T! M[,@D4ZMP W9*@$J+@V2EY1I0 >Y(SF_ ?PI2@&\KA^GXKP71D05E+<:D]M*U M8!U;1U>W9WZ1=/?\=.3.JGEQ=/+BW/A)X@6>-P=;EO=R35FN-]M"SJA*>/VK MHE.;:>16Z$^W"$Y8A.&<+*BPB#U%&? KC2)W[>H) K!)+ M^C'+I/&//8&)8:#-V8[F=[%9.:XTY6181U+#6)KSL.K9\]=#-?*,/ENJI3N[ M50XTLOE9'8^N-@ZM]'YH7 6]G.]DVM"67D5/ ECZG[[J&DFEPOOP2ZZ0*[)L M"PULWK[\+M8/!7GZF;-;Y?)U9"-Z-"-)X*?03]1M49 &D*:2/Z@@(@L]CL-0 M*W.# UGF9@>T-3>J')>B4687(E&50GK8Z0.(4LCJ$LAJW(QN?<8>C6FN>>J! M:/78U4FI!F*O"JAT&374SP&J;J]QK"1YC7N;:R"[<%%S59.VM04>']>UXVR3 MT2FE<99$4::"R#*(:!"I@J8>9'Y _"@FB*' K*+ 40]SX\9:P-H[W+1JP#%X M>E1V%20C$U07C1&R7EU4W5DY@./V)RX"<$&]T]3_EQZTW%*IEKZ+)_D9_)0F MV5VA*..QOM#YM/JXEE^'OQ")H E/!8S\4&ZP0C]1F?LS&-)$>'Z$A:=WX6K2 MZ=QF>_UA%SNAP5,M]0UXJN\8R;;\N2[,Z\!IC8#F7LPQKF/OS"I(]_*"NQ;2 MYMHV7X%*:(=;,@.$7&W0=+J<=KMF ,+)YLWD7?.SU/U)6Y6F6O,L]?"MN3'' M7KI_US]1/0)B^$35'H.19WGG\-15'N[+^EJ=GAXU-=GIZ7D5NJ>G%YXP=Z9Z MEY4>IM3Z.?5W_J6[#F;B=$[\KE?3V=_;9HF] MY5P.Y^9NO2G)\O_D3]77A*+,HU$60T$\#%$)1 MC.5&V^RR\F)?\[NO_"K*MAB6E!:T9T9*:K--\V5\]7;*3C ;FPH:&2NH*BD= MQWUK@^%H)WRYGTFWOX/J'N]YAU^XIMCFCY*4U4WT9S50^7K5%+Q6AVJQAWU( M8DH@2K" 1"!5LT8$5%)&%"3(O)[BA=[F9C$T)+&3%K3B6E8;[X=:CS.< 3CZ MAML:.\M2@P.8."T6>*FO5RCW-Z#V^8)]0R]=&RBEG,WKB)XTY RA)(8DE-R! M$/4AE9M]R%&49!P%:11;ADGM^I@;;1R'_U2>]U>%2.WA'-Y@. !I9&JPP.>* MX*@3!!R$1NW;?*7 J!.E+H=%G3YJ-KDW1;GX(1Y4@_NK?+)L%JV4>6F82?N M5SE%2,(A(0&!A'.?A7Y(:,QTIG=O+W.;X%T)#4V!?C3[9[WV;P:$]M M+?7[5GG90&>%E__:3_'^MB>9Y%KJM=-<[V&+7-OGW2([GJIO7_:/-(ZLMRI! M75W]KOKK/2D>1'G+?N;BN7JG$SGRA?S*'[>/LG&:KZH6UEOU>Z:RX01,X) A M ?V$J,T&CR 6L0<]+_*S($PR2K7.)5]=D[D15B.K\LZNA 5/E;3*:8#UY=.9 MV??13X^O+M^,*+CK;MX%HNMS#MZ^@+-NZ0J#75G1ZE^@A@1T,#D(!VN_KQ86 M4.-2N5#\E3XP@X3;?Y4/;:*LW7^5#\XL"_@1IU*7I4EJ7)C\N:\]R%E4?1^&Q%G=]YZN)J[\ M/JST:>UWC7?,74^KE>'#KX+=%3G3#N,_?&MNN\\/O^3"E5>>U7F/&_40%OUS M^CH81I[!M4VKB8.1 ^IYE:T<4(^:FLP!];P*70?4"T_8V3\?\U5>BL_Y;MRQ?R7^OBW9)L-I7#VZ3N!8=5K*#O?"@EEY%?E;R@TJ!(1_KJP=&;WT?">Z1R<(I MTL8&@ 5FCNP!DYXG-0\L(#FV%FR:L R))9N?"R\-&:$L@TD6Q1!Q3S)8R$+H MT\SW!$(")5JWQ=I1SE7@JFIRVEC5 MCA(GX:G=W]E&I#8.,M\RU=K'Y?K/S2W=5&7J%BR)8Q8D&41)&JDTGR%,@R2! M+" . M$P0S'"/?#R*6A,SL:/6P@_D=IM[^^/'A_H<9'1R!ID< ]D",O>^O3?8Q9OAY MG1W-Z:/&)YW%YQ4[GK<7GK(\<+M_?/BR>LI5SE?CY+87&YC;RMU"AW%B_-\[EKH9KDJ.X\2B-4/!R$Q/XH[VRKTY[J]2EV9;5GX7Y;98?1<;43R+MNZ:1R@.?9]#'L0A1$SNDE.4)C#QO#3 OER= MN5:B_J&.YL8!C:B@J&35]$6DS0R#E<=\X,+@,O(T>P M3>0$9 N?F5..!B:]/C-][T_GTJ*AQ8''B<[S=ON4KZ)46Q_9P7/.!7_[\K>- M.J7\F*_(BE4%]\K\N:K)MV XI#B)5.(M+Y-[F""%!"4>Q,SCA/$D(*$P<5S0 M[WIN;@PJAKC*U_O4R*[.Y;-6;D!V@IMM?PS&0F]K- ["(].P K&-ECIBC39=!QY-NR,P!.=ZL6;1@6\$Z$Y(2>1WD>$]^ MU=O$RN>*XSB-!8*"$0Y1JM(K>QF!?N0''@])PGQN5OSX4E=SL_E:24%)?@%2 M26E:XO@BJGHDY :KD4EG!U,3N2S%;*Y<';M8#:/AK*#PQ8XFKA8\I/!I*>#! M-RR=/TA>5$6^ZP:_"*+V]?R;M*B8-*8D%[TEFWS3RI$G,50P28Q@B(8T= MBN3?O"PA&96$(H+$R /$4("YD4E5)OU9*7#3< EX;'0 ZY7<5S9: *K4,'0 M,1T$I@&GJIP MDP64/A.S+Q]0([WHG\=;@Y M3 )OT/GD&>+-@3F7/MZB%:L[ /%$)]F/9?HQZ,;=S\W<:Q0 HM&@FHQKI0-@ MM<1&.TK+,=&Z7Q@1Z=%O'6J06^&!E!Y4XN\VH <:V-U'F()N=$LQ(OB3W5VX M'@336PU+# ?N.DQ;G?(&Q%+CHWL1VU9L2[R51(7DMND8F](Y/(A(PE$(0Q'Y M$&'F09*&& ;8C])8,"(X,:O>=JZ;N2T/MTS.S>V2E'(_^EYD.93I(V7F8];8\G9>9CH('GF9:+U@Z?#-6B"H/ MR..Z*/-_51?UI;!8)BGQ._ RRB&"(DH!! MC),$1IF?A2%!623$8B4>U"I[KV]!V$FC-7W2>OJ+0X?TJ)%TYQML),:T#_55 G3C:7]>:'9-^S@G-E]5J10^1%T^U(XFS2'2+OK,#WV&$Q; +"4"HD =Z@C* M(4NBB,=AAC*/F%UX#O8YOSO.3RNYV92\#O+:+VI_ ]#\X$US.?!;E<1+L[JD M_B#H<8U38$'XD4 BB+@JW&5&.V?[F1_5U-RFW5J7N"?) ,W,[0U;B@DI>4&]9.A*W86)R8[G5O7^[ MKCAG#6H0IAG&@0>Y\*5MQ7@*,9>@1CZ.4HJCF";XNL*GQK!.8UO5P,H-6KMM M4[BRNO1I!>^(H.O985<#.3(7GU9"O:G\[MEX-5 /(!BI_FG=QZO6/CU0'#EONN=E/W69"-^)X__"R_97_;U&[W"\$]Y&'JP=B7S(!8E$"Y(^/01R%' M-.6")KX)\?;V-C<"KL2#ZPQN-P+LCRF62G3335DORIJ;,U?8C;U)VR%5"7H# M=CA*8>O-F\/]F@XHKO9MO7U-NW_34?MD'Z?UDJ7=]OBT7+\(\4,4SSD3YXN" MR-VCNA83O$IRLZD,R.[OWZTWY==U^9^B_"[8^F&5_TO49]W?GM2O-PO.)?NP MF*D*[9*. C^"%*<9C# -1!9Z6UKFW1J5J'&Z"4E+\M MP8M0^6M:/6^<[:Y?94AK9>Y"LW: MW&"IFO:Z M]EL M'RO^>9]GF2B$U,7"3]ZLU;FQ1"T]V(D/]O*#O0(W%I[SAF@/WX2,!_38AW&& M&(_@7&^'G=75B6%7D]VDV$'0O5BQ;,&"J(I"64^W*[)\.4@BHTM)%]Z?'?D4 MQ;H*=SPJP]O(;< UEP#38!4'6(W-'_TPC4$7 Z#8$<.E1J>C@ &U#B;[T+.6 MWN)BLQ'B\*"O]1U]:8X!-M_%(\E7LM%OV<=\P\CR/P4I%DQD71?\-NB>+\MZG0?FD;1X5MSH[#.R2]H9=2W?XX0&;9Z[,$8F67N"\*K M;,DF>!C9-N=5M[)HCIJ:S(XYKT+7>KGPA-E?-._O5; M<;_^<[7 (8I)QCT8A(Q E- ,I@(AF#(6T8R$::+G\-73Q]RF:"TF:.2\ 4I2 MB2-0LNI-U3Y ^^>L(YC&WJC8(*0]>34PZ)G%\NUZ%LN_[&=Q7YN33&<-I=IY MK?/H=36EWJTVO. ?E^3!IJ#4_NVYS=S3.DGOUJM-+@$2W*Z:5 >IX<7V>I#& MOOCHP0?\H80=H8+4*1)7EX_J-/DJM:-.5;I4..K,DY:U7]E/P;=+49>$5!DJ MY7_40>4S62K;N\JR++N/42R2 )+$B^5J+9?L-/,(C%!*.1(T2[!6"2FC7N?& M JW0NY*F5;)6]9>.Y$U>:M/"L%JCH'=8X!S;D:-EYLV#Z[R M&>S4=\Y:!<%3H^$UOM-7#+$>0;[&P(W,H7UGJN_:,3NHR;W3#;3*@3_VZH$/ MJ^VCJ#?_#CG7-?*CN'U?(=8K>HA?#V:_,[F#]BT-U.W3T[+JB2S?$OG5*Q]" M(&+MY&^&M:J"-A.K:AVA$;'"&[EWRD*@TVF+FR6DVZGM9XM0#E MQ(:U:<..RNX*%6-6OMS)7DII+2M+^4GU_%64;U_N9:,[KUA!?4'3)(41CCA$ M7H@A3:F F8<#^6/$XR T(S+]SN='8S^VCX^D>%%VRU.C1K5+%*T.538F,UXS M& P]5AL'X)$YK17Z!E1B[_+!-:A*T6]4/5(E_2BNS.:@.2(U@XXGI31S0(X) MS:(%\VN]]TVABON"K&JC[[MX6A?E(A:(AHG D/A)"%$BY@&IEF+! RNM8;@L#J7N]BHY-= M[ VIU;W9&WS6_FKOKA"\+!Y75C=[!R_/;>8>7%PI287L]5'54C"_UCM$2?]6 MSQJ@*2_U#K 9Y4KO+ Q7W>@=MCCYA=Y9A<[=YYU_T/*T1 5%RHDO/X*?9".D M+?!0D,?:@4X5']^6/]>%BI[@9AC+O](??F7 M0. P,KKCLQ9E;BRQDQF0G="@V$D-B$%2-P<#I7G(,@G\8Q^Y5*D)]A*"1HW6 M.[CR]-N/2>=!UZ'LU\/IZC3&7I!ISV:N!NSDI.;Z%FU]A>^KE:^Z#GE/2F'F M,GST\MS8K2,>4/*9>@T?8S-L^5P-R\BL<\Z'6!LE"U_B"TAKY*?%]9':L.MCG_$Y36P'!4RVAF>$R#+*>?>(4N)$)H945O&FE_0WD M*[ #\FX 2&-K0QL<1T;%<'^3V@[:ZA^;"/HOVC',NRJ':&6(5(EL-GNC8Q'C M*$X3GT 2XQ1*5B&0IFDLP8X"&O*$LI";<4M/;_-CE7=->E4E[4V=3W73W2^I MC*OU3PW3K/9AKDI_JIRP MF\_Y2GPJQ>-F(5"8\<#'T(M2!A%G%&(?QS#)HB#DE*5Q9%2,V:ET<]OK*.6J M/"KBIBDR4=UX=BMBM2J"ZHJBT:IZJJMFE0QY _Y0FH)*54./;[(,LE\W!>.=< M7"Y^CU04VDXA/6W,;:\@905G;@(,LLKU(J;A(.((K+&9\@).X(]:5%=^(AIH MV+F+]#4\G=>(AGH'SB,ZSUM-'X.D M-9NOP&>".=P#C?NI? $*VPE\W-R4T_:"*D>3]=)3]EZ9*D!%]P3HXGMS^@:[ M_H8' 55.CV,&H;C*Y_"PQ7' M$,U0JK/B6/0]M^6H$E^%-.T5 '_4HFJ>)=L,0#]/C SKR QBA:@V<5R!3=_V M63;;V3K+?^V)Q:;'22CG"BA:,KJF"?,U\]NVW)1DI9 MEPFM&,3+7NNX -/FLUH1I:_%C]^KHM2N05_(<4_1:E\]GZH:]3FIK7Z-KW BU#"4Y@% M2,48\QC2*,Y@C"G%G"$/8T]G?NMV.+?97HD,E",4 < MF1B&\!OF"3L@>1.B6R=9GQ+0@YYG^&%J\ZXI.#4+J[99J"_J1/2 MZ*E_)@^-YHMVK/1EN\I9_D267]?E;HG%7DA"G@I(,M^'R,<(DM"/(? M3)G<(T9^$#"3>D$#*I4V8A8F74FD8IMA?E*JT^ZO@O^]YQ!LHU0=X.AR#SA", M!;VND><4T-'-O!K%#QT4*X&;&(]=9FN7IIXV0,Z,O>$>)S;WM"$X-?CT7S6_ MPOM4%Y39.[U]-O!]N?SRC#[X1L@+SI2?73O!#&-B=375T^QD5U/#JG6OIC2> MOB(9UR>Y]1?\_5;% =V)(E_S.IRT^O,MD?N@[N7C0O@4JS!RZ",A($J]&*9I M)!?1+ GB+/#]@!@5Z;6086[[FT_-X8GR[#@X5=E6U6%%555=!=O(B:)N>ZIC ME"HC<%6<8EUD(B\K3S+K&'2;D=1;DT<>G]%/TJLH]5K^-FB]^2^L! =-$=+I,T&4HP?29N>P@.IN2R[(IRU.?]7/U#7U:_5#N M!*3@=\6:;UGY#Z(^L/+EEK%B2Y;?U\NE_+Z4N^/"IWZ2AB&&2*7G0"%%,/5C M!OV0LR2B(F*4&AT*F0U>'6Q823'OV90_1R='8%4W9EE[^+AYR%?NW*K_* MKW&!B B8CSU(6*A\HT@$B:HN@3(D/,9YF!&M](:7.I@;T34EA?=" B6E:;GE M(Q#[^RY=;F-L<_4)D+ZH4726NVK2=.0+1]V'N@6[XI,@-:F/;#CJ M.2Y$I0>.U9%13[.3'1D-J]8],M)X^HI*ZJ+\N>;&\_W"ZW.;[(>UPBM9+4JH M'T$T/*\=H#/RI#X#S A3> "'ZTJH'[4Y?0WU\TJ=+:)^X=$K,@_7->2:O(%U MRL"R+'*ZK7SR[M?[\Y#F3*Q[P+]@+ X(PPQ2GPB(8BP-Z/%_6COT'Q\&B4R[<^J37P4CJG5Y,.SZC7UWME %M M'M,F@6E''^7T^+X=NOUH#IP6._ :=H^YR[S+UPDT?6)F)P">S=SLIF4+RZM- MSF 0$-I]9VY,N4_E<9S)X\8X(O0 &PT[RQ*6L8VKBX@X#?<\I[V=2=5M:#H[ MZHSX!\;3N=];WHV?O1RJK3,YI]E/9!X M/@^R)/*"#!O=B>OW/;>97=^O 2F?X06V =R:%]?C@#C%A77?S70CNT)X!&=A M"]!WT!9-V-9_V)3?LA]RD]%ZR5,/IQ'AZ@)%%>KV4PII MX',841X&/,)9@(RJYIWT,#<&4@(JJ[T0SV*U-2P>',$[[T,3FU<'+OVYDA/K9_ZD2FHO8A]' M"'E"SO.LJB'%(>6)!ZDO_!AAE"6)5@JK*^68&R\T^_VV\AYOO/,^_+B[&\GO MKF>,-$V8\9$?VYRI#KYJ%4"M ZB5V#OCM8JTD9*M*D#I,I'CW3"84SC?]4@Q M'P>\8:B,G/ TFC/W+&EKC=<=?5CQJO!CA/R$$NQ!GZ6J@##G*@@\@@BQ, D% MB30+"%_L86Z4MZMJW^S*I)@&%30O ]G/7D[@&9F7C)$Q\C#IU=[*Q>1\BY/Y MF/0JU'4RZ7_0_."S.LMAY98LER]W).=_W^S2RQO?/^NT-;<9?'@0V @/E/3@ M>?-OG5H/^N>E6I .GZ.Z1G/T39 FD"-<:9M 9748J]7!9(>T)NIV#V^-WK,M ME'W+UT]V5;*[;\Z-)EK9K.IC'T R//&O0V/D:7[.S4P/'(NRV.)N.Z*/-_53^_*U35N?)%'0"4\GVOB.0[;G'B4+X+"IW&\EUZT-)0 M6U9H"W[>6Z7)FK1(6(0S+\U@PE54+A8(DB"+8,R1ST3 @\PGAH68M3HV^:JG MR617W5A!6MTE,^,Z?8:P:UI,SJ$<^WYXR-VM$=FAC6,$D2L+1J_3:>T3(R!. MK ^SM\T/B;ZN5]^W2^%[-/)5_&+QN"KYQR5YT#TBNMC W,P'*2A4D@(E*O0/ MSBY5#&>^4CCK'Q5=1F[XH,@):"-SAAY>X \EMJ.CHD%8K Z*+KD6FT04:*N,M@^Z:1\K(3I$U$8Q\.[L(4S_8R=>QAGZIG M @I['[?ETF>Y#JZ+EX_Y*M_\%/SW]9JKB_1OV7>Q$<6SV"Q$FF:^GP@H6$0@ M"H@'4YI1&' _92E.&2.&F<@U>IT?Q[:R@@YQ8FK1AN"49O1?M2B'][V.LJEV@=_H,G^H MMG]MVGTN'T^::@&92W1(7M[$$TJVRGA4MO M3;O^%J:K9J>ER4$=.[TW+#CT3A39NGA4*<2K@[1N,:JV,F,F*!8)ASY3 0M9 M$$%*/ )%'.(@4 DS$ZVR49K]S8U-.Q*#^K#XH*J: 4-H8*W!K6X1')E@!\"S M*2:J\\7JDZU;-"=B7-M/THQO]:'I)5V-9J9C7GV=#NC7X#6[K7,;B?:]KH#Y M.2=,Q=(G!.(XP)!F(J8\)#05S&SC/-CG_+;-!Y$4 MRA&IK1C:5 DUW$D/HZZWCW:*Y,B,W,H*6^@ZTHY0-4H;&D?;Y^'^)MT\:ZM_ MO'76?]&.=/J>4>EXHIY[ MQ&Y*?B1Y\7>RW(KW^88MUQM5E6D?:)'2@(>(R@7?\T.($!80^W(K%F(1R@V8 MCX(P,YFDO;W-;=HJ84$E+?@BB)+5X$A+#U^]&>T,M9'G> >PCJ2. UF,0'%$ M!?U]34H.6FH?TX7>2[81II]6O*K!8112F%,E%!*X((6U;FCAZ]$B!T\#1XP_A+*'*9DXARG "*1)?Q5^YCGSM&!QE4"OO[-IL^EI*7Z26D_O M+3M:J:I JU.M0OP4JTW^+&K7G,_K37U/?D]^W:E JO7J,-OW':G.IW :)(A' M J:9BG?RLAC2S!1S*$:50+AHB#2CU(]\S63>F'+\) M%I9O0R,W[6CI+3L3CL'(ZU(-_X$J;::B-Y_KB=-X7DF5;D"CU$E9BUHO=PN8 M(X =K7#72C/I$N@(NN,UTE6S%@X,]\J[^HZ\J/::H_$/O]AR6Y6K5Q5#!=]Y MNXK-@C,F,DX"Z+%851**,TAY',.4\BAE(6-9I&6H6_0]-W*MA%+N84I\@PMX M0\3[27-D',?>K5<0-I+O;L]4Y& C/6C$!WN/=]U8 *NO6]_Q83S,)W*"<(R] MF6^$'7J]?A*&34[G,V&GZX'_A&43EKX4%1R^-".*J04;Y2#@O,ZN M+N(/&Y_VUOVL8B=7[.>?LDR8SWX*OEV*;]GM,\F7ZD/_N"Y40OX?@FV+ZN;^ M<[X2GTKQN%D$'@J1[X60!22"R&=RV^X'&411AM) I)3%R"A-ODGO<[-#W@M: M@KV<-V"G \S6!=Q(+< ?2GI0B6]XDF@V,'ID,1K<(W/) -(_M)$V3X!O@YBK MM/=&?4^;[-X&EI,4]U:-6)Y7/HF"*'^'SX)LQ#]$_O"S%/SV6?[T07P7CR1? MM;]4X?#^ M$PB3(60.S'J=QO!5S^C810L"P@-!91&AA=C)@*,#>R:R4&I!89 M%*W,8*F$!E*(1R!G(UBWFM:_,#SI,ATGS:.M$=$?^RQK!V&AE"9VK4RK3[J<]EK($Y^0K5>5&?F/O/SY M;KLIY5ZFV&]Q-ALA_Y_+W#@J*I10AU2 MN5MSKH#0T;)C(\&D*\\5$!TO/M#^_F;'7)>] M_ZQ//8<@US/!' (Y-BU=AZ$C'\JQ3C"'>IN!%^7@*:7N:^:9X&\?Q8JK"^6ZTL1,.*.GT\[T? MPM5/!%>!,/*4U]3?**O[65VMLKD?MC19%O>S"G2SMY]_P&Y=_[)>B92J7\QA#&G *_4"D+,EB1")FLIR?[V9NT[&2$CQ6 M8H),R6FV8E\ 4V^AOAZBD2=KC4XM(:A$'$[]8KPH]Z/@:"V^T,FD2W"_HLQ4#/,+M 7QV.> M;Z 'XFO,]YEE([#&S%7,E7#U5(]"(@ M/.6^B"'RE5M4X$GFH*D'$Q(G<KLKOI!1W0GZ/ M*HNSQVA8!T@B!E&:2EZBE$"YH4P%27C( Z/K>E,!YF9BGOB/[=W$>",]D/\6 M8*MND\LUX**LZM((4/X4QTYE8-GD%7L!;YYJA4U#*DT'5(_UQARFD0EPV-&L ME1\H!6Y H\)$KF8]X$WA:G:N^_FXFO6 8^1JUM>.97S!V5)GG2PQ;U_VCS35 M[&[_)$5=(VU3E=;FGU92F'S-IM.B]14H;[:"(W,MMTBCH>^ M"9W*;/0%G"WVJ/2[J7^U ;6*0 YJK:3#X(\#ZJ\U4X\.PZCVT_TXX$Z]C;=0-$)W'BZ@7,D?_6 M^3Y>T76K5^E^KZW^5^V,S\D^/3\7ZN4ZVVEQ(^H2CD%&Y#?M:<(\A&YI8]5ETQ M1[CXU8##D;G4U].DQH^&RL>FC,XKEIM3L5PJQ_85KZ^9Y=^;PI+-5XV(C\,, M"QARX4.497*_B=-0Y;+V4, #C)G1*=Y0AW.S6U0P[J8Z%7]LY37<,@XAK+D+ M=(C;V!N[6M0*M)VPNVJQ[CE$%QI7^ZZA[J;=2FDJ?[([TGW/(K%7?>SR+6LK M850U=^[DY_53TMB=_%8VB]!/<)S&#!)&(Y4\(X4D#'SHDS2)(^S'.-(ZQM+L M;VZLLC^8$HW,8%/5@7IJI 9/2FR#=%,:F/<3S0A(CLPS#8C?,M"*VQ33:@4& M=^Y!-,C3Y1;,B7)S70NJ63(N?8AZ$W!I-#-=TBU]G0X2;1F\9F?J'5UTM/V] MSY=;^=/ZT.O;MMR42[2W25@5CJ!G@S="I=]$$>8O DZ:ZNMSS9L.J9 M_",.UL@K\\F]^=[>::YL.G+?@$8C=SL"2^0<;1!,>Y]TOV )S?'VP;89\^N3 MCU+3]4I\%VPM^WJ1FQ3YJ55&T+=,'8<05N:L<84QODRQ:GQNFXE&"=!JH;)3 M[/10<^Y8$_W[%3OPAV];1L=]9((SAGR$"YBK,+2ZCK'K<;++F:L Z5[57->0 MG76N$CSND_X=IP/\+L@R_Y?@OY-\I3*S+R@. HIC#S)/5?]$7!J&H8\@IG$4 MH8#%S#<*O#?K?FX,V,H''J2 ]6FMLNV42;AJSFVKB@:;G89F]IWAX.B9=^-! M/C+Y:>0BO0&[(5$*-#4GW!EX=M@YLN\,.Y_4O+,#YMBZLVS%COD^K21%B$U9 MIQ%O#J&_KE<[A^>OHEQ(AN-)$G$8<55M)TX32#TO@CY/TI#%%.'(-SN,T.EV M?B<0K=3-'K8J?V3&95IPZS&8:PA'YJT==FTAG$9B50NG(W15&<<=59F Y(B@ MM+J]MYSGZA6RK+>^M]ORY[I0)+E(HCCT(TE:Q$-< M935)8.JS ,8T2CW):2E.@TD(A*A+/S!*^V-?\S-]]A)YH9/UW MRZ#'$USU"-L)5B/3[1ZD5LA1:A -0N$Z*/&DG]>)/KRD[L4PPXLOC)*Z?G\, MCX2/PB3"D'FA#Q&-(V6#"IBF+.8193CTC"Q/W8[G9D:>3>B].\[;,$PS'SNZG:CL9TV]^M;]M_;O!!WA=J^ MER_*L:F\77&5MN))/;+($D8$20@4@F&((AY"$J4,ICPC0B2,DCA8K,0#*077 MXRW]SK7F5UK/KZX(XTVSU@%LH[8^3XWK=#* M0Z@1&[1RWU0>CN5-A?*'092-^Y1D_?:Q MU _:/7UW;F;2Q0( MX\J(89)4.X9H/K)Q 5&(U.&+3R&0;67,;",H#W3X(3A MLI?5.8R-[7G.SN+8G\RH8-M/JW?D*2_)\EWE,%KY5B\$9L*+L@SZ*(T@RA(* M*8HSJ/)3B52PP$>1V4G*<*?S.U+IG*<^2:%AO@*L%MO,L- 7,^@< OBR*S0 M0:^*O)?H-?+>@%KB.GS"G?F@#X\CLT&CPTG-!7T CLT$@S>=DDX3Z!DP02/D M$XB08! E&88I1AD4$?6X2'V$$Z/LZKV]S1LNY'YN"X^YBNR8BI$=W\=M5EX)&5QY(>0 ML91"1%@$:4 13),P\$2:DC0-V].1>\WPV:%.+4Y%[B=@E-T>OA!+U:?:RV>M M_(!T%#"( !T<@'Z&<8?GQ.<@4E:P$[9[+^\4/(/@69<@3A0Z>PV89F&SNN#T M!LT.-C)=R*RN/@@$) MI1G'":2Q3R%#(1))D/@TY"9FW*6.YF;!-7*"2E#02FI5'^,BMGKVFPO$1B96 M.[",C;8A)!S9:Q>[F=14&U+VV$H;?-YRD[?9"+F6A2+%-/*PG/=!HD*S&4PC MC\,XRHB/.65A9!2:73=K-.DG*ZY *MD,-VHU3)H[,F/EQ]YZ]6MLOKLZ4-#5 M-JIN=-K]TH$B)QNCP]^:7[)4WG6;=\OU1MROOZR>Y3E8%?_F);J, S M*7O^G/.MI*A>((WN8'10LKJ+Z6UXLCL9'?6Z=S-:SULF*UUO-LKK1!KN0IKO MHE/E.&4Q#FD20$\8F8. 4<]S._V_U[%PUJZ$A[#I[>, M7 ')R%-R)]D(MVL7M':T1ARW/NG"<$&UX]7@TF.VIN/JX5X4CZU_[-YJ>OOR MCI3B85V\?,O48M,^P:L#1DP]A$620NK1$"(?R;]1A&!&I5V9T#B@#)O9E59R MS,[H;$2M4A=)87?9/OG_7]VU],9M<]%]?X66"3 $]!:U*>#$;F$@M0W;01=9 M&"1%VFK',_Y&8S?^]Q])C32:ITB.2"N+NHDCB?<>2I>/>WBNT?ZN:>^H3D2M M8VY[\#>&VV">>A)8@TUBS:QP/,,]":K=Z>]ICS.E(/WS6BT;-O1^GH(\JXJW MC[W>BFE 52[I'5V\E836A8^$"-;C3#ZEKGV;L B'/E^*$SE)RA(&8,K7Z$F( M\R2/PC##6NDOVP:/+=1*GAF0SDAQTL8;71J4Y6Y6W+?9WI6\N?PZV2]1 ML$XZBRU)LI#U6=E\X7V=\]EUQZ<,3?@[]+.'+6KR5P3 MYQ\6[P_?[Q["/"=QBA@H)#<")AB@( H \RGQ4>[3W%<:'-:/'%OX_L[QXM_^ MW9*/X*K6X][WJ\O[BW/O[O[L_N)N /[2CH]'MJ=6%]<19O67 M=7#I/,H-56G']):/M/LO9K.W/U"YD)_BZAR,_-9OA1+?HIP]KO99,$LB6+ MD!R%(,[C".0D2(!?P)S @$_0@EQG!J;2Z-@^0V&S)XT64I,K4_6F4$I8JTV# MAD;0\B>]%SP+FUXZL PTT5!JTNED00>$[0%?ZUY#H2%1A/);6:L9E[2ZXE[Q MQXOSWV%!PP0E%,0XEBN] L LC$"8QT7. EK@6+->Y.'&QKQ0K\,[ MND/]=^CSLOA#KNB\*76J2,3:N&EL,PAN'+BZN%;\F':JHK35"),57IN/]KTYVG#^2A]2',19 MS@@( OXCCG ,(*,8A#B.65ID$8RP#L]8M6&M[]49$YF]+H7FPG,Y*Y]?^: L MM]I>5E;KUG)6[ &$6 Q7V#E.4M #"$#T,>AH 40%/*I$$STN&@V>L!!Q/RX M'E#,"UK U7(HKDV>>&O)1FGUI)U(O4\$\Q53>0!XR++;>E -5H-;L5G'!;GU MP-BMSJUY_TFZC[?T&?%O;_9X0Q=LOG@61URN\;1\K ]59ED<$!H@D)+!]U1+6M;J%VZ*8=U>+ MBD\WF[?A9GQO@X9&Q*C>"D?['UK\XF'\Z>*'9!_T554_B/W& Y U-ZQ1X MM>119,EC$/^'LUFQ^8O.E75(:4B9Y[3^/__[]+60)O*0Q./6+5K2"QZ%R/(A M"6-,<)B!G"\I0%P(Z7D*1>')T"\PQ&'""IUHX=;\L86B*RI+5=:46"DM6SW) M8\WR#W3MJ5YLO4EHN.W?KEY1XW" MFD3]J0'BLV16UUAX#1B>0,.KX1@NCG],-PXT2#@VWND(]#$=LSV\?9 59F,G M#[_"@IO%_*TL:/'E_3N?E%_.UGIY9%F^U46>FR/UB/JX\'T^X+$D!'% A*Y5 MD0*4I!2F),0XAGJL+WTCQL<&6\LYHM9:S=)S!GVA-N[8Q=&ZN;CVKBZNM?AK&U [MJ-E\?M6F".AV8IWF8^C$&,"8YB#., "1^ M!!#)PA#RQ4@F-N]MI_V5[1U;,/H+_90TS9ET0.B-5-(%#TWE-\2GV2_\]R]- M2M =/4#]%;#)#[#2L:,B"&QI%=0IX-IMD?JM'??6GHL]N$Z*>(3O@PN&@)7W M8I04 :OOAR.*@'9OV>$(J)OQ"Y $M#$=AB6@WZR!R'CQS_UG?'3!&Q/+X>!B,P=35#KIO)@R^\21W2N#['-B0 M_MY[@=D&P7Y=FMV @-5I0SP.$'&*FD!8)#@N0!&)P^I!P)<(:>R#)"91&L1) MSDBHE[&P9^SX,AL7=S?;=-"5T\-MS=COF('V=RP:ZG23R#[@VSM-#EHT2@7]R8U; M::F3^$Q9XT>;CDDR(VIOFHOL>[3%$INKJ5M5*]RY!M.I_)E//? MY?+I*U]&S)_I0E:UNJ++AS2AQ,=)"%@:BM*/80Y@P7P0YH3X29XGI-"JX'VL ML;%%D,96[S]NK$=6UD[JVG":[,UC&*M-[H9"SG+XV 3M:PN:-)5CQWC/>6?3 MZ?P_>8Q6:L8N:%&*DI'5@-QT%;B&8B >:\HM7U#!Z1UVG\H]9I'E;UH^/O$% MUAE?U_'5U.9&U_7KLEJBF2 !\DEZ21X@2U,8\0"39)" .$Y2@!EFH$!% 1D1 M)4D"G5"CU?K88H\TROM4SE;9J\]Z\48/>1+D21HF%-"D8"#&- ,Y2R. BR0/ MDBP*((GTMA.L8>]FAZ Q'Z#:?B%;+M:'JTSB?.V ]UK5==B%L/GKDGI8=MRL M/@3 OR7OTY3'M<\RYRAO=]6I:J.*M8ZR/,PT=GLKPYO\S;S-WW2,GWC2_.$& M%R/4!AIM]-IV.OP8P;(]'ID]1+^LVL5L*:@AM4[@+7V9+\0)+J%R_5H]8!Q' M, T0\(LB W&4!" 7; R&4X01+<((8I6QJ*^AL0T[M:W>REBOM=:KS56+5[WH M'@]-0V)F.0J9PJ55X4X%"Z."=T M\^>L:(@(A2'S:0CX-)2"&/(?"&8%8'GB^T6:(QK$F@OA0VV-+2ALF.H)6SUA MK"'+\QC(RBOA(:"SOQ V0\UDJ=N'QW KW8,MN5[H]KF\9YW;>\N)^@N768>BT\#%"#+LN'I1BV'/I M0)."+^]?Z(P\/:/%OY(VE,0)B@I$0410 F*2)@"'?@!@SHH$YM /0ZWB)'T- M_@+3@]9>HUJ:O8@;3A-.P-']7$$9PM.G"P=PL35GV&[N8R<.!YSOG3T%T,&Q'@0X._4<\50#1.#=P$C".:/Y*+XH> ?^@VT?Y\KMW MN:.W'[1X@XU^^"I]%M'-V\L]PE.JRA5JKA];G+E![]Y;M:'B?%Y69#H7Q IU M2E +Q_%P8XJ$Y2!S% 3OAS1W(&K/MO=&!)[V()L7V.K87> M#V&C+ NONU38 Z3:XN T>"Q_HYK(Z-.1#SH_%(UXMP&W]-^##N[0=@]?.50. M08X544&2* @"@'RIR(I\@%'@@S0.4L@B%L(H.RU],,81=\^ZMF^$T0'5-%TP MLB'9 *4!<@0](_,PZ0%W([>:H_U)@1-&]T&/@;ZA C\-$8IHP#FD$<4G_D Q04"40##D.09(1ES+A/19_78 M1E1ZAU^41W12/X MGQKNESB2X955]2H4 M&S^AXKJP<$&?N)'E&UUG9Z_H\IK=HY_[=8);7=@@CZ(,TABD/E]$Q;"@("]R M"!#.(I0&:1;FN4%E]I.,THE6+BNXDZY3FS3TB62F\TG-$OW4%/,=H!/5UFMN M.\;RC*/ND0UO-HD@$^^J[A'NE169W^'@'++._&D&N:]'/PB >^O6#_-D_:P. MC_6/\QF]I63.@]/[^2N]GY^7U?]>T;1D)9$CB;3@"YU15BZKL^>E:@;(Y-EC M6QJN?/ :)[SBE8J#/MM^--]NXTIO.=!A>J(_^62[$RQ'3FOX:^6P3@'1*-]E MU*"SW-@I<'3S:"<]QT#^3,QYJZ]\"L3;^6OV4HJ4IU9.^_ 3QA:W:DL]::K8 MUKHOG^5W\]?5S64GU:NX)=G\4&@8XR[%&%;-A\^/]T)AIJQU^K#NAM5[7 M-E37^J\V6WB>4[R\H^1U4==6Z"QS[]"4RA;6.BXY#&CD1QBP."M '*8,P"S* M 48$92'#.,FTSI_K-#ZV(")L]ZK6^(F'&O,!FR] Q1W06SUJ]83:.M$6OI9C MC83VK@/MV0:TPO95F/$&%=LY!;:!5GY:33M=XYF LKV:,WJ&08;Q&ZTJ2MN# M#M_$>O!;B7 Y+9?O6U]2'$0!"C $09A#H24? ,22#*2T8"P.1'TKI9BFV_#8 MXEEM^J13(78JTW[3QGR-!(T._@II.$NH6HYB#:#KXTW2<*^U7">&G8:Q1A[+ M$M:.4E&]F ^4,C) Z6C61^=Y[A(W!EYNY%Y,[C]!2'@WRR,FS?<+-"-/=,WX MY^A3E).(3V*3%,0T3P"$/@,D1BQ"/.S30$NO3:/ML<7\5655Y4,E)G"KS50M M@6@YQ.\5T%VG%B?>RG:UXRIFFKEZH TI@JO8LGM56SU(]LK4:C["+&J=$2FO M7=U20LLW$0]%%<1:MJ/-"*8L2B*?)(#ZN927C ".40A04L1!D*5QXF.]M*Y* ML^-+W-Z]/C^CQ;O8RT8K![Q%ZX',VNH%,27TU:+7T(C:WLMK\+OMX-8S])BEO)96HY E"0(^2G%D"I)!GR(]6.;Y]6V M\[C9&N\M&Y/EA[ZB\B+)QJNFI=1MK(CR'N;'O",*6P=C[GF'DU/#BE\-&U.^ M%JN7J(/#QA')%HG^XA C>'5<,'L=O$*_3O$X2Z^2(Z;OB5UIA_%K:M0OP/P] M$>]A&,"G&G%HFM5]F;_Q/_W^6_,;_D,4/_G]M_\#4$L#!!0 ( -J#^%:M M"W2FO'( (UJ!0 5 8V%L>"TR,#(S,#&ULY+U9=UM)DB;X M7K\B)N=U+,/WI4Y5]5%HB=2T(J26E)5=\X+CB[F$3A)0 :!"JE\_YN JDB"Q M^,5U5N9"<;W7EL_-S=QM^9?_\>WTY*>ON%A.Y[-__1/_,_O33SA+\SR=??K7 M/_WUXRMP?_H?__9/__0O_Q? __[E_9N?7LS3V2G.5C\]7V!88?[IC^GJ\T^K MS_C3W^:+OT^_AI_>G815F2]. ?YM_6?/YU^^+Z:?/J]^$DS(RU^[_.GBGP.J M$+0KP*UWH)+G$+558)QTTF:A'6?_SZ=_#EYRBT9 %$*!C*=_?V?ZX<8EO@3L3=;KK_\US]]7JV^_////__QQQ]__A87)W^>+S[] M+!B3/U_^]I\N?OW;G=__0ZY_FWOO?U[_].I7E]/[?I$>RW_^W[^]^9 ^XVF MZ6RY"K-47["<_O-R_G/]:<_/Y\3&HC.]=^MOG_! M?_W35?_T1_]0VJ0IEEZ[?]W^=_^//U2[\L<$E(63/YAKYQ M\??U+3L2@-]6.,MXSM'EXT_FZ8=?.JGRG%_]Y4F(>++^[B3C=+)^ZK.X7"U" M6DU4%%*KPD'J"B8="SAN)# >LY%)%!]N\5OI71+!:_$O,?WYT_SKS_3@GZL, MZB=K8:P%<>=UYT+9C^[+]?:1?G=22LHN&0Y%H 9%9$(0,@+JZ%5 D8*6!Y%] M\VT_4GU3F<\6Z:?Y(N."#,;EZ\(BW5'LCU"]^(V?OX0%/0C2Y^E)OOSKLIB? MMM#5:MY A X@I49KM>32B2;*O_7BK7 @^L?!(?+L!!+O M<#&=YY>S_(*VWHG.QMF2-6"T%I1!8L#H0E_&Y#U:[F-J H@?7KL5'&3_<-A? MEIV X>,BS);3*O@+0#O'&$.606O+2"+: OUEA)!=5)[E9*5OLSO<>O-6D%#] M0^(@B8Z,BI>SU73U_=7T!'\_.XVXF%B!W#&5(#),H!3)P;% 8LF]=2L4F-Y1<( DNT#":PKA%V3"UH+_0/+'Y_.SV6KQ_?D\X\08 MIY(0!&=/8;6T"61%&UZ4,@4DOU+#IQR F*RF"C^S\*9!H#9\/JMH.)ZATH+V78! MDF4M&&,-UW2]= X#<\^JMP.%[ M!\>A,NT)&,_IT[>+C_,_9I,<4!6VCJY)%$I@ 5\"!S29D6]57(J'G5=M>/%V M1U?LB:!B3X'VA(GUUOAV\6XQ_SJ=I7H<%X*+G"(IE@UANY!#)9V"XB@,=\%; M$TL[8-QZ^W;HZ/ADLYEH>X+(N_ER%4[^O^F7M>LDN--,$ /%.8J]HK,0LT_@ M;1!#1\8%G([&.#(YJ]9XM,*SIYFB](>)(AY:,$X M"*-$X3DD8PZ+6&Z^;3L ='S$N;?H1E9YO1$]>?=Y/KL\@='>*(L4:'MMR 5B MG%R@H!-H%X/$:%2T\2"UWW[C=JKO^"CS(!&.K/X/F,X6!%TNXL?IZ@0G+ DK M?8P$6-K%%%,!/)<$8B%C(6?'6&T/4O_M-VZG_H[/, \2XODP_?3 M.#^9^.B*T<$3N=;7(U?:I(0WD,ANJ>2L0'/8D<,/K]M.\1T?6^XOO$X6_6OVT7 ;!21BE]P4$D4(&<$%FWQ1VGK+FBS\FV_=#@,='TD>+,HN MPH'G9XLJKO,;N IITL'93VCIY$XIE_Q15B%"[8F(K#HA'"0#!+4T1J(VO@J*RU$M"$U M@XB^=AA9_FB^\3"G\$CUJ!MJZ>G94",4D#P<:D ME I%L]P &3^\=+NTJ>[/(/<79!T9U(7%>)A\>0]+]T.!]V?-NXOR"YP\/(4%Y]HR_MU,?]C]?GY_/1+ MF'V?B&R]RIA >"*^>L80=); 52*[AIJ+W.(8^MZ7;X>+[H\9#Q=L%_CX\!E/ M3BZI1_**-68&62J2" 8&%$('T$8GQE6T2K: Q&CL\<#Q1C%R @PD]K M&L<\_?W#9Y+;\NW9JM9MU,AZXK7%8"6"R8)<()THIC;>0BJED%,4K'9- I ' M:-@.)!V?3C86-UVVN_X^')_X762C/]JNDSAY#\P+%[1=Y838Z)D!%%@ M@59W).1,Y>T] IK") M8$QAD\O@8C3@<@@.K):7W[E>>+O0M:]9N7S'L^42 M5\OKY2181NDL."<-.V%RB)B[0,OSL/S\;);K/R__\VSZ-9P0.\MGJ^=AL?@^G7WZ]W!R MAA/%':K,(F@4Q);%!"$H1QZ[C"IED85Y*&=W'_1L15@/:#H( O.AM=$%R%Y@ M7%VDL$QQ^>QKF-(OG>"K^>(#$SU):G&%>7U3C.T AD.1ZTUT06\?B1?"26*C!*8, P48QE<(GG"1FX"HG=A'O"J[CBG/7UN[[)SBQ_#M7%!U/4@GR5\C#S^$6M;"&>VV10I( MG">7 K)D'NIMM5^XOXF:'MSF)NAI)/ .H//K?)[_F)Z<3+A/*!.K/?M"J>7/ M6 _Y-014.GM7I&&MKWLNW]V#%]P$%GL)LX]=Z-I/_WT^2Y>NNE4J2(:02\6R M,A%<- *\]EF79)3/K8W'O83TX/.VV74.%G,7:#GG8,)3D"8X50\*U>!5 MT*"90\7I9RD.N(*= 3L2L09GJC#O.P1F3"> A2=W:>]V6MG&CH<&OW0=141>VYP9G MMX\A@E2Q N'5U-3^,_C>#[!!5= &K MR[N2=^%[O2BY/(\*S$;&,8!+KC:T)?%$1 '2VZ2<8XZGYHD>]U+2#9P.TO2& M"ZH#A-X+>.IE[5TI39*3,0?-@/P[1Y 29: >!20 MA1(>F8PVM][CMJ%KW'/!@;#57"%=P.R>I:*4]Y*K#-)Q>QY_.!$B6&94XC%C M?K (JXWC-.[AX$ 0.E#8'01[#RZ"&X<8)0B716V6F0V%P5)00&Q-A(",*4?J ME_RA5E3-#=..IT?'V/>&\\2'4%(7QNK':YK[6/+:\JQ$ )YT'5BF WB;%7C% M"XM!>NE:VZY'B>IF-QP.<6T5T\%%R/IH]H;H;G"BLM;6.@Z\'LK1.B&?$I,# M782W.BC:Y1]JVK_W,?B]U'2S30Z(K3:JZ,* W6!CP@S+C-E ,D$&Y ?407I$ MO+?1:Z^T0M7ZO/S&Z\>]93OV@=1.PN["S3H]G:Y.UP4*LUSW<[*M.$MK5D*P MN0@!EM@'A1'!IQ3);=18:WIU$JV/T1\@9]S+N".Y4VV4T84%>D!&+D54CK-: M\"*(%T.[<^&"%DI-!4=,7+;VV0^\D1GL4N\HN&JDBBY@]>[RS6NFSDNI0BC. MU2HJH5.UN1DA8@Q@C5+%\@8NZ*VC8[O9E8?).X./.P;[:S.Z==" M$N>U!$7'6LSD+7U6$)*QT4:'QN!#W4;WW==NTC#V-? @6#E(T%T8EVZ^2!Q5*%1!Y>L+E6B&7I6K< MP'\@.#561A\ 2^GL].PDK/"\1*6V8ES@9YPMIU_Q/*OSS7Q9$SK?EH_AV\0Z M%Z*MQV7%N'J8H2#6D0&AF,!%EA[S0\WJ]KS'VX7$<<\%AH+>@&KJ H?O<16F M,\POPV)&,<;R!L,OL$S3=#4QS"HK50$G6O$W,>I M&OBP,GO@L@\Q&@E:1=GI6JS=E=%""D2GQ$ NV+KQ^C*9QQAZ/ M=;!YN%J:P>RX3=S>K=7Q&5=3^M,?>6G5T>W'5QRCO=L#3!VSUYM+)H5,L:$1 M,E8KY0B64@%!2A>G?.V$TWQ+&+[7VX^')B3KMXOU:_,Z+'Z'BW5;[8G))5FL MQ>@LU0Q^E< Q6J,V\.*2$O3MUFU(MJ-L[).LQLAY^$RKB7JZ\+E^Y.N\=?NS ML]7G^6+Z7Y@GT@7'I7=@5"1^BG.UW"="RDI2&&TICFZ]A3Y,T=B'8$>%V4'J MZ!9>KY?+,^)%"U&B*XX08#@H6B'@T64(,649L[)8C@&MTW=GO MF>#(I=+@I"MUOK,$,LNB#O54S,C ;7IH/M&!*-O+]QKP'.QXZ#I($7VBZG*[ MMU*Y8!7P7.=WV13 *59;*18>@[2H5.O\T VDC)M#WKYZ__>W=^Y=_H=]Y_>\O7_].7[YL=KKZV'L&.F+=B;U&YZSGM]%7 M<+W"9C8A,Z1=3@1M:KM+)+N7BZ1_I?KA7R]\%"T;L"2%$#%1'M\'5A&X8FVQ9!I;M[J?@\RQSUG;8&< MNU?9P^JJDUUT2=M";;JUOA7#Q==IPN6'^DT*(A#K+ MZ 7Y=2?S=;?K2W:L$\7IA)!CIAC5.0,.E0?N4OUO9L&V/BYXD*!QO9UAT-1. M UT ZE>N$F$=(&MBH"0 M,>YU[Z >]9ZR[@ NO\]G\Q^YN!PQ=)5=K:5SREM EZM3%P7X$!7X;)7UWLFH M6P];>92H<>]VAX!26SUTL6E=3EC\@9V;?-:A#CIYPZ1)P((BF7E5*QVE!A^E M0EV$TK+U/K8-7>,&;HW!<&($YG9\34A2LYGRU_P3)?X-7\(UR^ M_$;R(_5-9V'Q_37Y'.NV;?7N<;X^B;NTYY,BC&6>5RG47@&6&7!&<8A&YTQA M4%1IF OQ0=@9-^-J"!^O%]UWLPR(Q8ME_ O.L%YE.2YJ(C^Y'474FW+M(&K# M0,NLI0U1,M>Z]\@&4L9-SAH.?H?)O(_M&%J.025!=CL M4VT4+E)JG9#P P%; <4_):#L+]\.+,MEBXG+%/LKB: 5I$C&0=>F RDHIH)U:'RM[ M"%DDJ/.B>/+<<]'Z#.Q>0L8]EFBCXT> L[O .T3-B^G)V0KS)&:O',^I7EW2 MUFHM@U@'IQCRQH+)EJO2^G1K RGC'C<S MTXB+M^5.ROP%>R^FRW0R7YY1F%##@2M)BAQ$YJ8.L>,(2@M??7\#]33%F! M M^M8)=FTHW\ZF/:D8'G_U[+EZ&4+DN*Y;VC38V3 M:-$'J+4#T1<>HVE]77$XU=M9XB=5Y7%D578-W[_.B+&36K?^E_E)79F_ANFL M"N+M[ .FL\5Y;[[%=%G-!WTY^W0NF:O6M-P8BTD92*F.WBK&@C=%U"ERQHFD MO.6##!$:@)>1\\6/C,HM%\51 =*!;[))#J_F"]KB9N?3#M/WCXLP6Y+,*SAF M>?W5R3E4\O\Y6ZYGK%PI;;Y8_V"U6DSCV:I.!/XX/V^0.$'::9-E"5(V%"U+ MF\"KDB&)K$7D@>1<_S[7PA#J[N >[!Y.KS?$8B-CY+"BJ%=Z6GD( MVM99\$X7[5FQ8H ^*)O(V<[I>5+5N:V$_W0:2M]L#/+AX]OG__,O;]^\>/G^ MP\O_]=?7'__C1WX:M3VYYS5'Z'KR&'/MFTL_T/F<<1MBU!FTPGK?83QX6=O' M"6VDXHBN>6''5H0=/EOAXB4?JPF>I)BLS1)!\"!!&7(QG"-_7M,2TCQQ+WAK M>_4C!=VTBVZ$A;OC%?:6=P>.W!7UYQ*IQG<^PSIB\MMT.4G.%^:8!BW=>JPD M)U,;:DFI>Z]1WL@P1U@J4]-+T)- >+O0,,W>+AQ?PT3&<3$Z/#K#5@ MX %4M!J<-P9,MM%E)PKYG*WO[^\CI!/,'*[HVU?X!TN] ^C4.8+)AV-\% M,XP%4R>P R830?%22#2I5DB89#3GVOO6U^$/$C1ROE!S^+23?@]0>GQXWP5C MBF02I0F04JVYD3R#*\&#B2;4WW[?!1_& M%DV$$Q]1U(JN==&)3L"S-%9QH8B;QNBZGY)Q.U&TAU(#>7=@IJ[\QC?$RSK1 M@X)4J6F[3B"M(D,KBX48I -)6[FR=5:;;5W?*3J;R-(S ]A-P!Q"Y?=+_ M>G;WA./]_.3DU7SQ1UCD"0\J.BDB\*0+!1LA 7VM(02CE'-6F-BZ?]*.)'82 MJNV)B+LE8X.IIXN-[<$>Y4(R45CQ()(5H$3-:;280&@?L\\499C!IP_LFN$W M9)[T<%#8I7/\+EK9&V-?UO>0M)H6JT9;X9W!HL(4VJ]-J5=+EM8E\1$L:E!9 M.71>F51:)^SO.>%UR-2ZHV'J0 UT@Z3KE(SEQ_F&J':]:"()-%>GE *0M4;? M([&]G*[PHJOT^5W[>TSS3[/U4]:CB2;29^$MK_6_BI.325&Q%U \A=EBD+ MUSK5>6B>1F__?#24=X6.#OS+M:3/9]G<3 T\WU4NZPU_%,2$N90LEMX#!8VJ0B2=0S7IN^ M*X2@,4/Q]"DQ;UUN?_6_*Y6CMWP<&Z2M--@+1M_CE[-%^EQYN;L6)UP6S;5G MP)@()$!/O)7H:W%O-,BJH^%I?[EWL$\>FF=N M/+)@JV%>-Y"VK(#GY+^BU<;HHBC,>HIE!4-VP#H:,(^IVPZ@_. YK&0L.VDR M^&1H6;H?*"U#>2XBB.##1^Y1\3(6W/H3<\W!\T,XT8YZ.[Z*"ID Z[HS>9Q_^\NK- MV[]]&*1$Y?KIQYC'>S\K[0M2GH?EYU[C65I-OYZ7G5]*0*?L M>*&M7% <79W4VGJ7%E_BSC"5?3:L]6ZX.Y6=Y"87$Q@CZAVXR@ZW'B,@?7]8#2ZB^B[0,X/5X+U M/F^6IB?X U,?Y[O*T\NHR.E46"Y)]%D;R%H%8!9$TPJ M(5O?.C)YC*9Q\[$Z!&!#%79P;/PLI06NM7E:S\+_:ZW9VHESF>9GM6QXEM\M M\'1Z=KI\/?N*%[J8&&ZE#Q@@I-KZ(@F!14L;)DUKR#]7Z4CIMZU1U\ MCZ#N?JZ$[Q[*7HGU(KWR>@RQTI%YGD Z2;ZZ# &^!1RWU.=U#1XK9R(-A5ZS^C/Z)%.R%/!EV]6+(N1% 6 M#>T#F5P:G8J*-J-HWE#]08)Z*X0Y$M#V54FG"",_XTN8YDN'^G("Z>R\(/_9 M-BLK8VI $;RH952OE8O5($J[YV7):G697W[4=I;VLW)6N0"V% Z*90N.*0W&ZA3J2"-^!%S>(JJW*I,C[[_[J*9?GV]Q M1I1,0YR>K!WG"1=".V$4"'*0:\)(31K*Y# +%J,O!8L>8%[PHW3U5C1R/,P= MHJ!.87=IQ=\C.1IG.#$E%:_)J^!AG0&I:24EG2"[K)%GQRUK/8'D4:)ZJQ Y M$N .44VG:%M["'5"]KJQ_>KF6I+:."[)<#.59&V/*B!R;2!9Q[6./*?F/:]W MH:^W8I$C8;"1PKJ X_;7^9.(CF(LXQ.92?=NXZ4Q-A*75U82 JG+EM3I/\\FRZ0N*6%MOK^[B3,5A3AU]3S+_57 M)BPYYNIBTUS55G?!T6)SCG8=89$6NRBR=6RR/75=IC\V0\K\*$KKXE#F#F_/ MOH;I20WY7\T7'\()7@\8>X%Q-;&&2:Q56UDQ :IX6MMU-KFH:4B.)9%BZ\2= M'4GL,J/Q:-!LJ+Y^KIQ)F@DQ+U^1N'\+JPN&UJ>DY^S3&GP>3DZ6;\MF_B=: M9!9D1&"RCK.),9*3Q#7)63A,+CKN6@?>30COTAL=#-!'5W4'Z4+;RWABM2PA MDY-O.3G>"K6"X) $+(52C(0K;&L0;T_=N&?E1T;J0$KK-VYZ-9V%6=J0>6(Y MRB@]<%U(D'5>F*\Y*)&7;(I!HW/KYOV[4SFN(3UVW-1*77W$33>VA76E[MLO M56_+E]]PD:;$[R1JH9,R"DI:C]ZL'?F<]^"*IC_,ED76.IWB4:*ZC)*:X>*! MG?MP%?6!N@N?@QR,Z]X^M'RONP],-&T:/ND,QLE:AI$\!.$-%..S0)1)-^^0 M_#A5789 @^&NK9+&CWIJE?U-KJX%MUB$V2<\3QZ.Q% Q 4$F)^N1KX 090!, M(AK]K=[49?C1&DSM93X^CG87X41[N\ZR!.UT;33%.3%H&9A0 M@I'1$?NM3W>VIZ[+Z&(HJS:0TCJ(+EZ6@HFC MU*\4S*]3?TF.TT1KH?Z XOX?OW'C-R?*Q, -153..0JPN&!5T@5X8HZ,O!/< M-)]2V)Z-<0$^6'PRML*[<"4/8O?^F?#T]#)?)UBMM=E-AO+\'YZ9PG"[GY=V-I_Y(_9;M M Q]\8(..@=L3W*A)X-O%IS"[J !_/I\MYR?3?([]=0WXU4L16@^@:@)X0=WCCZ$B%IN?S)?GBWP(RGS MEY-Z\N>X*:*$W'P\R%:4C=SMK0U*[O1L:Z^43BW1/5XQ>5N_A<7?<=WX M_T8:VS[^X?9/;^ L[LE*(X-U$4+*^7C#6YI <1?^)11*"EB2$S#S%;YQ%VM>%L,TG+NQ. MYK@FK2&.M@B!FZJL62IF2POW*DP7ZQ%.OV&HCN3YI?@>QNS^!QUNM[8@L)&) MNGK3M5M]#:SL=#9&1TC6(X1<$C#:*"-G(671>FCH0_0<:I[N>_8UJHVQ M6@A1P"3"LN+.4$"3B&-NL=[Z,B=;I_T\2-"X)J<9+FX;G'9*Z-*T_!).*&#% M#Y\15R_(A$Y/]C(L]SWF<+/R*'&-C,K-][S'DYK[=XV'*]A%M(KKXH C8^0(YSH#+V6PV0;.0'KKU*C=,^=NGR/S#=/R#CLG?X2T1I;K_-'7+GHT3CORH8O2""I+ M!YZ;",2NY=)8X[%U9LR/%#09:?*#V C*UX,SKJJDK[=F493A3H..S( *(4%0 M@=:/U:RP*+/VK8/576D;H!V)+R1/;IXZZL;;_W;C9=>Y^]X;DUA"A@7Y%$[%. , M8=%IK714S@9L/1EZ2](.M6"/O.9Z:.22I)!: M7UYN2]NX%FL(#-TV98-HJMC?% MA ?AD5QKKSA$FTL]9)12F.2=;KW>'B"G0":OEO/O7%'XWW.3!*BM8V@T"I"=.!@N)#&%9O:3[G82,S($54+'-RIK6LB M^$Y-R8-95(-E.QXKZW&L[$OBB1@."91(GG!K5OU#)?] MN$[K?UMNO>#[^<<;^ZK,WG#C@2L,H((@=[\0]Z)PQFU)M82H^>7A-I1UF_VX M"TIN&Z4!E-)%D[8_;G"TF,_HTW2>;',_?](5QX)A$'4=GYKK23E* 3J$F)W1 M*C3/V-N5QI'GX X#OT$5U44Q^<4Q1!T;2!M,5==MEI13]>K' J>@ 6I'>@C: M&6!.UC "H^(#G1)M)FKDF;?#@*VM*KH\"KH_+_K'4L>/-?VS88KWO4\?*L7[ M<5:.D^(=C$490P1I.04"*5B(7#G 8CCF;"CX?UHIWA_29\QG)WA>BGOW/6M1 M7Z^4%()U02DPEM0NU'8=6+W+NBYI:[J.8J1FEPM8$]A2\42HVS[';A;YQ?;8!03B8 MDKK<56]G[=>-Z&86X=X;ZG8/;E]VL 4#QRA#T$(&3V@#YK.J/?H,!*,%89'T M*CB+W+2^Q#A*&<+YU,\+6>>WL_=UI2S(G5U'VS<71@XLB=K#I\ZPY2C!V\S M<^DD^:)H5.M-=%<:.RY6V 4]&XL5AE!5ES;LGA*!_>W6YH<-4LLPH'W:,@^] M&!58R!HL>@H[M4#P2=*'0-\PS$436]<0':FBX-&!T=%9$,E=0&_RVFTS^?+U?)BZ.CTOS!?3(/_2C-XYX)'P&N1U5J![=D&T?CW=@74G(2*6#GB@=0 M&5EMPJ= IX@*)4:OFX],>)2J<7LO'P&(C173A<7\P3NY-3K^UFX@LW3)1P>, M^5AK"H@WGP5P5AM12*,Q#+=E/T;=N,V,C^U&ME-49R"D)9;/TNIOHAB:FY)8JQYD^9C M5G>_0?)0\6HH_)O:6?YJK5P,ZKRS9BQ&K-DT+@E1IW!:"/5\,Y.CP9"9(D-K MF>Q!YE.J\]X%9;=-WM :'#'X6$]O>I"_VQ?8JK@L)(>DA (E.>T:6BG:.E P M+FQ69;OA63N\=.1[V\%Q-J@2NKS^N%NLO_\^NO%90_04&'#7O%4W;ICUT=?T M7E:JVU1G4W&'X(14!7W2^O9"ZZRSP/7B>%NN:]9K7WF<+2]6[_6$N%^^WZEK M?_9'6.1KT-/JTN<'(FM9&TXF3QK>?QVQB\))DN9N'D2O"_?/\5YY\6XB!U?5#]=6FE-O0QV-]B/?S P1HO#!F0;BJ[+U;E)(N$HI0%I8R@T$$% M0*EXH#TS\?)4VB]1&T]:>7#V>EI6'R?K^N2PIVZ MDP.:IC>GX9@#:/81RW%J& 5W(7(>R?'/M*4J2\"T@H/7/!-@:]>D(8;LCES# M6 H@1XZ M0-2="<6W>+K_N[_A:<3%Q'H*BVPMA@J^BM"3]%CR(%#X%(+/,K>^OS^$WBYM MW]_[8G^!20L4IJ6P $4DNRJ,& M%TH]44R)9"0RQM9[Y&,TC5M3,QK>FJJJ,^@]NTS5NH\OJ=";3*ZM->L&4\I! MD%: 9LYZJ9,WMG5*R;:TC5M5TP44FZFN TC^-I_A]_/SJ%=GLWS)A2J63+?* MD+PGFXY9UI% $0(&S1C7Q8K6S>;NIV3<.IK1X-9 +1V Z_E\\66^""N\=Z4X M+S/9;0FB*(JA>$G$3%TXBE, E5&HW'K\XX,$C5LA,Z)3UTI)'2#NHGM!.'D] M(W&>K:UUC=>9(J)K_RIMM:1XG>3,F[H,/Q!6PL- M= "DCXLP6]*;:VK]!UQ\G=:6&&_+/=PM/](CE_?_Z,7\-$QGD\05%X7IVB>C MMH.O+=1J%PV3=8ZA,)FP-?I:TC]R5#2].1EL$/ +J'93)4=0/3A.$QY[6TH%/DG[>IZ"Q M+Z = M+R2ZI&5H?2)X>+ \V#%@-V!LI[0.$/C;V8P$^26YY'QWCG@-V@[>#5=0!S&[V@GE3?[LJL49TBC.;N-#D M1+@"2B@23.8._PI31,==(JEBV7&9536! ;H+U8?<7%Z7U+VA8$- M&% 9A4#;-OF/%&9#0$$?E/;<,TW[^:V@8$-OD2U>UA]2]E'J?$ )=V!V[C?+ M;Z8S?+W"4UI7VE!\C YB#!0=2]00ZDAA6;C$J(H0I74U^",DC>NOCY7?NY]& M.@#8PX-3WN-YQ]E?:5V^F2^7DQ*-S(DA"&42J*0-1&<-.)55\-X6:5J?WNY& M88^)O'N"8Z<1-P=IJ@,<5I%-'+/9L*@H8/&!:"ZUJ$,+$&AR+%;*DIO?#=![ M>YR*U 8S.TNU$R39BB<2.XH='32!.=X.J>(HM;3"43D!5?@&5'3#%IP)N:^%1JOT+- M7&F>C[858>.Z54.CK*U>]@?;?!5.CN!6O?R63LXR\7;1T?KUC&".R]7%,(I) M3%H%45M8)R9 843P(GG0V26F;/8^-F_T=@C!XYZ9CN=TM=3CJ/W(U^'S/27D MS^XO(9\P;DJ4V4-@O#9:K^U75,J BI/767R*N-TYQ?;O'#=I<@B,#2GT9B9P MI-8-%V'\O-SWT^-T;MB*A*,V;MA=*$>:/8W)4U 9@ =/X-J'78O@U;3).=8*( .^@Z6X0YR&):CSKZ!T@@WP500R:0 M[Z+=#I#]>&YHL9$)9@$-(;D!WN)(Z0-K6 M6<>:16%X]"!N0?Q'22 _S#BV4EH'"+PW.SEY@R5G"X9Q MXB%;"]%[0]PD3"2U4F3KV<#_S1/(#\';P2KJ &8;TUD3LN1L1JA#>T!Q*R P MJR&B22R8%+)LW6+NH 3RP7R_H<]HFFB@4R1=+#*!.A9N!,AJ?Q72!SS:3/3@<;E;HWV0D,I.WN=XC',GU#-%S4 M*81%./++D/P]9Y,#3#FF+',JKO6(E>$SMH_0=F!<.+?4:IKUY]XWW7R8S!"%VD!>9JRQUO$((5 M#KS0VGO-/'.M[_X?HN?@9,3+9S];+G&=@_YF&N+TY"+X7(L^OYV]KVMI45?, M+/\^)^M_\64=.WA17,T9SR%P!](*#\I*!K[0+N3Z3B*NO5 O_S#&?I^_F$)4W_J9U=X"N3L#6"@Q;@.T@S72 M@=&&+K$Z(6T+ITSNHYJY> , MK4OD)8AD;2>OKIO^6(TIWPDS+$:6[*+ #L&X8M<2*P9)H$XF)8CHE*,1SSBL0L@3- MN)4EMBZY.F "5I^C2W="PG83L'912P?@VE1[1BZQXD%DB%)F4%'0XI22G&)? M9[&:DHIOC:Y#BDD'.W+N8^=MH:4.P-8TR9B<:!ZC32"Q3G7E7(&WD8-AA1G/ M%;>E]:C=__XEISL!:LB2TUVTVP&R'ZU;](4%5SL7B'7=8J38S GE:@OT4'C2 M(32?L/4/5'*Z$UIV+3G=174=0/'^:L;(6 Z,A&-5=O56G22DT(/UJ7!6N$ZR M_7B._]XEIX> [G E=8"T[4<.>^V9T@G( :)=A=<59%@"=#+Y(H1BS4=T_ .6 MG+8R@LU4V0%$'ZY>9*;H9*.'Q*($%90$8J\6BI#%ERZ$P)HWH/H'*3D]S#BV M4EH'"+RWGI%A+%H4!%D8@M+TF4=>(&06,C$1+;:.7?Z;EYP>@K>#5=0!S&Y< M=%Y]^I=!I.:ODY.>=KKL"=DWKRUO,O?Q3JN-5 RY+IP0P"590%7![OG%$UT@9DL6K=I MWXG 3FZ8&R)DFTOF)NKJ"8NO9U_.5LNUQ/B%P;>,1\%U 1M#'1\4-013 K" MWK-4C$^M(^0'R.D$9^U!L EN!VJD4W")JU&O*4GO)9 XZOBHVC&%20^H,P7V MRF?E!MMW[Y+323+#*.#:1R,]@>L #^7-56D$YZF4&#QXY30H3!:B8P&L=:E6 MW-#Z:CW7O"D#XP8NG7F+1T=$!\OA_EO]>Q+A)]X(1^Y0A*!L!&5XO8]G''36 M7%BN3-*M,Q6W)JZ33?[X -HJL>Q0;78 T\/*R'3*WL;B %EMH\68AQ"%!E35 MC8_TW>8=?H8O#NPZ1[(-G(^G]5&'OURR>R[O^U9K*-K$HB)P'A0Y\.1H!5;' M,"5OM/,H29*- ;R1F*>?1M0&G&VTU>6O^^"D.7;=8Q&+#L8-'D8PC$G$B%$!PFQGF)C^QGCXZ!:ZVDPXL2%LLT\*WWA#OH^-)^/:[(..V/3I8^%TX6U=< MO ]__$9B6DS#R9(X>EO>D\867W$Y01N$2#I 4*(ZD+J +Z& X<2C3EZIYB>\ MCU,U+KP.U_TF,+510U_0>C6=39>?,?\ZG^=;3$F!)G.C@,O:_BX4A!"D NNT M,*Q(:W7K3*HMR!K79Q\.7(T4T1>ZB(^)]SX;Q3D$6V?1YQKCTH( ELD+9(E" MW.8[_,WWC^MY#X>7747[5#SK=PO\$J;YY;ZM7 M#>*![\[D<;UR'[E(*GNP1H9:&)'!I:Q "/H&"]EXT;JNY3A>^0O\,E].5\MS M25]&J#;Q(HH4@,;)&OIZ"%H(L()6J2F\L.:=(^\EY$GXY;M@X^[%]J'B'WM* MR:V5^^R'E?L;B0M/2(HX/[OB3NLL$M9:M^@M[=[902PYDO'/&AT2=Y8]9KSV M>_6XKM* <#J")CK(_?F1P1_YNV3)A&)U1EL] H\BJ<0).4$O-0L?<$":][# M9PNRQO6YCF#'6JOFZ3AG\R^X6'TGAZ7FV7VIF=>SJY\V<\L>?,E #MGVC!W7 M%8MHC2%W'@1MAP2C8L!'84%PRX*-.<>DGJ0K=MV+_U+X[^BUJV@9*<%I)P"82C5819%^M:GT-L2]N3<-AV0=#FV4P-E=3%WKJ!FU^^ MUU+A=1$<6F5LYG5O*+4(SAIP06JP0:#TV2F4K8.@+D,Y-E,QI6X-= TK30HC:%2C!Z\)%$5+<"EHVS>G]X;GCGBL, MA8-#!=C!GO,&PQ(_ST_RZ],OB_G7\XKL"U;J)52PQD(VOH!2G$3B@@9$^CH* MPVUI'< ^0,ZX;6*&-B6M]-#%OO3J;#&;KBB4)4&]FGZKGUWQXJUBP7@H*=8; M<4/11=UC8Q(N\I(ENVU?#B\_WTC-N+7D0T.JD1:Z0-1&6;VYJHQC1DN5O0$M M:^6:S %\5!E8MIJI[+#HUO,T'Z>JEQFP8\3\^ZFF@SUQ(T>_XV7T>I5Z'67Q M)7/(,9.GIVG+#XK'*>H4: JF^6+\?7K[V]D?Y*TS:XP!SXX!\HI\E$B*^ QL\ ,]T$T+_5O M1'NGQQ-M@3N*HKNH,WM(P!.5D:)SS""UJ15.!<&E$B%[;[Q$4<@?.N+6W>D) MR9%LZ*X*>2II%[^'Q8(>^K5Q[XD[CQTDM>)AXH^;3&$Y:A:XA) $@2,'"E:E M=B!1QZPH5I&\]17;L9,I:AW!"M^0O&MCH##[-*70[#PSZ2)*,S8ISPQXSR.Y M&)+LKZ0O<\#,D64IFO>LWYZZ)Y%0L0N*-B=4-%54!_'N _S\\OVW\'_FB^,_1Y.KXY'2U"220$BD_!4DHDX,P*2",A53,+[YK.H=R-Q]%EOPT!E>T@> MK+<.8'EYSWMYU7>+QXM#]:R]%DY0>.3J?&\5!,12&&TNSK"PR24TD%0(R5*TO/[:A MJY?KC['VX_T4U 'HWL^_AY/5]U_/PH(B=<1EG5HW7:UOI9^=UHXQ$RZSLL9P M<*XF[V5?ZR5$@<*5%MRA<-BZK_WC5'5KZ_9$PNW9YVW5T@'0UN4W-QJB3E)" MG7-QP#&'.H;6@M=DG9DB^U^$S";;QK"Z31@+2^@C*PSNXR"2/P)3R*+S2_&-A(S[+9-;P"@FLM8FC^ACDJV[/FVF9N0Y:<'Y0S6HWH:=XUX;\&0QNW5?85O'*M?"<1<#&"]8\9+K*)]F#>9& M^WM]ULVXR3E;H,#9UQ%:$GS""-E9)L@-#$4,T##X8:*>Q"7!+IC9>EO<2RU= M;(\OR?S,OR->2.R>'5\Y3O;>%HBL#N/U3-:0@QR %#)G640TK0\?'B5J].[4 M+6%PNVZIJ49&!=FZ@N)"6B^_)5RNNX'$)3U_A5<=LYZMGL]G:[G]%F9GA?ZE M!;N8D)^9D_0,DES7$&("ASZ#E-IIEU$3K5O5JNQ)P.A-J ? V-$4TH5MNV#T MW6)>B%-27#AYA=?+2$",$I""4YI;[' >*)S=0-'HSZ@&M M6D-=C%U3=\'*\[/E:GZ*B_<8R4XO)RBT-H81"R9JDHZU$()"4)9%;;(A#O@N M]NK6\\>-#X(RG&?D>I(LW\:3Z:>U7BZQG5T(V;$(R"-))AJ$ MJ$0"G9.(C@)X.*DQD>=>_./%*QU(D(UXB Z54@)BY@6RM]^3XV<+% M5L9JM_=NA2K[M% UM/@[,&=OOV#-(9Y]6A?LHMWZU05486A# MSA ,&6#%53COFL8*#Y)IR<3M 4(;V[9N?,E6,/%/"R9-!3LV0"Y$]&J!TT^? M21X"O9:1 U.U4;'4"9P("DHFHZE8JC4MNX1>%\_=[I21/4$<'""_3E3_R]ER M.L/E\F4]L[HZ1B *\Z# &N)&PH:-3CI$Z0DH_1!!(MQ%R#<^Y;M8/'$3I_; MRK8'UV3=^7=C'D-T)JIH$9)$53O4(7A3,P11>1F"R5:TKCAZF*+M4/7$SIL' M4$9/)\OWL"+0>&LU!Y?KW0RC!1)Y4J"])T D+TWS5-T#(?6T#Y0/5,%3J32] M/)*X\-G:II)L>/@@>23;,'+<)!)6K PD'3#D[H"RM,-YZ1%4BMPD9E/)3W.F MRF\7C<9>SSZLPBR'1;[_?.O]_.3DU7SQ!_W"!*72W",#[DVN33(M1$_;?4X^ MF529#Z)1)-=<'7;N VMN@[\L_L9(N/M?8R>@3;ULJ7L]2XMZ4$;2N_@)N1"OETOR*=93_I[E_W.V/*^]F$0F?#9>06*:/ H3:]6% M"21H)==3N,7M#N";VJ8.0-VX>2K' FH?RNW6;KX+W\^Y43G$@N12Z\SK0*6@ M(6@*JFC38<%HAJYY)XV'*1HWJ:4/.[J7=@[ML?1QZ*V:VX"!IPQ"I]J]5%) MK/>/UUN'%%/L_I+#(^$#&6L4$=^L)[U%Q74$<]T*S%N#.BH@6Z5 .2?!J^+! M%L5,B$8;AXW7]TX$'MXFFRWV/M6T 6I):9+TFK_X%A,8-*VKAO:E==RPIC/4 M'JK+)X39NAX__C&?%*9U7LM4866/. N87#U-RSJ%1#%;ZV/9'4D<-[+I#Z'[ M:.ZI 9.0AA-AD1>I(S!=.^7&6'..,=!"Y#HCYUQ@ZQA[9R+'C8DZ!>?.VAL[ MV>5![C[.?\%W89HK:Z_F9XO:Z;G0BR^_GB0LF?@Q8$,MH6 :P156>X!X9Y)5 MJ3#Y6+!T.!GC%B8,C\0C*^H)69I%@;9EV5N9ZWSXHF>&^YJG7_!I3G&ER4 M-2?:BY)]S*5Y+?M>A(Y;#M$).IMHL9]3] U<3HJK8Q8\ Z-S7&<'0&2U4Y<( M,>N04W&M;[PWD#)N=<3Q4-="$UTFCNU\RCRY54([T $ZO6:$(_3;S%T=HO\\ MK'"O '6,.XH[+SNBH!]F=)0[BTS+UR.CU2N-KA\X>&,UK&<_9YM2U$_ZSN*1 M(B\?3%")(H=U7S9EK8* I?98SII85T&5YAWM#B^XZ^3N81?L[%A\MXM>NDAP MW\#/S:Y]J# DXL;R8$'5K3AD3=)B/&JMF9*J=7/^1XEZ2G<& Z!M3^WT#+@) MHBM%&0?,1 DJ%_+)0G$0L\>B'+'G6U\#'.(==W+6?4:PF@N# M*EN16[L4K6A_2I< P^V^ ^FZV4'LD2+ %L/J=GG\H('(48;7[09@01A-VG@P MK-['YW7#JH"@3'(EV1RE>=*AQYOY 1%]=@^A! L;%4 O-SEN+>6RL MX*?;+%R,DM+:96:R 9O7:X@5<-D%*)S72P#-Z3LML+*)@'&PTE"Q\]92'CM; MXD.8_;\4CSXG+Z+,%[-IN!@)YE+.0M4NR>1(DFN9L(ZKL.OFWT(I(2(+CWD^ M#[U@1"2TT=N\L1![R%&8SSY]Q,7IN[-%^DQ!P?7^_,OWY[1\/LT7W]^6.M?B M\C?R>@7I;!36O#6A%5E<*S74QD@@DK$*;<0@FJJ8ZJL:V1N M8/)R14MN-8L)HDZU17*A%>V8!XDAE2AI19O6!ZY[DCJV%W4$&&T-W78Z[0"Z MEQWB:;E?3MOTF*V,$ABK^6HN!'"6J7H7GT1)),#F$UCN$-$KW!JJ?MY2#QT MZ<[N\>9JR%2(*BKM UB*@T$%7OT,(\ J2?*R!KEO7J*RD9IQS_P'V6.;"+X' M"&V;V,B8,"JF E+)7'-Y+,5$Z$!RKI,1A7G1N@EMTR34XQTW[(F%?3-.=U%, M!X#[D:._K3MGDNOPE;[["5]<9"J^)YO_#A>IWL%*4Z)'9J&4Q$ 9)',LG9Z7AIS_G(SLQ <>;,CD M7-8F."HA X>J@$\I1&^U2;[UGK/6H T$N&%5U0$6ZX'/ZMX#GW?K[DBU M_AV]-1QXB!&4J_.L77*0N$0669*BM#X3>XRF<>O)A@HT6RIB[+O+O8=R&A:% M]PIRXA2[Z)0A%,LAN*@%U]H)O5UKRB&GI Y6,]8864?31)>Y@Q]6\_3WS_,3 M4MGRY7^>35??U]]Y^Z4^]9"&:]L]^/!\P3T8:)0I>/ZVJ_0NKY1QWM(^I@D MYP<*23,P+MD4@TUR>'Y877,$6/$ L;7M-[(ZWRAVIL_>8NQ=L%N7MW: MC/AQCV+B[F,1#EO$Y5 MR\&15R@3>"L9).;I?T8[O'W[N,D_?_QE?2!B'T7.!Y1J!R@1G"+2,E^!N!CW'WQ %C= M#N/&UG$'.']Y^N5D_AWQQLG.A?UG$JUC7(#--9W(DXQ=B0*$%]PDJPVY!JT/ M7381,W*L-SI.YD,H;6Q'[H;GL1;!-@^_C&_.M/3L=ADP.O* M&@H%M#539!2"8R[R2)\<'6Q7Y(WK;AT3;/MI9.0V$1^GJ^HDO)[EZ==I/KMH MAZ"M%)HG 4XG6\3>9I^N[1* MRH71+@3@@D@Y2TQAC(I)K:*&$>HL,BC'[)HCR2HWFR*# NQ3IXQH%%:T-]^] MO4NG7!]":*R?WI=&M.5,<@><-S%CC7M[3%8I!-8RYV5TQL'FT*?M7Z](;7(" MW6:5>KT!UH-WW^7%@[(9<0= MAD9K"IQBZ:HT1$ SJX!CPA%/I*2!U+)9'."E\@.48:RF*@6Y9$-9G2XMF)Z] MFRQO'/TZ;6>SD12>(AVC1Q2X!S1R#:1"" @BH#'06(&K":AVLU'XW.="S2.3 M6E3Q)$->(6R,/UC\YFL]]V]U,_U#C^_\2 9OJ*8>N/2L &50 46P37,0&)(L MAL3Z[-U&>5DL7!-\23:55YUJV8G,8?&8K0T5JP."3TDHL]5&XTL M" P[0*T5<3L6)J:;AALJ<0@A=^_ ((P4SOH5HIB;,[5Y]&.D[)2+BS:+ M'*IQN05B/W\WL>WMZD+1503:?_.K02+KRT91\V=IN,#]U$ 3MT_N# ,&B1A5 M\@"!CLX$L#25*]@@S6::G[U,? K=90=V7&:Q>'#]N%S3>5(.7&1AWKT+G03U MOIW_[NDEF-Y1P@D:4<^Q ,@$ JA1=)E40N0E93Z$SN]-G9GR;D;U MLY/@W$KRTBWH=_T]#0:-BYN(9%JAO9NO!44,)MQ[X'TJT43? K1% @@;J+#( MTJ &SK,R<-'-LEY:MT%QL1^E/-76]T;$Q5Q120(4M1A0S00P6%H0I)4R0,NT M/$_733]FLSOO7M]-U]7PI;T]OCO]YGLTHV:69C0[ MC*6W!B!J<$JU;)K1S$#DG4'C?/QG[F<1CZ>RFW:^V//U85&MUCMV:;;>X'Q7 M%\'][W^<-M:/*-?8:Z62]%GJ^;31PAT$,&!C$3&.XMPOD9V7PV[V\J)/U>O4 MI@IL;3VR97D>M%U8[]O)-S]+'">QS*[;N1X__OWT2LG[=OXO/__D;7LS:?[S M=#;'R'.)HL,QP-G@8Q+DXB:JK0/,<"(L%Y:A[(.2S\%8-\MZJ2?T]>G.2S:H MI>]YVTY7/TI_#HT0E1JZ12=#>AN(( ^D@BJZ&ZB1U1SI[+>ZSLMA-Q-[J:?] M%6O3A;QM\&0FV?T3(FD@5=Z7#@Y_9HAW#XYD;IA7$+#3@E"L M$IZL@.F87 MT4$3I(B0-B %<\?/M;Z"0(B2-&H)X)8(0"6.5FZ%C7L5PDRB:/8^][-X+_,5 MA&-T:KA7$(Z!LX+0X^D$4L^5P&F,"T3)E^,8-VG/)" >$\RE@23[ ]O'CQJ^ M@'<0CE*"O:.&CT&D G4Z77![9C_R&$F0J#< FL5;74("Q0D"4,%HU0)Y:UEN M#SD 'S6-&CY*K$&(I" X&0(-"P%!! .;>!1+Y MP"YWJ_06,BJ_\#^X;NP;+WP"4%4#J2^Y\J.D:LI3MXTJ,ZXGT[^>M.CYO0>+>S0K#RGR;8X"PDP&F>C@:I M!=JD::-.*)=)D/Y4P4HM3 4"*-@ MY#BHU#;A 4_73[F3GJ/<>UQ_JE_*-/0^.^.9L2_M.N\O*NRNJ8Z8Q HEXTW/ M3 %*G 0F. &"A,19S>*N8CLYR\/?JCSTSPQ].QP.E^Q$5RV/:TG.V8<0R5YWQ,U&@1/-H0J :)AV/PZ!3*])DC3[0ENK-.L6W.:F[.*';IWL MW8MB7#K$.)GY]?:76LP^A/BW;]O)LDOFB3A&BE%M$'& :4$ I7%35-Q;$+@T M5&G"/&3#:GQ74B]^1M;Y36 0+:@E/C*'!6*Z"^3^7@A3VL4M$ %G%0(TZ'1U M6,B8Y\/H-W3 + QRW#0(-Q<_'*MWC%1>2:HX0\AT&?_Y5%<\YK4+M)O?A96+W4_ SP5J#%P_79KU=: M_J4/\R]^>OU%3^Y[[PF#&*>'5"57..V,#FA-",!&2YR>'S,H=S]C,68O?F!6 M'TNZ#!5[R;:XO2%?.0X9IA88'S==JK"-T@D\2L2;;WYU??K. M_-O;>?QI,_OS0X@"#+Z9WTW]R.& :, 02"<%H"B0*#L>HU_B,??!.+R9&>4N MK W#V.7/USI_':X"%;M8\]Q(,._F7]KIRF.M"S7+(B8SSF$?O175(76*6@JT M@Q8@'6-UA QV00YK<9UIO?QY6N7.<_(J0@418F^);#Y*]B";$3>",VT8@$J8 M=!?:I+BW6 M:P@4U@P(:!#3V**X)==F**>9QTOK$JA#)R[9*):,+\NB]R-K1L8R@18-\(A& MYH5U0&(' 7:6$NYYQ**:+MQM#%S^S*\BQM!;%R[?$.ZCR50.6?QX%*-&02#! MP$A*HR/P DA#-% &.>0U0W9STFAI6WC&P^6/]"IH#OTTH@*+.,_@)0T5%23F M70K"E'P1 HP6"GB3;APS+2C-_7C6SZ%=EUMS/EEW+F20T.(GSR3UYGOZ5Y]U MEE"G+PTQ3NAX%H>9*!0HI#$^(8 @I &UC@.)$([NF$7]#DQ(;')[GDHG"E&A M/.'4 ]5S.0]30\P! XL]98I";VFV3M17N1$H6-T:KB)0L? 64&@L7P.ZW,$ M;<'<;^DO)'[3#6LAD:3*4Z E5TF@!FBD8_0DL,*2(4]Y[M;:/>2\E&E#1RE( M.PQ:]2K>ZKJV\QH%$9F1:#$=C""@L53 6LE$W%J#];DCT[T$E56^;+!W4Z<3 M,*A H5+$&JU3C_UL=1.?2V>THQH$'J-32HP%1C #(,56*P=C$J@S*]$S(JI4 MG%, ;G-*NP)U^>S'\;=NKB;N=SW]TZ<7M%9A\(H?YC#4TF. J??I9!(! Y$$ M"&JNI3#6^.P/)1R@J>P5VN&4*2L6%>C6IPA,).!+9.BU_^;'[=$T+#XY5" *#&$> MZ'2M$QO'B=\]"^<5/#^JCU 7 OZ0CNT_^ZWH"0'LSU;?YS^IV?F*P0[IN M3 US.J>%14_GMDIPV1SU;O*VG5J/ M1L(XPI@-P".7!G6Z&(1K#D%@@FIEE:=XD)YV3A JB VW M\_30@GIUV]Y-YF@$'4O^U$5F#(_QA5- Q6P28!ZCC."DLN(\NO6,M+(;Z>#J MU0^*:C7LDT^5B50C7?/W\&?N.>7!*2A=W-!YFG*#XOZNH%; 1RG'#)!*0K._ M370RM64KC8/K87; ZE/-+1,Y1M&!6PPYC5$NEX J(H F/#W5[A7T@0>>__&7 M@U25K34.IVI] :A;U4O.Z=@Z_F!A+",+-30((B"AL>G QT1'G)Z1L"%H M8X1P86.X\J[[Q\=]N.S@L@SJ,[BTJZP^?/+?_.3.AT5U9;*0WNSO9O[EE[O9 MO+V-'U[]@1[5AV,_T;_ZT(NI3-6'U2?>/J+AGX](6*NJDXX0I0*(#HE+I M40TE@4(26FD48S)W\;(C:7VWP=?-3-_<3/W- KX/8?79Y>F-2U=Z.8* B_0 MED9Q-T]#E!"D4FHG".:Y)P3MHZ=L?6((7=G<%;.A47!#G$WGH_7Y]J\^Y21? MOS31^!=-@\P'+9BEP"":7H%V'"CF!!#$&:5<<)1T*D_$KSQ2I_A?#ZJTEX"R M.I0/WS:WL$MKC+_99&'5$^&5-LQ$B:#XOW2$S($Q,*89EB,;Y8,1ZW1^?TAC M=A%01F,R MOFEG+):#N5+Z8_1O_X//*6H1"8 Y)S'2EV%*@ ,9!::4L9AXCO M&\,P\_;_W[3?_FNUXE(U5O_QH!D/WRNH!GE :WM)L+![>',W;;_>]S!!SJRA M4@$L#$G#%E#<:YF.\;P7T1ZPM:K3O($#'N'Q-\O4KO.CWTN6I;/LJQAF1?YG M[]O)/S[?O]&*E Y.<J"EI@XBJXC6G51@YR?* ME'$'4H0\@BR\'US-&OU1VR8T=D6\\R08@2'PV$7B161#"QF#Z2"(X2PRACMU M#AS8%)Y]N$Q%=IB=H9]4*RCJ[\BO?EOW0DG&!=%$QI"'IB-9A6-RCCWPB$I& MK5;!Y#ZH/$13V6/Q[!GI(%!4H%H'RC]OOMOQG4NGKK.9C_]WU_I[M![I+4(& M"$C2=$GM8X!-;&K$@U(0"@7*WTR3PON?YJXGNN) M^ZW1IADW\Q]#GA\<_.@93A2.8_S,9PP8><^-=4#@0 $E3 %%K 2>6YAN@ 7$ MF,8>O:"8+W?CY"B#&8S,UZB=,%RQAT-L(L;( M,>4Q +(TFHT$!Y1'\1=)'4$.TZ#A(<>7AY2R0>"0:E< J@JBQ6T,KW>;$8?$ M:JLQ"$K$_(PH";0W$AAE)<**&Z=R/X6WEZ"R'9&EG-YI>-2N7"MI/LS.&Z% M/44R\N1BYDZIEM%T8'H/*5@+D8P_R#V>]S@*RW9)%E>_?HA=9@H2W7IHI[=Z M8OT',VZ6R=]LR/QC_Q?/D'P8#64V L2U=2O0=:T P5\@R1:+J MY1\(?YWHZ3R](+=I) MH*)>&YNJNZG$I@P&$D$+G(^_2J4M)[0V_7["015Z?E8=S&T&IRO$2S"'AVHS M94(%!RF0GD80).0Q%1 >8 8UC;FG4D/MA1FHKZ**<-%F<)HB7(H)C!!F0KO( M"C1P<>7" ,-BHLM!>&EZ.6JR*=O_,A ZS0Q M"G@5MQ_*2$I]M0>.8^H9"I@(44)#'TB\<"=[1ET]$=9+T=I]4EY>1D,C'+A! M6 4 TVM@5!H!)$/I%^68M49+D?L&32[:JR@*7X2>YU:$%UC2&VUDS^)MOKPMY_#=O9D:Z_#EI-W?JA,W9P[&;PS+53I25A 3* 1-S3*$S]\R)0 M0*1P&@FGE+W4K@W]M9E'>/Z3AKT]2/W7:3N;C0A%3CMJTW%LC$*M%D!+98 7 M<2?7RB=WE_M,:0\]5>0/677EV0E2+C2JF"FY@YNKVW8Z;_ZS3'085NEN/@/(T1IU7W4R78[B3 M%3$#G:,!&(Q\S*P=C$*C$ 1MM.%:"Y3_G+P+854$XB54K@<^EQE"QY^FA'FZ M^,RG9O;GP"'<]H^=)XSKP.B90SFCF=*(Q.R0R>C4HC#C+AHD<$$A:37VDIRY M6S]C ^Y3<2\K[3;$W#.D9^L"3!TM6 -M+ ,N.G2)-?4B>^RZG9++"-^.T8\M M#4!]$2A\X^YW_>]VNC;@Q2FAQ]9Z$ZF',-T?MQX#I7P UA$9@K8&H4YM$0>N MW#W_3P$ I >%$,\T- MXC3'I)>=!)0;V- 7T3:W>(MWZJ](_S"Y'SM@M8]68@)P*-H)U=(")7V,&V,6 M*P0R$"MV*,+9OG0YV#-AU6837 V9UZ:O?/7C.O[5A4THSIT@P@#GTK-].J:3 M.CV,02DT%")CB>N;;\GZ5KXWIJ086:=!DD@*%320W'@08K)BE.4Q_O]7??IR=NRRK]3TH/D9;I"'3]F=?-S([;V=W4KX^U* M( MF.AXA$Y=_L]Y/1U),[E+7;E?_5*[ M9Z]\:*?^D>#??(]?CH;;3/3TQ\*6WD=S2">![3A^YN;=)"JGG\U'7BBAC;& M<2W2Z^P&:$4)0(X:9SV3*OOMF0'9*>O(K!?\*=M4UBZM7>%=O](XD M]()0P8&PC*6# P\4P08(@;5SE'--KSX;65J,")NEY^"6>(W'[=_IHL4H^E\?J$) :A-QJ<: L5=S(:YM9 S3X7*?=]E*R&%GVC/@?^F?^DO M\"JNM#QA8Q24Y4A*"RQ%J3E'BDB^PL 1(Z$B,9/PN3>H)P24U9,,D.Y3DJ.D M6T%$\T_?W'R9^_NW2=_?I3+_A[!\-_G#W7R69E%'NWJE9XU]F#=HTBQ>'KD2 M2692"""-)\!JJ*T+@@F>.TT[B="R2=P@+FEXP*IP64>Q.?)$T+Q0SU^%-W.KN;S M:6/NYNGT[+I=_.Q5>@/ZH_Z1_O#5=*HG-XN_-QLY'9P74@(E>'0!6E%@% I M*!4%RY0W<(!"5T^JR[K3\ZOQF7&N-QQXW8SOXD^?B7I$G)?8X1"3:^H!-32F MV08CH)D3W$'K(,Y]0',DB65+;-6XWBP(GJZ@;32A/)7?C9CJJ>"X#=[":&-( M*P$HCC(S%J:;+8)@#[E (7=3QUZ"RBK?(/%G/@ J<'=;F1D%'@(5B(&8MSE ME9? I/8I29"SUC"C\= 5HPJBQHQ =U&AHZ1>112XR<;*Q8Z4MX$P H$-:>*) MLPY$KVJ =$A@2:/0LD\LWD%*7>GO< ITBN2K4*&KR;QQB?CFF__L[=VTF3?I MT#\]_>;=LDO@]NO=$K,/X9E#OTU=FJ-T@,(HBI$E)#R]"I>:,ED !J'TBK8A M".;>];(07M?NF$\]SX]J1F4^^>1JL?K]R_7>NN4'KO[6T]7PP8>SO\-G5D\4 M]/&B2]V,AKU6R>U?./(,ZV3B,YU>/221237\9+8R@X=,\M6/YXEF(F])8[I) M-W$?QWJ2;OJNKCOD-?E!2.QS<_O1=,/%)S_/6_OGAZ^+QH)5A_Z!<]"NRQ0] M.Q]2-9YAVWAE?Q-__,0N;S58LDAP>QN->F M3A(I6 %X0I^??VE=9KPVUBR2B9V&UG9I5(+5Q_C9^?1VXMZ.]4T6I)ZN6"0E M.0FGK9*H!*5D\;],9FZ:#Z:-)8N$9"=[O^>RJ 2H_VG_?J OKP?]S6W?NEV@XT6AZR"5&@QO]LNXG?GK=DWN MXB0YG_4=6+\+CJ*\"7:34K5X#@1C)_1DI>A5 MJ[B6N^->Y.CQ>S9OH M;%4 MV:1LO\S;0P(H;4KC\0-=6RMXQQK1M@6+(;1#YFTW 51P6/Y02MIO-">=)SU9 MNVRRW,F*]@HE.UCG/OO?SM4&ZX,6)%RLY;Q-U M!>JPH.WJ:_R\;5:C2&Z^S&>?KSY]'D0M#G^OZ.GY.=6CL^A+!S#;=H^XHR<. M\V<#]PMW40,UV&9Y6C:N;N?]<=NZ:J?='99';9]( M:H#LS?>I_3AM; ;[>EBJ$S@5'*T]8[X&1'Z-.\#\M9[[M[J9INOX&:#9LF8G MC"HX4-LMCL)@/;7L'[__.5^HTB]?)C_;9)5 _>=M^\],?'\*S;SU3AI/TOM,'>ICL:M7[ MS_2O,F]=L%B![!A\'AOK/K$4=K*?_"S*;I$/I3V@=[5YVWK%\-HK][:3$/Y/ MGP,,$IUT!>7G"<#/$X"CL'G?3M[[-@3'BWE:_?N](%B M+8^GHGJ,V HC_&B41497NGO58CV0IV)Y4$#U;(#OV_F__'JG]KGZD;M\H%A+ M9(;-\J#8"B/\-B[:3OP]ISD.1'W_GK=C4V/O(Y">W4 M+D+KOL[VF.\4.^S.A' 7(58(^Q]-.UY-*_B?]M;_D@843'_\IO\> ON]'RMW M<)Y3 [K(LT(UB!S_=:?'36CLBOIK_7WUA$3O9HF3/ECNJ#ZG.G25:UTJ$=W8 M6$]6!+^[_9KFID0&3#-NYC_RQ&ZG?;%<;T FI3A.LO5D8#E#O#W+EFL@R)"$ MU1GK;2$PIWS$9SJ!7%7I MZW@9UMH%]/';4!U 3U?.TOVSA]@,G3\?]8\_9H_&&^5N_.FR?@^[CL+IW^NS M7J38@>L1*#RVR$WN2Q\(??=V,=GOE^@F;MKIC]ZM(]M7+ ?3IKS;CLR7+B2/ MQYOD-3Y3$\GNA1Q?;5RRWD9R&UUZYE,Y3(BEN M'=1_"*&Q<=VWDSRV=GCU>> MZDSI>>R13.E%.F6*D,%&5RS7N6K-8 MO^R)P!V03>FP\[XR?/7M)IMOW+EHN5;74Z/, ^*I"+T%98\\1$X0MZU=KD\U M Y9[A%6#*UV3FMVA[ERY7(=I'[]Z2%"E.RO^NFOF/]*,K*4H8WISNY@%^KH) MD1@?NB+YNIAM[I ^5:5K-AO5MLU2'\K,@\%-)[/M0)\:IJ M1R>(L3#R6]Q/XGQ5_,H#>M=O=,*[INK3D<*KSL@_S+_XZ<#VO?T;G:"NJ7!U MI/!*6[4V=V,]_:V9S3,>=>]>M1.<-96S#@JH-(#//4O?2LB.)3MU*]14S-HO MFN*5_WOGGQ_ 0VMW0K*F4E9'857PQL@Z5^8>GIVIU K*6 M5<\Q:.= MCDPA_O; 7:[CYT.K=T*V MIEI(9X'5.E#CW6361+%>3_5BF.JCIPZ?4MYSNL:>SV09M=&5C0QS-YY]ZIF" MG'A_=>>R?6IAZ^5>I>%,_2=N;%VPX.7.0U@\J7[M$4;IFN6:M-ZWVC:6*H;- M7FEO1:6B>VY7X_$67Y+G!NCNA2O :L]ET(,"^3E,H)0-_1PL\'.PP'&Y]7PZ MOO;3V]F'<#UU4;_R1/A[EBUF0\?%"(<%4SQ22%3E&$;Z=*5B-WF/C>&VL%\+ M)-?-O'=X_62I8E=R3P3EB0!*#PZ]&WL$#4,IJG'MU[EW;\?ZIA<\N]8L=MWV M.)P.B*1\87$(S/8L6^Q^[7&P'19,%0YP05>.]_JV+%?L;NTICG";("IRAM?3 MV\D\KR]\M&2Q6[6GN\+G JG+$V8";/>JQ2[4]O*#U<%VGS#D>[ET^XKE[M"> MX@UWR*,*K%[?31>$90!IO52Y6[&GH+,I@2I@^>SMW;29-WYV=7-S]4TWX]X- MO'O6+7?O]13 ]LKF,DX9/[;CQD8&/DY;.^ IXY//#'#*N)N-[*>,CS_U3$,W/TK ME525>^*\1W[#>_35;Z1?C)[Y__Y__PM02P,$% @ VH/X5DT'[-4+" M$"T !( !C86QX7S(S<3)E>#,Q,2YH=&WM6FUSV[@1_MY?@=K3G#,CR:)> M8EMV/.-3E#EWVOCJ.,WU4PD]TNW$2]4^Z$>WW>C&E<2?N'!TQUFWS7O]5O_OO: ^J$ \ZQLXD?[V7B;PY MYF[\0:_3.NH7]G0JF!T/HG;[+WM>]/PL5;G%>!KZX6OH9J4SR^]MDTIQFP^\ M2WM!M6Y.E%1ZL-_V_TY=2S.EF9"SP0\W(N.&O.-3(C="-%SFL/HHZS>70_%K&PI!NUHH<&+_M-]2UCZYO+MY?#BYO+JW?DZBT9_G0Y>DM&OXR&'VXN_SG"*[2.KC>Z MM2-^_/SA^OV'BW-Z]^^=OH M7^1B>.-"T6FW.UO"Z?]M>F^MZ9<-\G>1C"F7Y"/G.;BF01*NK4AGQ(ZI?;'? M/S[==D$4E#'TT)0\M8/NJWJ)B)PA.(.F>_,T7D:MVH7???"'D](Y:77Z;A8N MR9A..-%\(O@4-&_'PI!?2ZH!8CG#^T)I2U1.WBJ=D:C=_ =1*1D"Z_<-*Q&.66;DKZ6JE=Y* 18$N@'Y$GLG0< M@L MQ:\!R G'206B[@#K@"SE I$5&,RCH0%Z)ES'#2=12@@ A@I8\<,9;T]"S9BD M4DU-C5'-;X6QFF(@ZEX&NV%E8PEJIC9FQ=KG@;;>SJ'MYD%H7NP?=Z*C4U/A MJ2H8'#VH-!5X]$&[)%1S#P^$6\22^YS%@G3/3)A$*E-" MSY&F5C+@I- JX0RO#3D +!@'SD+L1_>H7O);3B[ 1]>EA$34IM6H MS\)3>!2N3,P#/EW_Q)'6$FP#C)PM6P^4/A@HQ4!U;EX&,R1ZZ67C##;8!")5/99_&4<-EV8269GL5E^YB#DQ4 M(X4$JDJ-#L!+$V$\VT&*Y[X?5T O>'*9:S67U(.LRJ +H#0J'G:- IP)6XR2 M@OG# %/&1C!!M7 .B)#G/?OGKJ?2N-SKUZ3QB=ISHS(UI(,OU:R&$L M:"RDL#.7U=<-ZQ:61YT' M5%@3#T27:E&?-.XKAXI2%P"T\55(DBC-O &^*KWE.8H+"5RCA1=NP3@15-P! MNUA8H@!O/Q/T)KN"WIJ"1Q,J2\]3+K0\35$5B@F"8M94=_,28@O>#8_K"SX/ M5BB",TTH*V-5VLT6;),9Z%R:NYHY_?0FA\1U->[7'P\S 7L\UL*&'*-\^Z!C MNP*Z.66&>*[BPFVVJXK-MZP%WV<0I'4FB+Y.@ MH_J4YF"#2@H8@\(>25>&8Y?$_3F!.T+(R[E=+X-58VKF588C/P][SGQ6\/-1 M,?:,2'''975H\$B^\=53Y*%.OA3EN[3]ZC^3[9<_8F3U FDL2,IQYC)(%WSE M8/89=<=*^3HWC:*$M4J;>:KW+]!EE@EK.?^-C! K%!.NG0G8YSLY )1!P,81 M//ZZ0KI>?_S74L!\O];*//%G"R^WWF7M-MONW"[K0J(T0ZDH #.WJW7[XT1P MX*)*T_/=SI33.Y=W0ZGF,Z\O,OWA9GT(]%EHJS8FX4QA#:51!D7#YXRV$9E5 M:0H5P L59",D?X/,;\H,X, <>6>J3++VN.SKV&ZG4+9SVZ +I.Y4@S :B#GW M' ?4^(/H"EZ-D/E$/E%RPEWZR^EM=9ZN*UKD62'5C*-U.E:!"^D#\ )L_Y/: MH+4"@2>)8Z@RMX0CH&;])JYJC;$.N&["5$D+PP?UEU.DCT+2V4#D?D2O=%KU M%2MK5>;1/7$Y"*5+]6NLAW9HKJX&G)RTCOM==SO :OQG]<#5Q8&6OSAP:-EJ M6Z_;ZK5/-C:W6]$7M75:_>,OT_Q-8UO1T>;6';.UV^KWMYO80Q^T$#A PQ0T M?[W7W:L5JE4\Z!3W)'IX,\(M[!5TJ.)WISI_,^4-Z,.7!OYW4M+IA=](YVNF MFH:O]S! _VF4:_-/;+;#_KMYW L>$I&]SPIW2DV MN0J'.ZNP/_15^9J:_]$EW4(9?R-C$'Y^G/"5:[L+NO"5?7NA0F-P1FDWJVRZ MB[GQ#G#U&6XD'_J;T/\%4$L#!!0 ( -J#^%8C=<@D^P< /PL 2 M8V%L>%\R,W$R97@S,3(N:'1M[5IM;^,V$O[>7\$FZ#8+V(XMVWEQL@%--]L%UK'$&7*&\_"9(J]G\;L^)7IS',C,83T'??_7=K'5F^*.ITT3<9SWGTIY7K9HCF4C5 MVV^Z?V>VI1[35"2SWO=W(N6:7/$IN9$IS;ZO:9KINN9*Q%Y0BS]Y[Q36N:>I MM_@8W20BXY4'K<#:/'PDLO15?]J,.K_A%=H'=X\Z]:.^/'SKS>WO_:O M[LC=-;D=#IPW[68 \W?=\KL?A^2V?_-#_VIX6[_^]T_#_Y#^X,Z&(F@VMX73 M_]OTSD;31S60B9J16Y$QGE!5(Q%71L0S8L;4O-GOGIQMNQQRRABXJI[PV/3: M1]4"L1UGIE>W;U[&QU:CYU(9(C-R*55*6LWZ+T3&9 "D/];(*(L:))8*6KQ2(ARSS,B_BF3V M9K]UU#QKU5QJ0 !/O_P !CL7P!^HQG0C0.F,/&1RFG!VSVL^CF7TF(0)F40F MQQ!49(1F,U)D1A4<'B"WNS2/L%*2XDD)FI"81GBEB$R1BHST ."?,^-=XQ&(,A$U;!TR%68,!W7.(V>@[3>':9+!S0G4& EGR]/P.@#8_G( R$DL M,H38HF41TAK0!W$TJZ5VD8%&@"V!?D06)87E$,!F*7XU0$Y83LH1=0M8"^0D M62"R!(-^,C1 SX3MN&8EB@0"@*$$5MQPVMD343TF<2*GNL*HXO="&T4Q$+4O MO=VPLK8$-5T9LV;MZT!;9^?0=K<2FC?[)T'K^$R7>"H+!DL/,HX%'EW01H0J M[N"!<(LPX2YG<6 R3(0>6W$KEH(:+3W:9R9TE$A=0,^2II*)QTFN9,097FMR M %@P#ISYV \?HS'-[CGI@X]NB@02K3:MM[H'_*U3;769?_*/PA:)F<>G[9]8 MTEJ"K8>1M67K@>*5@6(,5.7F93!#PJ;\K0NJHZ< /0Z> K1U\E( /:!O=P2A M)XUFV\[">ZZQ"4"H7"K[,(YJ-LM&M-#;J]AT%W)@HAS))U!9*'0 7IH([=@. M4CQS_=@">L&3RURK4&D[D)49= &46LG#ME& ,V&+EHE@[BA %Z$63% EK /" MYWG'_IGMJ= V][HUJ5VB=MPH-8=!!EQLE7)4BR(J4.B#TN&6,V*1PZ'A*X+E M0@;?0FX%P;K0YVQKENWN-(C#70'Q<:,;K(-X:ZI:P_+V)+@H4B$F=FLOFE8N[ "P= MR@N5 ]#:52%1)!5S!KBJ])YG*"X2X!HM/+<+QHJ@XO;8Q<(2.7C[E: WVA7T M5A0\G-"D<#QE0\OC&%6AF" H>D-U-R\AMN!=_[BYX'-@A2(X4_NR,I2%>=Z" M;3(#G4MS6S/''][DD+"JQMWZXWXF8(_#FM^08Y0O'W1L5T WITP?SW5&7E.I#=[; TGTI2-T5)W2'#RC$@/&H+ G MTJ7AV"5Q=TY@CQ"R8F[76V_5F.IYE6')S\&>,Y<5W'R4C#TCB7C@27EH\$2^ M]ME3Y*!./A7EN[3]ZKZ2[9<[8F35 JDM2,IRYC)(%WQE8?81=<=:^3HWC:*$ M-5+I>:IW+]!EF@IC./^+C!!*%!.VG0G8YSHY )1!P-H2//[:0KI:?_R/0L!\ MM]:*+')G"V^WWF7M-MONW"ZKGZ T0ZDH #.[J[7[XTAPX*),T_/=SI33!YMW M?:GF,J\K,MWA9G4(]%%H*SU06,- B\21U]E;@E' M0,VX35S9&F(=<%6'J0G-->]57\Z0/O*$SGHBZW>TF]M %S0<.T- YS=[MM?Z'2\3]H$ J M\[Z4=? /]O_!_BNF^<%8\)A%\R,W$R97@S,C$N:'1M[5IM;]LV M$/Z^7W%SL#0%;$7R2Q*_-(#G.*B'SFYC9^T^#;1(1<1H426I)-ZOWY&2'"=. MNJ#;VK2Q/QB6CO?R'(]'/@9[L5F(XU[,"#W^H?=CK08G,LP6+#$0*D8,HY!I MGES >\KTGU"K%:,&,ETJ?A$;J/OU!KR7ZD]^27*YX4:PX]).;S]_[NT[)[VY MI,OC'N67P.FK"I_[E-6C!IDW#X(F9>'14:O-Z$'+#]H!H[3Q1U!!51R>ZVBS M%.Q59<&36LRL_TZS[AVV4M.]XM3$G<#W?ZJXH<>]2"8&_2G4SW_F9C:,&79M M:D3PBZ3C(%5RU5(<2B%59\=WGZZ5U"*RX&+9>3'C"Z9AS*[@3"Y(\J*J2:)K MFBD>Y0,U_XMUVAB=>[K*(SY$,X(GK$00U&W,P^N8S[F!1MT+;@>\CINH"X1N M9.JLKD4>8JJ9^CJA#X9GL]'I:-"?C29CF)S"X/5H> K##\/!^6STVQ!?H71X M!OWQ22$['8W[X\&H_Z:4/0CYB6!\>WXV/>^/9S";0' $Y][4&W@P'0XOU MQ4+#9;*[$QSX75=D0#00*E/;F==U;HVTN9(1F)C!E*@Y29BN3:X%6T(_-%9B MSVH6TL=]*P1]"M@J"U1U^N<+(P4]Q8,\-K3')RP4JP0;O1 M!)+0'"]/,,@%L?;0WV[[1VU&G:[-[C'&UHZ+DX"GCL)[!NZ*6LVO*;??E#L>\%GR>I> MZ^CS-#\9K!<S%O;:LT4:?CW"//2_SH@[_2! M?\;D6T259PO_J1?M[D[SL*O=]]TCR2V4CURCSWRVGRG\8G^WNS]" BT%IU"& M]ZVLA&WU;ZO_NV[U;Y%N<&K_S[/<8Q!S%B%!0K)D^"6#211QI*";9;_O3N6? M/O,W5T3ZGG_9GA[W'DBUA"E'*BJ(VC+O+?/>,N\M\]XR[V]V9]LR[^UQ[)LK MVG7F?>M LF4>VU)_1KQ[6_O;VO^.VWS.LT]7/.0_XME?F(3,8JX+GHQ)S6E4 M&#J>9-F>94TW# V9\%7,DNIM)\R5ZBIAB26@E. ()G/5B+RS=(=(9 MMAIUU^T-36WD]'[A^'(5Y,;0^ZCMN@[L7<4,=11R4LHP5.2ZS-HAD2D<4PRZ M9)NKO+W$)*F"O=I_9%!N05RP! FJ6,-KTR$P@HQ@$)OT.4>]R5[+DKES6RJ5 MVO'BCILJ=+QQ?^IFNW&\T+]1(7/<O(Q5?.=7P_;=E;2_ 5!+ M P04 " #:@_A6")%S2* & !#/@ '@ &5X,3 Q;F]N+65M<&QO>65E M9&ER96-T;W)C+FAT;>U;;6_;-A#^OE_!N5M?!ENQ9"MV;#= EG9%ABXHV@+= MMX$2SQ9;2=1(*H[VZW>DY#1^2^W6B9W$39'$XHN.#X_/W3%W@T@G\?$@ LJ. M?QK\W&B05R+,$T@U"250#8SDBJ1)E[3:Y%/0G[A M%[1LUUS'<#R99W!0?AXT>M;VV%_AA MI\NZ 1P==AES_7_<&@[%[N48I8L87M82GC8B,._O=;Q,]\>;E]N.XD@;GB7D*$^E*D5Y?1CS@FKA-QQT;SVJ+M>X;E(&Z^3 M+!8% 'G%)81:2')*583:G620*JJY2,D[$?.PJ!.J2$R5)A2UFN&Y^ ,"F5-9 MD*.Z/00;@FE-"#_G2O-AT;>/. J6ZE[K,-N\IL^"VEX(JGNE+7?_]GY&&4.N M:L0PU#VOXW1\'&6!81 *:;>SER-&T@RM';^!%"2-MR=Q[=@A'R..LZVEB^3Y MTR==SVOVMXCU#;"60FX350N/VW]!QGAH*1.9L6-!070$Y'=!)2-B> 6SVG$X MK< [@2:"=HJL4[9E6E&O&>M\W(O9LIJ&-/9GS>OZSHV.V:5O?MDE4_2-*?Q MO/';KIE^3<.()) $(,UI-98DL)9D' F"%CP5FD!IP:],345!!$VY2,$,XQKM MT7#(8XZAE2(JHG%, B"H'R9(8D0+5&3\;R&0H"F*(LF8Z\C.2!.1X^H9H!>) M,1 .0/(8BC@68S1CID<*"$Z>X$-)P,C,*C-7)\;1P*<13KC3S%TIP/MJ];O MX$^?^-W^=[GJT]KO>+XE 4V#&"9= B%Q[0U<4TPS!;W)+WW&51;3HL=3*YD= MU$^H'&'T&PBM1=);P,@6V;*YBHN/CIQFJVM"8XV2:C9Y<14U.S9J/M!LOJW; M=EJMPZ7-&,XN;;MI6K?EM _;*TU[8$4NQ49@%!ZHE[56;0;>GI==$MQ28G[Z MCM^99G$#_ISAL@C=/2%[OM4K]_#K\9N \.WU]>=BR2TM:RZDQF7=>*8M<4TM M^!L[&]#PRTCB*-:HQ ]#0*>I?P,DB_89?9>MH(&..[I&-_IA3\H MHCD7"4]1:])1Y:;+S$2X0-X(E#&E:0A[&OHQ/7,W$^W="W4Z+0*0"L)<>A6]>-!\= ';5AGQ,,]V^P$V^S^W9))*RGODKYJS/Y6Z3[K[OY6:3[RV]/? MFO3GU?U'XVPMC/GV7M;>R]I(M+>GGC7_JO?HP[P]]6Q2,1X4\RR([_;\LD$U M.K )5 ^FU*)UGY(Z\=W&HHHA>4>+LBQL>^&G0V92#*]E8F:4,X+AZ;\YE1JE M+_"#TMAHA%:FA4H)5*HZ&97E(]B%(4&5O3D9/GF*8U49J#OD[+H 8U[)*45#VOH\D^EILDPS',EQX@Q! M$>SZ#(\Y];E]GTY)5=[S(0\^0ZC-S&PEFM6LH]"9+[>ZH6G$QRK\1^[54SBJ)N$H+-BX/@H94%L3H'RQ( M&JZ>F,H.MYE=5=#Z38O9#$0;6^RA\V,5*-LH0&FNM#]X".:I?FE>2UF8EF6" MI[JL5YDJ_UFNX->+GN=16E8&7>U[\^L0&J!ZY'I^R-(S,?6]+.(^L,7C_P-0 M2P,$% @ VH/X5IR+Y!$T"@ W34 !X !E>#$P,FYO;BUE;7!L;WEE M961I&J:K2<9I8=#@^/ MV&>E;^0M]\^MM+DX;^^8_GSUSBYQ-5-*9J*1/#A_T9[>!7#_3O&-KGX::^0Y2 3M/[XY+"RIS.9 MV&P\&@[_O;I@I["X]CE2L]?C)T_YW2DT'*"YDWXQ\_ MR4(8]E[,V*^JX.6/D>&E&1BA9>H'&OF'&(]H'!X]HS&MWNZM[.>Q#&T)_1?+O+HJT2^O/C/V]\C]O;]Y<&BQ%\A*XRL MS[_YK;][A^]5.;@JJEPU0K!?I!:Q59I=?:FE;>#?125*PZU4)?NH.& M<;AT@J!X+2:ZYKIAKR(7 ?=V^Y FOD9+!==3./E$6:L*[V=.<1++EW9\]*+Z M_LY\O%)OH\XAOJ_55JU^6O$D 1P-%)JY5$Q$H[8XUK*$C3>WOG;T0I M-,\W)^[>^0%CGS*)Z;[1V=B^S03[X:(JRE:3AI'F?E9<)TREG:[-#FC4";T="BT9CR%BPLM8L)FT&;N&&LD_CP]> MD%Y)F9= \3ODB#(^8!G*(J >R %\M3*5*(R>Y<*[CP)BJ!LYFV) 5 M):M\6J.G].I4TP*8T8&!<=ZJN^EIY949TT1LELDX:Z?#VAAJ*A'+% 3- 14) M@\'T@)<-,S6&^U6\U+:I1+?ROGE* R=!(KC^NG7IU;(N)A 3+R."L []A>1= M0$'75L4W82I33_X?)%B=]_OBQ*I,).D8LY5A=SV90ZS.!8SP=ZR DN).Z%@: M3DH'ZO[PY/CD%'-7O&F_PI *2T;N;S>GPHHZ )]V5L<2#RW:2)H#)S#$ Q( M:U@B#0I"&KJ^'MA>*#C:&2AX6\(>/&B?+\F*.X[.J_A1]!0[.8C?Z4 5TANI8B%,40K$($4 MY=S#U"+[T^X1@J4@#'*Y3@N51A1H-"P!27'!3*$1!/=BTUR H6 $[*"J=9QQ M0W-P^S@.B"\UI@H[1U9-:L"!FECN$C*D+.KVY?2C_TYYUCF.LY4CN5O>5X+KPJF[LNL2N$%O2E;HWUWJ(@RBTR(]SV 2;.$ES,2%(LTQFMP M)EL"4G%C.O;7$Z2S@\VTJJ>9>VCB3"1UCO'M,,=#43_!TD2&1B>G!MYQ9Z&* MDFQ@:)]8G-)+(83/2O DMY0H%39X3_2C%\\CAD4=+4W4K&PM60JRM@V[\2K= MA\ZWFJ.VB-(%6A]:MH.\OA/D)YTO^O E0"$%BX 49LG<'A P".G6(."08H 2 MWF?).?Q[KI7I>,'RJUH4"$QVH#<*N4J85 M%^[4MH^ZN!VLBML56,/71&V'E+T0]5U:M[[0X3VKN4.12LMX;;#$?F87)\O MZ%E:&RZW*H=SY4!=1(^Y4,#GQ@GBZN:9A%N*7$ZI MSQ&%@ [\ %Z3VE!:DPRD9B*QZP6)V$/6F7=$ $7S)LPNIJWG.Y.V/KF^",SV M(="6-Z$G]&C:^E9ST*'U=S_V?#C;!6]KVUX]=PLG4+TF,1 Z=)M$()-SDKF0 M#5YSJ=D[KF_ \7[K\'T-CJ\BF]\HW2WA,47TBI[89$:&0:UXB8=S,?.-KHWS!!2><$&FM!5="M6'OG),3\U%@/[_,]W.7/&I&$RTX#<#EVW&/)_QQNQ]T]681];(39<[/RWHNXFN_1%,\+B$F]IE2^1+% :A&PXA:"@I(\^ M:$.SP&?)B$#6(BL04)N HS*@@A\O_!$P]W,M W-8LW>*0KA&&2,3N0OFQUK& M#OO3FLHHR@C^&+H]$.GEA%T\NCC905__X*SN\/EC!^P;OX83:'P_U_2.-(,S M\:JB4L)[97#^EH4L%NQ5[YATH<\G[F)1V:5ZHI?R^KE.BY7)K9MM%SWVY]\M3/>^3EH":JCXZUSK*C00\X(GPM%N^.6D"9<1NAL2<\]:.!B8WQSA77GBOL:((MRS M0!0 2I^N#))A(_9.)1(VX>'@/6&?YGVTC?O[W*5#I1EN+$:L<&(+UXOONH]+ M[A@*\[2V-1 6Q'9U$?I^W5VAA39,P]S/&#QH^Y"KRUP83[;KTLJ<7-V')!UB MQ+9V9"50&"ST.9PQY+*0MNT13/U-Z7#BX.156DP5GO>O>H54(>XJI :#:?&/ MT*#B MS36$OK99],S_O.J9^UG7GU!+ 0(4 Q0 ( -J#^%;EJI5+#5L! !ID$0 1 M " 0 !C86QX+3(P,C,P-S Q+FAT;5!+ 0(4 Q0 ( M -J#^%;F8_D90PT $>- 1 " 3Q; 0!C86QX+3(P,C,P M-S Q+GAS9%!+ 0(4 Q0 ( -J#^%8J5NS&6QX )0A 0 5 M " :YH 0!C86QX+3(P,C,P-S Q7V-A;"YX;6Q02P$"% ,4 " #:@_A6 MGY#=V/HS !N5@( %0 @ $\AP$ 8V%L>"TR,#(S,#&UL4$L! A0#% @ VH/X5C +'#FYS@ /;8( !4 M ( !:;L! &-A;'@M,C R,S W,#%?;&%B+GAM;%!+ 0(4 Q0 ( -J#^%:M M"W2FO'( (UJ!0 5 " 56* @!C86QX+3(P,C,P-S Q7W!R M92YX;6Q02P$"% ,4 " #:@_A630?LU0L( 0+0 $@ M@ %$_0( 8V%L>%\R,W$R97@S,3$N:'1M4$L! A0#% @ VH/X5B-UR"3[ M!P _"P !( ( !?P4# &-A;'A?,C-Q,F5X,S$R+FAT;5!+ M 0(4 Q0 ( -J#^%9Q*]:?2@4 )DF 2 " :H- P!C M86QX7S(S<3)E>#,R,2YH=&U02P$"% ,4 " #:@_A6")%S2* & !#/@ M'@ @ $D$P, 97@Q,#%N;VXM96UP;&]Y965D:7)E8W1O65E9&ER96-T;W)E+FAT;5!+!08 "P + + .(" !P) , ! end