0000851205-19-000012.txt : 20191028 0000851205-19-000012.hdr.sgml : 20191028 20191028160819 ACCESSION NUMBER: 0000851205-19-000012 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 86 CONFORMED PERIOD OF REPORT: 20190929 FILED AS OF DATE: 20191028 DATE AS OF CHANGE: 20191028 FILER: COMPANY DATA: COMPANY CONFORMED NAME: COGNEX CORP CENTRAL INDEX KEY: 0000851205 STANDARD INDUSTRIAL CLASSIFICATION: INDUSTRIAL INSTRUMENTS FOR MEASUREMENT, DISPLAY, AND CONTROL [3823] IRS NUMBER: 042713778 STATE OF INCORPORATION: MA FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-34218 FILM NUMBER: 191173113 BUSINESS ADDRESS: STREET 1: ONE VISION DR CITY: NATICK STATE: MA ZIP: 01760 BUSINESS PHONE: 5086503000 MAIL ADDRESS: STREET 1: ONE VISION DRIVE CITY: NATICK STATE: MA ZIP: 01760 10-Q 1 cgnx-9292019x10q.htm 10-Q Document
false--12-31Q320190000851205164600018740000.0020.0023000000003000000001708200001708970000000000024000820005000502000P4Y 0000851205 2019-01-01 2019-09-29 0000851205 2019-09-29 0000851205 2019-07-01 2019-09-29 0000851205 2018-07-02 2018-09-30 0000851205 2018-01-01 2018-09-30 0000851205 2018-12-31 0000851205 2018-09-30 0000851205 2017-12-31 0000851205 us-gaap:RetainedEarningsMember 2019-01-01 2019-09-29 0000851205 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0000851205 us-gaap:CommonStockMember 2019-01-01 2019-09-29 0000851205 us-gaap:RetainedEarningsMember 2018-12-31 0000851205 us-gaap:AdditionalPaidInCapitalMember 2019-09-29 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0000851205 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-09-29 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-09-29 0000851205 us-gaap:CommonStockMember 2018-12-31 0000851205 us-gaap:CommonStockMember 2019-09-29 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-09-29 0000851205 us-gaap:RetainedEarningsMember 2019-09-29 0000851205 us-gaap:RetainedEarningsMember 2017-12-31 0000851205 us-gaap:CommonStockMember 2018-01-01 2018-09-30 0000851205 us-gaap:RetainedEarningsMember 2018-01-01 2018-09-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-01-01 2018-09-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-09-30 0000851205 us-gaap:CommonStockMember 2017-12-31 0000851205 us-gaap:CommonStockMember 2018-09-30 0000851205 us-gaap:RetainedEarningsMember 2018-09-30 0000851205 us-gaap:AdditionalPaidInCapitalMember 2018-01-01 2018-09-30 0000851205 us-gaap:AdditionalPaidInCapitalMember 2017-12-31 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2017-12-31 0000851205 us-gaap:AdditionalPaidInCapitalMember 2018-09-30 0000851205 us-gaap:RetainedEarningsMember 2018-01-01 0000851205 2018-01-01 0000851205 us-gaap:RetainedEarningsMember 2019-06-30 0000851205 us-gaap:CommonStockMember 2019-07-01 2019-09-29 0000851205 us-gaap:AdditionalPaidInCapitalMember 2019-06-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-06-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-07-01 2019-09-29 0000851205 us-gaap:RetainedEarningsMember 2019-07-01 2019-09-29 0000851205 us-gaap:CommonStockMember 2019-06-30 0000851205 us-gaap:AdditionalPaidInCapitalMember 2019-07-01 2019-09-29 0000851205 2019-06-30 0000851205 us-gaap:CommonStockMember 2018-07-01 0000851205 us-gaap:CommonStockMember 2018-07-02 2018-09-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-07-02 2018-09-30 0000851205 us-gaap:AdditionalPaidInCapitalMember 2018-07-02 2018-09-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-07-01 0000851205 us-gaap:RetainedEarningsMember 2018-07-02 2018-09-30 0000851205 us-gaap:AdditionalPaidInCapitalMember 2018-07-01 0000851205 2018-07-01 0000851205 us-gaap:RetainedEarningsMember 2018-07-01 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:SovereignDebtSecuritiesMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalBondsMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:AssetBackedSecuritiesMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember cgnx:AgencyBondsMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2018-12-31 0000851205 cgnx:GViVenturesInc.Member us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-01-01 2019-09-29 0000851205 cgnx:ChiaroTechnologiesLLCMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-01-01 2019-09-29 0000851205 us-gaap:USTreasurySecuritiesMember 2019-09-29 0000851205 cgnx:AgencyBondsMember 2019-09-29 0000851205 us-gaap:SovereignDebtSecuritiesMember 2019-09-29 0000851205 us-gaap:AssetBackedSecuritiesMember 2019-09-29 0000851205 us-gaap:MunicipalBondsMember 2019-09-29 0000851205 us-gaap:CorporateBondSecuritiesMember 2019-09-29 0000851205 us-gaap:CorporateBondSecuritiesMember us-gaap:ShortTermInvestmentsMember 2019-09-29 0000851205 us-gaap:AssetBackedSecuritiesMember us-gaap:ShortTermInvestmentsMember 2019-09-29 0000851205 us-gaap:AssetBackedSecuritiesMember cgnx:LongTermInvestmentsMember 2019-09-29 0000851205 us-gaap:SovereignDebtSecuritiesMember cgnx:LongTermInvestmentsMember 2019-09-29 0000851205 us-gaap:MunicipalBondsMember cgnx:LongTermInvestmentsMember 2019-09-29 0000851205 us-gaap:USTreasurySecuritiesMember us-gaap:ShortTermInvestmentsMember 2019-09-29 0000851205 us-gaap:USTreasurySecuritiesMember cgnx:LongTermInvestmentsMember 2019-09-29 0000851205 us-gaap:CorporateBondSecuritiesMember cgnx:LongTermInvestmentsMember 2019-09-29 0000851205 us-gaap:MunicipalBondsMember us-gaap:ShortTermInvestmentsMember 2019-09-29 0000851205 cgnx:AgencyBondsMember cgnx:LongTermInvestmentsMember 2019-09-29 0000851205 us-gaap:SovereignDebtSecuritiesMember us-gaap:ShortTermInvestmentsMember 2019-09-29 0000851205 us-gaap:SovereignDebtSecuritiesMember 2018-12-31 0000851205 us-gaap:MunicipalBondsMember 2018-12-31 0000851205 us-gaap:SovereignDebtMember 2019-09-29 0000851205 cgnx:AgencyBondsMember 2018-12-31 0000851205 us-gaap:AssetBackedSecuritiesMember 2018-12-31 0000851205 us-gaap:USTreasurySecuritiesMember 2018-12-31 0000851205 us-gaap:SovereignDebtMember 2018-12-31 0000851205 us-gaap:CorporateBondSecuritiesMember 2018-12-31 0000851205 2019-01-01 0000851205 us-gaap:DevelopedTechnologyRightsMember 2018-12-31 0000851205 us-gaap:OtherIntangibleAssetsMember 2018-12-31 0000851205 us-gaap:DistributionRightsMember 2019-09-29 0000851205 cgnx:CustomerContractsAndRelationshipsMember 2019-09-29 0000851205 cgnx:CustomerContractsAndRelationshipsMember 2018-12-31 0000851205 us-gaap:OtherIntangibleAssetsMember 2019-09-29 0000851205 us-gaap:DistributionRightsMember 2018-12-31 0000851205 us-gaap:DevelopedTechnologyRightsMember 2019-09-29 0000851205 currency:CAD us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:MXN us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:HUF us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:GBP us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:GBP us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:TWD us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:CAD us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:HUF us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:TWD us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:KRW us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:JPY us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:MXN us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:KRW us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:EUR us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:JPY us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:EUR us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:SGD us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:SGD us-gaap:NondesignatedMember 2019-09-29 0000851205 cgnx:AccruedExpensesMember us-gaap:NondesignatedMember 2019-09-29 0000851205 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember us-gaap:NondesignatedMember 2018-12-31 0000851205 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember us-gaap:NondesignatedMember 2019-09-29 0000851205 cgnx:AccruedExpensesMember us-gaap:NondesignatedMember 2018-12-31 0000851205 us-gaap:NondesignatedMember 2019-01-01 2019-09-29 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2018-01-01 2018-09-30 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2018-07-02 2018-09-30 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2019-07-01 2019-09-29 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2019-01-01 2019-09-29 0000851205 srt:AmericasMember 2018-01-01 2018-09-30 0000851205 srt:EuropeMember 2019-01-01 2019-09-29 0000851205 cgnx:AsiaExcludingChinaMember 2018-01-01 2018-09-30 0000851205 srt:AmericasMember 2018-07-02 2018-09-30 0000851205 srt:AmericasMember 2019-07-01 2019-09-29 0000851205 srt:AmericasMember 2019-01-01 2019-09-29 0000851205 srt:EuropeMember 2018-07-02 2018-09-30 0000851205 srt:EuropeMember 2019-07-01 2019-09-29 0000851205 country:CN 2019-01-01 2019-09-29 0000851205 country:CN 2018-07-02 2018-09-30 0000851205 srt:EuropeMember 2018-01-01 2018-09-30 0000851205 cgnx:AsiaExcludingChinaMember 2019-01-01 2019-09-29 0000851205 country:CN 2019-07-01 2019-09-29 0000851205 cgnx:AsiaExcludingChinaMember 2018-07-02 2018-09-30 0000851205 country:CN 2018-01-01 2018-09-30 0000851205 cgnx:AsiaExcludingChinaMember 2019-07-01 2019-09-29 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2019-07-01 2019-09-29 0000851205 cgnx:StandardProductsandServicesMember 2018-07-02 2018-09-30 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2019-01-01 2019-09-29 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2018-07-02 2018-09-30 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2018-01-01 2018-09-30 0000851205 cgnx:StandardProductsandServicesMember 2019-01-01 2019-09-29 0000851205 cgnx:StandardProductsandServicesMember 2019-07-01 2019-09-29 0000851205 cgnx:StandardProductsandServicesMember 2018-01-01 2018-09-30 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2019-01-01 2019-09-29 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2018-07-02 2018-09-30 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2019-01-01 2019-09-29 0000851205 us-gaap:CostOfGoodsTotalMember 2019-07-01 2019-09-29 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2018-01-01 2018-09-30 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2018-07-02 2018-09-30 0000851205 us-gaap:CostOfGoodsTotalMember 2018-07-02 2018-09-30 0000851205 us-gaap:CostOfGoodsTotalMember 2018-01-01 2018-09-30 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2019-07-01 2019-09-29 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2018-01-01 2018-09-30 0000851205 us-gaap:CostOfGoodsTotalMember 2019-01-01 2019-09-29 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2019-07-01 2019-09-29 0000851205 srt:MaximumMember cgnx:GeneralStockOptionPlanMember 2019-01-01 2019-09-29 0000851205 2019-01-01 2019-03-31 0000851205 2018-01-01 2018-04-01 0000851205 us-gaap:EmployeeStockOptionMember 2019-01-01 2019-09-29 0000851205 us-gaap:EmployeeStockOptionMember 2019-09-29 0000851205 srt:MinimumMember cgnx:GeneralStockOptionPlanMember 2019-01-01 2019-09-29 0000851205 cgnx:RepurchaseProgramOctober2018Member 2019-09-29 0000851205 cgnx:RepurchaseProgramOctober2018Member 2019-01-01 2019-09-29 0000851205 cgnx:RepurchaseProgramOctober2018Member 2018-10-29 0000851205 us-gaap:DomesticCountryMember 2019-01-01 2019-09-29 0000851205 us-gaap:ForeignCountryMember us-gaap:RevenueCommissionersIrelandMember 2019-01-01 2019-09-29 0000851205 us-gaap:ForeignCountryMember us-gaap:StateAdministrationOfTaxationChinaMember 2019-01-01 2019-09-29 0000851205 cgnx:SualabCo.Ltd.Member us-gaap:SubsequentEventMember 2019-10-16 2019-10-16 0000851205 us-gaap:SubsequentEventMember 2019-10-28 2019-10-28 0000851205 cgnx:SualabCo.Ltd.Member us-gaap:SubsequentEventMember 2019-10-16 xbrli:pure iso4217:USD xbrli:shares iso4217:EUR iso4217:CAD xbrli:shares iso4217:SGD iso4217:JPY iso4217:KRW iso4217:TWD iso4217:USD cgnx:group
 
UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
WASHINGTON, D.C. 20549 
FORM 10-Q 
(Mark One)
Quarterly Report pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934 for the quarterly period ended September 29, 2019 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-34218
COGNEX CORPORATION
(Exact name of registrant as specified in its charter)
Massachusetts
 
04-2713778
(State or other jurisdiction of
incorporation or organization)
 
(I.R.S. Employer
Identification No.)

One Vision Drive
Natick, Massachusetts 01760-2059
(508) 650-3000
(Address, including zip code, and telephone number, including area code, of principal executive offices)

Securities registered pursuant to the Section 12(b) of the Act:
Title of each class
Trading Symbol(s)
Name of each exchange on which registered
Common Stock, par value $.002 per share
CGNX
The NASDAQ Stock Market LLC

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

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

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and "emerging growth company" in Rule 12b-2 of the Exchange Act (Check one):
Large accelerated filer
  
 
 
 
Accelerated filer
Non-accelerated filer
  
 
 
 
Smaller reporting company
 
 
 
 
 
 
Emerging growth company
 
 
 
 
 
 
 
 
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    
 
 
Yes
 
  
 
 
No
 
  
 
As of September 29, 2019, there were 170,897,294 shares of Common Stock, $.002 par value per share, of the registrant outstanding.
 



INDEX
 
PART I
FINANCIAL INFORMATION
 
 
 
Financial Statements (interim periods unaudited)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


2



PART I: FINANCIAL INFORMATION
ITEM 1: FINANCIAL STATEMENTS

COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF OPERATIONS
(In thousands, except per share amounts)
 
 
Three-months Ended
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
 
(unaudited)
 
(unaudited)
Revenue
$
183,325

 
$
232,221

 
$
555,856

 
$
613,052

Cost of revenue
47,632

 
58,860

 
144,883

 
153,227

Gross margin
135,693

 
173,361

 
410,973

 
459,825

Research, development, and engineering expenses
28,115

 
29,700

 
86,436

 
87,664

Selling, general, and administrative expenses
64,486

 
65,817

 
199,542

 
196,266

Operating income
43,092

 
77,844

 
124,995

 
175,895

Foreign currency gain (loss)
(1,295
)
 
(379
)
 
(1,403
)
 
(708
)
Investment income
5,114

 
3,937

 
15,242

 
10,736

Other income (expense)
456

 
(129
)
 
1,239

 
(98
)
Income before income tax expense
47,367

 
81,273

 
140,073

 
185,825

Income tax expense
5,682

 
837

 
16,535

 
11,976

Net income
$
41,685

 
$
80,436

 
$
123,538

 
$
173,849

 
 
 
 
 
 
 
 
Net income per weighted-average common and common-equivalent share:

Basic
$
0.24

 
$
0.47

 
$
0.72

 
$
1.01

Diluted
$
0.24

 
$
0.45

 
$
0.71

 
$
0.98

 
 
 
 
 
 
 
 
Weighted-average common and common-equivalent shares outstanding:
Basic
170,744

 
172,189

 
171,053

 
172,613

Diluted
174,449

 
177,245

 
175,164

 
178,021

 
 
 
 
 
 
 
 
Cash dividends per common share
$
0.050

 
$
0.045

 
$
0.150

 
$
0.135
















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

3



COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME
(In thousands)
 
 
Three-months Ended
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
 
(unaudited)
 
(unaudited)
Net income
$
41,685

 
$
80,436

 
$
123,538

 
$
173,849

Other comprehensive income (loss), net of tax:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Available-for-sale investments:
 
 
 
 
 
 
 
Net unrealized gain (loss), net of tax of ($5) and $24 in the three-month periods and net of tax of $502 and ($82) in the nine-month periods, respectively
265

 
522

 
4,827

 
(180
)
Reclassification of net realized (gain) loss into current operations
(294
)
 
(266
)
 
(716
)
 
(535
)
Net change related to available-for-sale investments
(29
)
 
256

 
4,111

 
(715
)
 
 
 
 
 
 
 
 
Foreign currency translation adjustments:
 
 
 
 
 
 
 
Foreign currency translation adjustments
(1,099
)
 
(1,881
)
 
(1,544
)
 
(5,078
)
Net change related to foreign currency translation adjustments
(1,099
)
 
(1,881
)
 
(1,544
)
 
(5,078
)
 
 
 
 
 
 
 
 
Other comprehensive income (loss), net of tax
(1,128
)
 
(1,625
)
 
2,567

 
(5,793
)
Total comprehensive income
$
40,557

 
$
78,811

 
$
126,105

 
$
168,056
















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

4



COGNEX CORPORATION
CONSOLIDATED BALANCE SHEETS
(In thousands)
 
 
September 29, 2019
 
December 31, 2018
 
(unaudited)
 
 
ASSETS
 
 
 
Current assets:
 
 
 
Cash and cash equivalents
$
121,701

 
$
108,212

Current investments
292,072

 
427,348

Accounts receivable, less reserves of $1,874 and $1,646 in 2019 and 2018, respectively
107,407

 
119,172

Unbilled revenue
11,210

 
8,312

Inventories
65,264

 
83,282

Prepaid expenses and other current assets
28,127

 
34,000

Total current assets
625,781

 
780,326

Non-current investments
504,641

 
262,039

Property, plant, and equipment, net
88,429

 
91,396

Operating lease assets
15,806

 

Goodwill
113,208

 
113,208

Intangible assets, net
7,994

 
10,113

Deferred income taxes
29,273

 
28,660

Other assets
5,320

 
3,925

Total assets
$
1,390,452

 
$
1,289,667

 
 
 
 
LIABILITIES AND SHAREHOLDERS’ EQUITY
 
 
 
Current liabilities:
 
 
 
Accounts payable
$
12,766

 
$
16,230

Accrued expenses
48,561

 
60,220

Accrued income taxes
4,012

 
5,062

Deferred revenue and customer deposits
10,431

 
9,845

Operating lease liabilities
5,445

 

Total current liabilities
81,215

 
91,357

Non-current operating lease liabilities
10,722

 

Deferred income taxes
289

 
962

Reserve for income taxes
7,151

 
7,106

Non-current accrued income taxes
51,113

 
51,113

Other liabilities
744

 
3,866

Total liabilities
151,234

 
154,404

 
 
 
 
Shareholders’ equity:
 
 
 
Preferred stock, $.01 par value – Authorized: 400 shares in 2019 and 2018, respectively, no shares issued and outstanding

 

Common stock, $.002 par value – Authorized: 300,000 shares in 2019 and 2018, respectively, issued and outstanding: 170,897 and 170,820 shares in 2019 and 2018, respectively
342

 
342

Additional paid-in capital
594,427

 
529,208

Retained earnings
682,383

 
646,214

Accumulated other comprehensive loss, net of tax
(37,934
)
 
(40,501
)
Total shareholders’ equity
1,239,218

 
1,135,263

Total liabilities and shareholders' equity
$
1,390,452

 
$
1,289,667




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

5



COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF CASH FLOWS
(In thousands)
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
(unaudited)
Cash flows from operating activities:
 
 
 
Net income
$
123,538

 
$
173,849

Adjustments to reconcile net income to net cash provided by operating activities:
 
 
 
Stock-based compensation expense
33,442

 
31,339

Depreciation of property, plant, and equipment
15,800

 
13,474

Amortization of intangible assets
2,119

 
2,307

Amortization of discounts or premiums on investments
(563
)
 
123

Realized (gain) loss on sale of investments
(716
)
 
(535
)
Revaluation of contingent consideration
(1,401
)
 
(50
)
Change in deferred income taxes
(1,805
)
 
175

Change in operating assets and liabilities:
 
 
 
Accounts receivable
11,387

 
(18,136
)
Unbilled revenue
(2,900
)
 
(6,542
)
Inventories
18,019

 
(27,699
)
Prepaid expenses and other current assets
5,827

 
(3,437
)
Accounts payable
(3,398
)
 
(1,182
)
Accrued expenses
(11,827
)
 
2,266

Accrued income taxes
(1,043
)
 
(17,497
)
Deferred revenue and customer deposits
698

 
4,841

Other
(1,863
)
 
(1,604
)
Net cash provided by operating activities
185,314

 
151,692

Cash flows from investing activities:
 
 
 
Purchases of investments
(883,363
)
 
(616,047
)
Maturities and sales of investments
781,929

 
635,119

Purchases of property, plant, and equipment
(13,518
)
 
(27,356
)
Net cash provided by (used in) investing activities
(114,952
)
 
(8,284
)
Cash flows from financing activities:
 
 
 
Issuance of common stock under stock plans
31,780

 
25,882

Repurchase of common stock
(61,690
)
 
(142,262
)
Payment of dividends
(25,682
)
 
(23,283
)
Payment of contingent consideration

 
(1,000
)
Net cash provided by (used in) financing activities
(55,592
)
 
(140,663
)
Effect of foreign exchange rate changes on cash and cash equivalents
(1,281
)
 
(1,956
)
Net change in cash and cash equivalents
13,489

 
789

Cash and cash equivalents at beginning of period
108,212

 
106,582

Cash and cash equivalents at end of period
$
121,701

 
$
107,371









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

6



COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF SHAREHOLDERS’ EQUITY
(In thousands)
 
Common Stock
 
Additional
Paid-in Capital
 
Retained Earnings
 
Accumulated
Other
Comprehensive
Loss
 
Total
Shareholders’
Equity
 
Shares
 
Par Value
 
 
 
 
Balance as of June 30, 2019
170,661

 
$
341

 
$
578,871

 
$
649,234

 
$
(36,806
)
 
$
1,191,640

Issuance of common stock under stock plans
236

 
1

 
5,362

 

 

 
5,363

Stock-based compensation expense

 

 
10,194

 

 

 
10,194

Payment of dividends

 

 

 
(8,536
)
 

 
(8,536
)
Net income

 

 

 
41,685

 

 
41,685

Net unrealized gain (loss) on available-for-sale investments, net of tax of ($5)

 

 

 

 
265

 
265

Reclassification of net realized (gain) loss on the sale of available-for-sale investments

 

 

 

 
(294
)
 
(294
)
Foreign currency translation adjustment

 

 

 

 
(1,099
)
 
(1,099
)
Balance as of September 29, 2019 (unaudited)
170,897

 
$
342

 
$
594,427

 
$
682,383

 
$
(37,934
)
 
$
1,239,218

 
 
Common Stock
 
Additional
Paid-in Capital
 
Retained Earnings
 
Accumulated
Other
Comprehensive
Loss
 
Total
Shareholders’
Equity
 
Shares
 
Par Value
 
 
 
 
Balance as of July 1, 2018
172,032

 
$
344

 
$
498,343

 
$
619,212

 
$
(38,767
)
 
$
1,079,132

Issuance of common stock under stock plans
553

 
1

 
11,070

 

 

 
11,071

Repurchase of common stock
(394
)
 

 

 
(20,954
)
 

 
(20,954
)
Stock-based compensation expense

 

 
9,143

 

 

 
9,143

Payment of dividends

 

 

 
(7,759
)
 

 
(7,759
)
Net income

 

 

 
80,436

 

 
80,436

Net unrealized gain (loss) on available-for-sale investments, net of tax of $24

 

 

 

 
522

 
522

Reclassification of net realized (gain) loss on the sale of available-for-sale investments

 

 

 

 
(266
)
 
(266
)
Foreign currency translation adjustment

 

 

 

 
(1,881
)
 
(1,881
)
Balance as of September 30, 2018 (unaudited)
172,191

 
$
345

 
$
518,556

 
$
670,935

 
$
(40,392
)
 
$
1,149,444










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

7



COGNEX CORPORATION
CONSOLIDATED STATEMENTS OF SHAREHOLDERS’ EQUITY
(In thousands)

 
Common Stock
 
Additional
Paid-in Capital
 
Retained Earnings
 
Accumulated
Other
Comprehensive
Loss
 
Total
Shareholders’
Equity
 
Shares
 
Par Value
 
 
 
 
Balance as of December 31, 2018
170,820

 
$
342

 
$
529,208

 
$
646,214

 
$
(40,501
)
 
$
1,135,263

Issuance of common stock under stock plans
1,475

 
3

 
31,777

 

 

 
31,780

Repurchase of common stock
(1,398
)
 
(3
)
 

 
(61,687
)
 

 
(61,690
)
Stock-based compensation expense

 

 
33,442

 

 

 
33,442

Payment of dividends

 

 

 
(25,682
)
 

 
(25,682
)
Net income

 

 

 
123,538

 

 
123,538

Net unrealized gain (loss) on available-for-sale investments, net of tax of $502

 

 

 

 
4,827

 
4,827

Reclassification of net realized (gain) loss on the sale of available-for-sale investments

 

 

 

 
(716
)
 
(716
)
Foreign currency translation adjustment

 

 

 

 
(1,544
)
 
(1,544
)
Balance as of September 29, 2019 (unaudited)
170,897

 
$
342

 
$
594,427

 
$
682,383

 
$
(37,934
)
 
$
1,239,218

 
 
Common Stock
 
Additional
Paid-in Capital
 
Retained Earnings
 
Accumulated
Other
Comprehensive
Loss
 
Total
Shareholders’
Equity
 
Shares
 
Par Value
 
 
 
 
Balance as of December 31, 2017
173,507

 
$
347

 
$
461,338

 
$
668,587

 
$
(34,599
)
 
$
1,095,673

Issuance of common stock under stock plans
1,434

 
3

 
25,879

 

 

 
25,882

Repurchase of common stock
(2,750
)
 
(5
)
 

 
(142,257
)
 

 
(142,262
)
Stock-based compensation expense

 

 
31,339

 

 

 
31,339

Payment of dividends

 

 

 
(23,283
)
 

 
(23,283
)
Adjustment as a result of the adoption of ASU 2016-06 "Income Taxes - Intra-Entity Transfers Other than Inventory"

 

 

 
(5,961
)
 

 
(5,961
)
Net income

 

 

 
173,849

 

 
173,849

Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82)

 

 

 

 
(180
)
 
(180
)
Reclassification of net realized (gain) loss on the sale of available-for-sale investments

 

 

 

 
(535
)
 
(535
)
Foreign currency translation adjustment

 

 

 

 
(5,078
)
 
(5,078
)
Balance as of September 30, 2018 (unaudited)
172,191

 
$
345

 
$
518,556

 
$
670,935

 
$
(40,392
)
 
$
1,149,444



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

8



COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)
NOTE 1: Summary of Significant Accounting Policies
As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form 10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). As a result of the adoption of ASC 842 "Leases," Cognex Corporation (the "Company") has provided new disclosures related to leases in this Quarterly Report on Form 10-Q. Reference should be made to the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2018 for a full description of other significant accounting policies.
In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, and financial statement reclassifications necessary to present fairly the Company’s financial position as of September 29, 2019, and the results of its operations for the three-month and nine-month periods ended September 29, 2019 and September 30, 2018, and changes in shareholders’ equity, comprehensive income, and cash flows for the periods presented.
The results disclosed in the Consolidated Statements of Operations for the three-month and nine-month periods ended September 29, 2019 are not necessarily indicative of the results to be expected for the full year.
Leases
The Company accounts for leases in accordance with Accounting Standard Codification (ASC) 842, "Leases." The core principle of ASC 842 is that a lessee should recognize on the balance sheet the assets and liabilities that arise from leases.
At inception of a contract, the Company determines whether that contract is or contains a lease. The Company determines whether a contract contains a lease by assessing whether there is an identified asset and whether the contract conveys the right to control the use of the identified asset for a period of time in exchange for consideration. The Company has control of the asset if it has the right to direct the use of the asset and obtains substantially all of the economic benefits from the use of the asset throughout the period of use.
As a practical expedient, the Company does not recognize a lease asset or lease liability for leases with a lease term of 12 months or less. In the determination of the lease term, the Company considers the existence of extension or termination options and the probability of those options being exercised.
Lease contracts may include lease components and non-lease components, such as common area maintenance and utilities for property leases. As a practical expedient, the Company accounts for the non-lease components together with the lease components as a single lease component for all of its leases.

The Company classifies a lease as a finance lease when it meets any of the following criteria at the lease commencement date: a) the lease transfers ownership of the underlying asset to the Company by the end of the lease term; b) the lease grants the Company an option to purchase the underlying asset that the Company is reasonably certain to exercise; c) the lease term is for the major part of the remaining economic life of the underlying asset (the Company considers a major part to be 75% or more of the remaining economic life of the underlying asset); d) the present value of the sum of the lease payments and any residual value guaranteed by the Company equals or exceeds substantially all of the fair value of the underlying asset (the Company considers substantially all the fair value to be 90% or more of the fair value of the underlying asset amount); or e) the underlying asset is of such a specialized nature that it is expected to have no alternative use to the lessor at the end of the lease term. When none of the criteria above are met, the Company classifies the lease as an operating lease.
On the lease commencement date, the Company records a lease asset and lease liability on the balance sheet. The lease asset consists of: 1) the amount of the initial lease liability; 2) any lease payments made to the lessor at or before the lease commencement date, minus any lease incentives received; and 3) any initial direct cost incurred by the Company. Initial direct costs are incremental costs of a lease that would not have been incurred if the lease had not been obtained and are capitalized as part of the lease asset.
The lease liability equals the present value of the future cash payments discounted using the Company's incremental borrowing rate. The Company’s incremental borrowing rate is the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments over a similar term, which is the three-month London Interbank Offered Rate (LIBOR) plus a 2.5% credit risk spread.


9



Operating lease expense equals the total cash payments recognized on a straight-line basis over the lease term. The amortization of the lease asset is calculated as the straight-line lease expense less the accretion of the interest on the lease liability each period. The lease liability is reduced by the cash payment less the interest each period.
NOTE 2: New Pronouncements
Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"
ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).  The amendments in this ASU eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity’s current estimate of all expected credit losses. In addition, this ASU broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.  The amendments in this ASU require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income. For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.  This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective. As of the date of this report, management is in the process of completing the implementation of this ASU, including finalizing the internal credit losses policy and the related processes, internal control, and disclosures. Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.
Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities"
ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium). The amendments in this ASU shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date. The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity. Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium. The amendments in this ASU more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities. For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020. This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle. Early adoption is permitted, including adoption in an interim period. Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.
Accounting Standards Update (ASU) 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software"
ASU 2018-15 applies to entities that are a customer in a hosting arrangement that is a service contract. The amendments in this ASU align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software. Accordingly, the amendments in this ASU require an entity in a hosting arrangement that is a service contract to follow the guidance in Subtopic 350-40 to determine which implementation costs to capitalize as an asset related to the service contract and which costs to expense. Further, it requires the entity to expense the capitalized implementation costs over the term of the hosting arrangement. In addition, it requires the presentation of the expenses related to the capitalized implementation costs in the same line item in the statement of income as the fees associated with the hosting element of the arrangement and the classification of the payments for the capitalized implementation costs in the statement of cash flows in the same manner as the payments made for the fees associated with the hosting element. The amendments in this ASU are effective for public entities for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted. Management does not expect ASU 2018-15 to have a material impact on the Company's financial statements and disclosures.

10

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

NOTE 3: Fair Value Measurements
Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis
The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of September 29, 2019 (in thousands):
 
Quoted Prices in
Active Markets
for Identical
Assets (Level 1)
 
Significant  Other
Observable
Inputs (Level 2)
 

Unobservable
Inputs (Level 3)
Assets:
 
 
 
 
 
Money market instruments
$
16,081

 
$

 
$

Treasury bills

 
362,069

 

Corporate bonds

 
255,207

 

Asset-backed securities

 
146,392

 

Sovereign bonds

 
22,300

 

Agency bonds

 
5,905

 

Municipal bonds

 
4,840

 

Economic hedge forward contracts

 
19

 

Liabilities:
 
 
 
 
 
Economic hedge forward contracts

 
70

 

Contingent consideration liabilities

 

 
1,153


The Company’s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1.
The Company’s debt securities and forward contracts are reported at fair value based upon model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2. Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service. For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data. They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations. The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency. The market participants are generally large commercial banks.
The Company did not record an other-than-temporary impairment of these financial assets during the three-month or nine-month periods ended September 29, 2019 and September 30, 2018.
The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid using significant inputs that are not observable in the market and are therefore classified as Level 3. Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones. The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.
The following table summarizes the activity for the Company's liability measured at fair value using Level 3 inputs for the nine-month period ended September 29, 2019 (in thousands):
Balance as of December 31, 2018
$
2,554

Fair value adjustment to GVi contingent consideration
(1,646
)
Fair value adjustment to Chiaro contingent consideration
245

Balance as of September 29, 2019
$
1,153


Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis
Non-financial assets such as property, plant and equipment, goodwill, and intangible assets are required to be measured at fair value only when an impairment loss is recognized. The Company did not record an impairment charge related to these assets during the three-month or nine-month periods ended September 29, 2019 and September 30, 2018.

11

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

NOTE 4: Cash, Cash Equivalents, and Investments
Cash, cash equivalents, and investments consisted of the following (in thousands):
 
September 29, 2019
 
December 31, 2018
Cash
$
105,620

 
$
104,655

Money market instruments
16,081

 
3,557

Cash and cash equivalents
121,701

 
108,212

Treasury bills
105,454

 
198,477

Asset-backed securities
89,576

 
78,407

Corporate bonds
87,209

 
137,871

Sovereign bonds
6,300

 
8,101

Municipal bonds
3,533

 
4,492

Current investments
292,072

 
427,348

Treasury bills
256,615

 
32,760

Corporate bonds
167,998

 
162,566

Asset-backed securities
56,816

 
53,631

Sovereign bonds
16,000

 
6,316

Agency bonds
5,905

 
5,921

Municipal bonds
1,307

 
845

Non-current investments
504,641

 
262,039

 
$
918,414

 
$
797,599



Treasury bills consist of debt securities issued by the U.S. government; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; corporate bonds consist of debt securities issued by both domestic and foreign companies; sovereign bonds consist of direct debt issued by foreign governments; municipal bonds consist of debt securities issued by state and local government entities; agency bonds consist of domestic or foreign obligations of government agencies and government sponsored enterprises that have government backing. All securities are denominated in U.S. Dollars.
The following table summarizes the Company’s available-for-sale investments as of September 29, 2019 (in thousands):
 
Amortized
Cost
 
Gross
Unrealized
Gains
 
Gross
Unrealized
Losses
 
Fair Value
Current:
 
 
 
 
 
 

Treasury bills
$
105,254

 
$
212

 
$
(12
)
 
$
105,454

Asset-backed securities
89,226

 
359

 
(9
)
 
89,576

Corporate bonds
86,990

 
222

 
(3
)
 
87,209

Sovereign bonds
6,286

 
14

 

 
6,300

Municipal bonds
3,535

 

 
(2
)
 
3,533

Non-current:
 
 
 
 
 
 

Treasury bills
255,441

 
1,253

 
(79
)
 
256,615

Corporate bonds
167,464

 
584

 
(50
)
 
167,998

Asset-backed securities
56,636

 
195

 
(15
)
 
56,816

Sovereign bonds
15,969

 
43

 
(12
)
 
16,000

Agency bonds
5,930

 

 
(25
)
 
5,905

Municipal bonds
1,300

 
7

 

 
1,307

 
$
794,031

 
$
2,889

 
$
(207
)
 
$
796,713



12

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of September 29, 2019 (in thousands):
 
Unrealized Loss Position For:
 
 
 
Less than 12 Months
 
12 Months or Greater
 
Total
 
Fair Value
 
Unrealized
Losses
 
Fair Value
 
Unrealized
Losses
 
Fair Value
 
Unrealized
Losses
Treasury bills
$
108,863

 
$
(91
)
 
$

 
$

 
$
108,863

 
$
(91
)
Corporate bonds
23,263

 
(17
)
 
20,713

 
(36
)
 
43,976

 
(53
)
Asset-backed securities
11,149

 
(15
)
 
8,093

 
(9
)
 
19,242

 
(24
)
Sovereign bonds
11,558

 
(12
)
 

 

 
11,558

 
(12
)
Agency bonds
5,905

 
(25
)
 

 

 
5,905

 
(25
)
Municipal bonds

 

 
343

 
(2
)
 
343

 
(2
)
 
$
160,738


$
(160
)

$
29,149


$
(47
)

$
189,887


$
(207
)

As of September 29, 2019, the Company did not recognize any other-than-temporary impairment of these investments. In its evaluation, management considered the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, the Company's intent and ability to hold the security to expected recovery of value, and other meaningful information. The Company does not intend to sell, and is unlikely to be required to sell, any of these available-for-sale investments before their effective maturity or market price recovery.
The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $361,000 and $67,000, respectively, during the three-month period ended September 29, 2019 and $283,000 and $17,000, respectively, during the three-month period ended September 30, 2018. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $818,000 and $103,000, respectively, during the nine-month period ended September 29, 2019 and $646,000 and $111,000, respectively, during the nine-month period ended September 30, 2018. These gains and losses are included in "Investment income" on the Consolidated Statements of Operations. Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders’ equity as accumulated other comprehensive loss.
The following table presents the effective maturity dates of the Company’s available-for-sale investments as of September 29, 2019 (in thousands):
 
<1 year
 
1-2 Years
 
2-3 Years
 
3-4 Years
 
4-5 Years
 
Total
Treasury bills
$
105,454

 
$
188,398

 
$
68,217

 
$

 
$

 
$
362,069

Corporate bonds
87,209

 
115,941

 
47,842

 
1,348

 
2,867

 
255,207

Asset-backed securities
89,576

 
21,425

 
26,142

 
7,633

 
1,616

 
146,392

Sovereign bonds
6,300

 
16,000

 

 

 

 
22,300

Agency bonds

 

 
5,905

 

 

 
5,905

Municipal bonds
3,533

 

 
1,307

 

 

 
4,840

 
$
292,072


$
341,764


$
149,413


$
8,981


$
4,483


$
796,713


NOTE 5: Inventories
Inventories consisted of the following (in thousands):
 
September 29, 2019
 
December 31, 2018
Raw materials
$
30,283

 
$
42,738

Work-in-process
4,848

 
3,435

Finished goods
30,133

 
37,109

 
$
65,264

 
$
83,282


NOTE 6:  Leases
On January 1, 2019, the Company adopted Accounting Standards Codification (ASC) 842, “Leases,” using the transition method of adoption, which allowed the Company to apply the standard on a prospective basis with a cumulative-effect adjustment to the opening balance sheet as of the adoption date. Accordingly, the Company recorded lease assets

13

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

of $17,522,000, current lease liabilities of $4,736,000, and non-current lease liabilities of $12,669,000 on its Consolidated Balance Sheet as of January 1, 2019.
As part of the adoption, the Company elected a practical expedient package to be applied to all of its leases upon transition, and as a result, the Company did not reassess: 1) whether any expired or existing contracts contain leases; 2) the lease classification for any expired or existing leases; and 3) the accounting for initial direct costs for any existing leases.
The Company's leases are primarily leased properties across different worldwide locations where the Company conducts its operations. All of these leases are classified as operating leases. Certain leases may contain options to extend or terminate the lease at the Company's sole discretion. There were no options to extend or terminate that were included in the determination of the lease term for the leases outstanding as of September 29, 2019. Certain leases contain leasehold improvement incentives, retirement obligations, escalating clauses, rent holidays, and variable payments tied to a consumer price index. There were no restrictions or covenants for the leases outstanding as of September 29, 2019.
The total operating lease expense for the three-month and nine-month periods ended September 29, 2019 was $1,749,000 and $4,976,000, respectively. The total operating lease cash payments for the three-month and nine-month periods ended September 29, 2019 was $1,708,000 and $4,778,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability was $22,000 and $255,000 for the three-month and nine-month periods ended September 29, 2019, respectively.
Future operating lease cash payments are as follows (in thousands):
Year Ended December 31,
 
Amount
Remainder of fiscal 2019
 
$
1,650

2020
 
5,628

2021
 
4,314

2022
 
2,831

2023
 
1,988

2024
 
831

Thereafter
 
309

 
 
$
17,551


The discounted present value of the future lease cash payments resulted in a lease liability of $16,167,000 as of September 29, 2019.
The weighted-average discount rate was 4.8% for the leases outstanding as of September 29, 2019. The weighted-average remaining lease term was 3.6 years for the leases outstanding as of September 29, 2019. The Company did not have any leases that have not yet commenced but that create significant rights and obligations as of September 29, 2019.
The Company owns a building adjacent to its corporate headquarters that is partially occupied with a tenant who has a lease agreement that will expire in 2022. Rental income was $76,000 and $77,000 for the three-month period ended September 29, 2019 and September 30, 2018, respectively. Rental income was $234,000 and $236,000 for the nine-month period ended September 29, 2019 and September 30, 2018, respectively.
Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):
Year Ended December 31,
 
Amount
Remainder of fiscal 2019
 
$
77

2020
 
307

2021
 
307

2022
 
307

 
 
$
998




14

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

NOTE 7:  Intangible Assets
Amortized intangible assets consisted of the following (in thousands):
 
Gross
Carrying
Value
 
Accumulated
Amortization
 
Net
Carrying
Value
Distribution networks
$
38,060

 
$
38,060

 
$

Completed technologies
13,687

 
8,261

 
5,426

Customer relationships
8,607

 
6,101

 
2,506

Non-compete agreements
370

 
308

 
62

Balance as of September 29, 2019
$
60,724

 
$
52,730

 
$
7,994

 
 
 
 
 
 
 
Gross
Carrying
Value
 
Accumulated
Amortization
 
Net
Carrying
Value
Distribution networks
$
38,060

 
$
38,060

 
$

Completed technologies
13,687

 
6,619

 
7,068

Customer relationships
8,607

 
5,716

 
2,891

Non-compete agreements
370

 
216

 
154

Balance as of December 31, 2018
$
60,724

 
$
50,611

 
$
10,113


As of September 29, 2019, estimated future amortization expense related to intangible assets is as follows (in thousands):
Year Ended December 31,
 
Amount
Remainder of fiscal 2019
 
$
582

2020
 
2,185

2021
 
2,017

2022
 
1,691

2023
 
989

2024
 
422

Thereafter
 
108

 
 
$
7,994


NOTE 8: Warranty Obligations
The Company records the estimated cost of fulfilling product warranties at the time of sale based upon historical costs to fulfill claims. Obligations may also be recorded subsequent to the time of sale whenever specific events or circumstances impacting product quality become known that would not have been taken into account using historical data. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and third-party contract manufacturers, the Company’s warranty obligation is affected by product failure rates, material usage, and service delivery costs incurred in correcting a product failure. An adverse change in any of these factors may result in the need for additional warranty provisions. Warranty obligations are included in “Accrued expenses” on the Consolidated Balance Sheets.
The changes in the warranty obligation were as follows (in thousands):
Balance as of December 31, 2018
$
4,743

Provisions for warranties issued during the period
3,301

Fulfillment of warranty obligations
(2,770
)
Balance as of September 29, 2019
$
5,274


NOTE 9: Derivative Instruments
The Company’s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates. Currently, the Company enters into economic hedges to manage this risk. The economic hedges utilize foreign currency forward contracts with maturities of up to 45 days to manage the exposure

15

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables. The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged. These economic hedges are not designated as hedging instruments for hedge accounting treatment.
The Company had the following outstanding forward contracts (in thousands):
 
September 29, 2019
 
December 31, 2018
Currency
Notional
Value
 
USD
Equivalent
 
Notional
Value
 
USD
Equivalent
Derivatives Not Designated as Hedging Instruments:
 
 
 
 
Euro
18,000

 
$
19,697

 
23,000

 
$
26,330

Japanese Yen
600,000

 
5,563

 
380,000

 
3,459

Mexican Peso
90,000

 
4,560

 

 

British Pound
2,550

 
3,149

 
2,500

 
3,204

Korean Won
3,660,000

 
3,053

 
3,125,000

 
2,808

Hungarian Forint
840,000

 
2,739

 
750,000

 
2,685

Taiwanese Dollar
45,700

 
1,478

 
55,000

 
1,807

Canadian Dollar
1,100

 
830

 
990

 
726

Singapore Dollar

 

 
700

 
514


Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):
 
Asset Derivatives
 
Liability Derivatives
 
Balance
 
Fair Value
 
Balance
 
Fair Value
 
Sheet
Location
 
September 29, 2019
 
December 31, 2018
 
Sheet
Location
 
September 29, 2019
 
December 31, 2018
Derivatives Not Designated as Hedging Instruments:
 
 
 
 
 
 
Economic hedge forward contracts
Prepaid expenses and other current assets
 
$
19

 
$
1

 
Accrued expenses
 
$
70

 
$
106



The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):
Asset Derivatives
 
Liability Derivatives
 
 
September 29, 2019
 
December 31, 2018
 
 
 
September 29, 2019
 
December 31, 2018
Gross amounts of recognized assets
 
$
19

 
$
1

 
Gross amounts of recognized liabilities
 
$
70

 
$
106

Gross amounts offset
 

 

 
Gross amounts offset
 

 

Net amount of assets presented
 
$
19

 
$
1

 
Net amount of liabilities presented
 
$
70

 
$
106




16

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):
 
Location in Financial Statements
 
Three-months Ended
 
Nine-months Ended
 
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Derivatives Not Designated as Hedging Instruments:
 
 
 
Gains (losses) recognized in current operations
Foreign currency gain (loss)
 
$
469

 
$
299

 
$
535

 
$
(366
)


NOTE 10: Revenue Recognition
The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):
 
 
Three-months Ended
 
Nine-months Ended
 
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Americas
 
$
65,253

 
$
57,020

 
$
208,909

 
$
187,991

Europe
 
64,209

 
118,810

 
182,747

 
245,437

Greater China
 
27,854

 
31,068

 
86,446

 
99,402

Other Asia
 
26,009

 
25,323

 
77,754

 
80,222

 
 
$
183,325

 
$
232,221

 
$
555,856

 
$
613,052



The following table summarizes disaggregated revenue information by revenue type (in thousands):
 
 
Three-months Ended
 
Nine-months Ended
 
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Standard products and services
 
$
139,887

 
$
150,993

 
$
473,610

 
$
493,019

Application-specific customer solutions
 
43,438

 
81,228

 
82,246

 
120,033

 
 
$
183,325

 
$
232,221

 
$
555,856

 
$
613,052



Costs to Fulfill a Contract
Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $4,792,000 and $3,514,000 as of September 29, 2019 and December 31, 2018, respectively.

Accounts Receivable, Contract Assets, and Contract Liabilities
Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value. The Company maintains reserves against its accounts receivable for potential credit losses. Credit losses recognized on accounts receivable were immaterial for the three-month and nine-month periods ended September 29, 2019 and September 30, 2018, respectively. Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts. Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.







17

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

The following table summarizes the deferred revenue and customer deposits activity for the nine-month period ended September 29, 2019 (in thousands):
Balance as of December 31, 2018
$
9,845

Increases to deferred revenue and customer deposits
37,351

Recognition of revenue
(36,517
)
Foreign exchange rate changes
(248
)
Balance as of September 29, 2019
$
10,431



As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.
NOTE 11: Stock-Based Compensation Expense
The Company’s share-based payments that result in compensation expense consist of stock option grants and restricted stock units (RSUs). As of September 29, 2019, the Company had 17,350,152 shares available for grant. Stock options are granted with an exercise price equal to the market value of the Company’s common stock at the grant date and generally vest over four or five years based upon continuous service and expire ten years from the grant date. RSUs generally vest upon three years of continuous employment or incrementally over such three-year period. Participants are not entitled to dividends on RSUs.
Stock Options
The following table summarizes the Company’s stock option activity for the nine-month period ended September 29, 2019:
 
Shares
(in thousands)
 
Weighted-
Average
Exercise
Price
 
Weighted-
Average
Remaining
Contractual
Term (in years)
 
Aggregate
Intrinsic
Value
(in thousands)
Outstanding as of December 31, 2018
13,789

 
$
31.73

 
 
 
 
Granted
2,879

 
51.22

 
 
 
 
Exercised
(1,475
)
 
21.53

 
 
 
 
Forfeited or expired
(726
)
 
41.79

 
 
 
 
Outstanding as of September 29, 2019
14,467

 
$
36.14

 
7.19
 
$
203,774

Exercisable as of September 29, 2019
5,714

 
$
25.33

 
5.73
 
$
134,913

Options vested or expected to vest as of September 29, 2019 (1)
13,116

 
$
34.90

 
7.04
 
$
199,066

 (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.
The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:
 
Three-months Ended
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Risk-free rate
2.7
%
 
2.9
%
 
2.7
%
 
2.9
%
Expected dividend yield
0.39
%
 
0.32
%
 
0.39
%
 
0.32
%
Expected volatility
37
%
 
39
%
 
37
%
 
39
%
Expected term (in years)
5.1

 
5.4

 
5.2

 
5.3



18

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

Risk-free rate
The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.
Expected dividend yield
Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company’s Board of Directors and dividing that result by the closing stock price on the grant date. 
Expected volatility
The expected volatility was based upon a combination of historical volatility of the Company’s common stock over the contractual term of the option and implied volatility for traded options of the Company’s stock.
Expected term
The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.
The weighted-average grant-date fair values of stock options granted during the three-month periods ended September 29, 2019 and September 30, 2018 were $18.42 and $22.52, respectively. The weighted-average grant-date fair values of stock options granted during the nine-month periods ended September 29, 2019 and September 30, 2018 were $18.58 and $21.70, respectively.
The total intrinsic values of stock options exercised for the three-month periods ended September 29, 2019 and September 30, 2018 were $5,746,000 and $17,985,000, respectively. The total intrinsic values of stock options exercised for the nine-month periods ended September 29, 2019 and September 30, 2018 were $42,545,000 and $50,975,000, respectively. The total fair values of stock options vested for the three-month periods ended September 29, 2019 and September 30, 2018 were $1,213,000 and $997,000, respectively. The total fair values of stock options vested for the nine-month periods ended September 29, 2019 and September 30, 2018 were $32,072,000 and $27,557,000, respectively.
Restricted Stock Units (RSUs)
The fair values of RSUs granted were determined based upon the market value of the Company's common stock at the time of grant. The initial cost was then amortized over the period of vesting until the restrictions lapsed.
The following table summarizes the Company's RSUs activity for the nine-month period ended September 29, 2019:
 
Shares (in thousands)
 
Weighted-Average Grant Date Fair Value
Nonvested as of December 31, 2018

 
$

Granted
75

 
45.20

Vested

 

Forfeited or expired

 

Nonvested as of September 29, 2019
75

 
$
45.20


The weighted-average grant-date fair values of RSUs granted during the three-month and nine-month periods ended September 29, 2019 were $45.20. There were no RSUs vested for the three or nine-month periods ended September 29, 2019. There were no RSUs granted or vested in 2018.
Stock-Based Compensation Expense
The Company stratifies its employee population into two groups: one consisting of senior management and another consisting of all other employees. The Company currently applies an estimated annual forfeiture rate of 9% to all equity awards for senior management and a rate of 12% for all other employees. Each year during the first quarter, the Company revises its estimated forfeiture rate. This resulted in a decrease to compensation expense of $499,000 in 2019 and an increase to compensation expense of $1,283,000 in 2018.
As of September 29, 2019, total unrecognized compensation expense related to non-vested stock awards, including stock options and RSUs, was $59,708,000, which is expected to be recognized over a weighted-average period of 1.60 years.

19

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended September 29, 2019 were $10,194,000 and $1,804,000, respectively, and for the three-month period ended September 30, 2018 were $9,143,000 and $1,654,000, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the nine-month period ended September 29, 2019 were $33,442,000 and $5,839,000, respectively, and for the nine-month period ended September 30, 2018 were $31,339,000 and $5,608,000, respectively. No compensation expense was capitalized as of September 29, 2019 or December 31, 2018.
The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):
 
Three-months Ended
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Cost of revenue
$
334

 
$
544

 
$
1,114

 
$
1,898

Research, development, and engineering
3,616

 
3,197

 
11,633

 
11,166

Selling, general, and administrative
6,244

 
5,402

 
20,695

 
18,275

 
$
10,194

 
$
9,143

 
$
33,442

 
$
31,339


NOTE 12: Stock Repurchase Program
In October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of September 29, 2019, the Company repurchased 1,601,000 shares at a cost of $70,312,000 under this program, including 1,398,000 shares at a cost of $61,690,000 during the nine-month period ended September 29, 2019. The Company may repurchase shares under this program in future periods, up to the remaining balance of $129,688,000, depending upon a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.
NOTE 13: Taxes
A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:
 
Three-months Ended
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Income tax expense at U.S. federal statutory corporate tax rate
21
 %
 
21
 %
 
21
 %
 
21
 %
State income taxes, net of federal benefit
1
 %
 
1
 %
 
1
 %
 
1
 %
Foreign tax rate differential
(7
)%
 
(7
)%
 
(7
)%
 
(7
)%
Tax credit
(1
)%
 
 %
 
(1
)%
 
 %
Discrete tax benefit related to Tax Act 2017
 %
 
(9
)%
 
 %
 
(4
)%
Discrete tax benefit related to stock options
(1
)%
 
(4
)%
 
(3
)%
 
(5
)%
Other discrete tax events
(3
)%
 
(2
)%
 
(1
)%
 
(1
)%
Other
2
 %
 
1
 %
 
2
 %
 
1
 %
Income tax expense
12
 %

1
 %
 
12
 %
 
6
 %

Management has determined that earnings from its legal entity in China will be indefinitely reinvested to provide sufficient local funding for growth, and that earnings from all other jurisdictions will not be indefinitely reinvested. The Company is tax resident in numerous jurisdictions around the world and has identified its major tax jurisdictions as the United

20

COGNEX CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

States, Ireland, and China. The statutory tax rate is 12.5% in Ireland and 25% in China, compared to the U.S. federal statutory corporate tax rate of 21%. International rights to certain of the Company's intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate that is lower than the above mentioned statutory rates, although the reduced taxes overseas have been partially offset by changes in U.S. tax law. These differences resulted in a decrease in the effective tax rate by 7 percentage points for all periods presented.
The excess tax benefit arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises resulted in a decrease in the effective tax rate by 1 and 4 percentage points for the three-month periods ended September 29, 2019 and September 30, 2018, respectively, and a decrease in the effective tax rate by 3 and 5 percentage points for the nine-month periods ended September 29, 2019 and September 30, 2018, respectively.
During the nine-month period ended September 29, 2019, the Company recorded a $37,000 increase in reserves for income taxes, net of deferred tax benefit. Estimated interest and penalties included in these amounts totaled $50,000 for the nine-month period ended September 29, 2019.
The Company’s reserve for income taxes, including gross interest and penalties, was $8,179,000 as of September 29, 2019, which included $7,151,000 classified as a non-current liability and $1,028,000 recorded as a reduction to non-current deferred tax assets. The amount of gross interest and penalties included in these balances was $918,000. If the Company’s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period. As a result of the expiration of certain statutes of limitations, there is a potential that a portion of these reserves could be released, which would decrease income tax expense by approximately $1,300,000 to $1,400,000 over the next twelve months.
The Company has defined its major tax jurisdictions as the United States, Ireland, and China, and within the United States, Massachusetts. Within the United States, the tax years 2016 through 2018 remain open to examination by the Internal Revenue Service and various state tax authorities. The tax years 2015 through 2018 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates.
NOTE 14: Weighted-Average Shares
Weighted-average shares were calculated as follows (in thousands):
 
Three-months Ended
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Basic weighted-average common shares outstanding
170,744

 
172,189

 
171,053

 
172,613

Effect of dilutive equity awards
3,705

 
5,056

 
4,111

 
5,408

Weighted-average common and common-equivalent shares outstanding
174,449

 
177,245

 
175,164

 
178,021


Equity awards to purchase 6,078,000 and 5,695,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and nine-month periods ended September 29, 2019, respectively, and 2,796,000 and 2,353,000 for the same periods in 2018, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.
NOTE 15: Subsequent Events
On October 16, 2019, the Company acquired Sualab Co., Ltd. (Sualab), a provider of deep learning-based vision software for industrial image analysis based in Korea for approximately $195 million. The total consideration included cash payments of approximately $171 million upon closing. The remaining consideration consists of deferred payments of approximately $24 million that may become payable on the fourth anniversary date of the closing, contingent upon the continued employment of key talent, and will be recorded as compensation expense over this four-year period. Given the timing of this acquisition, the Company is in the process of completing the purchase price allocation for the $171 million of consideration that is not related to employment. Transaction costs incurred to date were not material and were expensed as incurred. The financial results of Sualab prior to the acquisition date are not material to the consolidated financial results of the Company.
On October 28, 2019, the Company’s Board of Directors declared a cash dividend of $0.055 per share. The dividend is payable on November 29, 2019 to all shareholders of record as of the close of business on November 15, 2019.

21



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

Forward-Looking Statements
Certain statements made in this report, as well as oral statements made by the Company from time to time, constitute forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended. Readers can identify these forward-looking statements by our use of the words “expects,” “anticipates,” “estimates,” “believes,” “projects,” “intends,” “plans,” “will,” “may,” “shall,” “could,” “should,” and similar words and other statements of a similar sense. These statements are based upon our current estimates and expectations as to prospective events and circumstances, which may or may not be in our control and as to which there can be no firm assurances given. These forward-looking statements, which include statements regarding business and market trends, future financial performance, customer order rates and timing of related revenue, expected areas of growth, emerging markets, future product mix, research and development activities, investments, strategic plans, and estimated tax benefits and expenses and other tax matters, involve known and unknown risks and uncertainties that could cause actual results to differ materially from those projected. Such risks and uncertainties include: (1) the loss of a large customer; (2) current and future conditions in the global economy, including the imposition of tariffs or export controls; (3) the reliance on revenue from the consumer electronics or automotive industries; (4) the inability to penetrate new markets; (5) the inability to achieve significant international revenue; (6) fluctuations in foreign currency exchange rates and the use of derivative instruments; (7) information security breaches or business system disruptions; (8) the inability to attract and retain skilled employees; (9) the failure to effectively manage our growth; (10) the reliance upon key suppliers to manufacture and deliver critical components for our products; (11) the failure to effectively manage product transitions or accurately forecast customer demand; (12) the inability to design and manufacture high-quality products; (13) the technological obsolescence of current products and the inability to develop new products; (14) the failure to properly manage the distribution of products and services; (15) the inability to protect our proprietary technology and intellectual property; (16) our involvement in time-consuming and costly litigation; (17) the impact of competitive pressures; (18) the challenges in integrating and achieving expected results from acquired businesses, including the recent acquisition of Sualab; (19) potential impairment charges with respect to our investments or for acquired intangible assets or goodwill; and (20) exposure to additional tax liabilities. The foregoing list should not be construed as exhaustive and we encourage readers to refer to the detailed discussion of risk factors included in Part I - Item 1A of the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2018. The Company cautions readers not to place undue reliance upon any such forward-looking statements, which speak only as of the date made. The Company disclaims any obligation to subsequently revise forward-looking statements to reflect the occurrence of anticipated or unanticipated events or circumstances after the date such statements are made.

Executive Overview
Cognex Corporation is a leading worldwide provider of machine vision products that capture and analyze visual information in order to automate tasks, primarily in manufacturing processes, where vision is required. In addition to product revenue derived from the sale of machine vision products, the Company also generates revenue by providing maintenance and support, consulting, and training services to its customers; however, service revenue accounted for less than 10% of total revenue for all periods presented.
Cognex machine vision is primarily used to automate manufacturing and distribution processes in a variety of industries where the technology is widely recognized as an important component of automated production and quality assurance. Virtually every manufacturer can achieve better quality and manufacturing efficiency by using machine vision, and therefore, Cognex products are used by a broad base of customers across a variety of industries, including consumer electronics, automotive, consumer products, food and beverage, pharmaceuticals, and medical devices. Cognex products are also used to automate distribution processes in the logistics industry for applications in retail distribution and ecommerce to scan, track, and sort goods through distribution centers.
Revenue for the third quarter of 2019 totaled $183,325,000, representing a decrease of 21% from the third quarter of 2018 driven by significantly lower revenue in the consumer electronics industry. Gross margin as a percentage of revenue declined to 74% for the third quarter of 2019 from 75% for the third quarter of 2018 due primarily to the impact of the lower sales volume. Operating expenses in the third quarter of 2019 decreased by 3% over the third quarter of 2018 due principally to lower expenses related to incentive compensation plans. Operating income was 24% of revenue in the third quarter of 2019 compared to 34% of revenue in the third quarter of 2018; net income was 23% of revenue in the third quarter of 2019 compared to 35% of revenue in the third quarter of 2018; and net income per diluted share was $0.24 in the third quarter of 2019 compared to $0.45 in the third quarter of 2018.

22




Results of Operations
As foreign currency exchange rates are a factor in understanding period-to-period comparisons, we believe the presentation of results on a constant-currency basis in addition to reported results helps improve investors’ ability to understand our operating results and evaluate our performance in comparison to prior periods. We also use results on a constant-currency basis as one measure to evaluate our performance. Constant-currency information compares results between periods as if exchange rates had remained constant period-over-period. We generally refer to such amounts calculated on a constant-currency basis as excluding the impact of foreign currency exchange rate changes. Results on a constant-currency basis are not in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP) and should be considered in addition to, and not as a substitute for, results prepared in accordance with U.S. GAAP.
Revenue
Revenue decreased by $48,896,000, or 21%, for the three-month period and decreased by $57,196,000, or 9%, for the nine-month period. Changes in foreign currency exchange rates did not have a material impact on revenue for either period presented.
The decrease in revenue for both periods was driven by significantly lower revenue in the consumer electronics industry, primarily related to smartphone manufacturing. Delays and reductions in capital spending from customers in a variety of other factory automation industries, including the automotive industry, also contributed to the decrease in revenue. These decreases were only partially offset by strong sales in the logistics industry.
Sales to customers based in the Americas increased by 14% for the three-month period and 11% for the nine-month period driven by higher sales in the logistics industry, partially offset by lower sales in the automotive industry. Sales to customers based in Europe decreased by 46% for the three-month period and 26% for the nine-month period driven by lower sales in the consumer electronics industry, and to a lessor extent, the automotive industry. Sales to customers based in Greater China decreased by 10% for the three-month period and 13% for the nine-month period due to lower sales across a variety of industries. The decline would have been larger in Greater China, and less extreme in Europe, if not for procurement changes made by certain consumer electronics customers, shifting their purchases to China from Europe. Sales to customers based in other regions in Asia were relatively flat for both periods.
As of the date of this report, we expect revenue for the fourth quarter of 2019 to be lower than both the third quarter of 2019 and the fourth quarter of 2018. The sequential decrease is anticipated to come primarily from lower sales in the consumer electronics industry due to the seasonal timing of this business, while the decrease from the prior year is anticipated to come from a broad base of customers in a variety of industries, particularly in China and Europe. While the Company experienced strong sales in the logistics industry in the third quarter of 2019 over the prior year, we expect logistics revenue to be lower in the fourth quarter of 2019 compared to the prior year due primarily to a major customer delaying delivery of large orders for new sites.
Gross Margin
Gross margin as a percentage of revenue was 74% for both the three-month and nine-month periods in 2019 compared to 75% for the same periods in 2018. The decline in the gross margin percentage was due primarily to the unfavorable absorption of manufacturing overhead costs over the lower level of revenue.
As of the date of this report, we expect gross margin as a percentage of revenue for the fourth quarter of 2019 to be relatively consistent with the gross margin reported in the third quarter of 2019.
Operating Expenses
Research, development, and engineering (RD&E) expenses decreased by $1,585,000, or 5%, for the three-month period and $1,228,000, or 1%, for the nine-month period as detailed in the table below (in thousands).

23



 
Three-month period
 
Nine-month period
RD&E expenses in 2018
$
29,700

 
$
87,664

Personnel-related costs
898

 
3,096

Incentive compensation plans
(2,302
)
 
(3,646
)
Foreign currency exchange rate changes
(310
)
 
(1,576
)
Other
129

 
898

RD&E expenses in 2019
$
28,115

 
$
86,436

RD&E expenses decreased due to lower expenses related to incentive compensation plans resulting from lower levels of achievement on performance plans that were set at the beginning of the year. Changes in foreign currency exchange rates also resulted in a lower level of expenses, as costs denominated in foreign currencies were translated to U.S. Dollars at a lower rate. These decreases were offset by higher personnel-related costs resulting primarily from headcount additions to support new product initiatives.
RD&E expenses as a percentage of revenue were 15% and 16% for the three-month and nine-month periods in 2019, respectively, compared to 13% and 14% for the same periods in 2018. We believe that a continued commitment to RD&E activities is essential in order to maintain or achieve product leadership with our existing products and to provide innovative new product offerings, as well as to provide engineering support for large customers. In addition, we consider our ability to accelerate time to market for new products to be critical to our revenue growth. Therefore, we expect to continue to make significant RD&E investments in the future, and currently intend to continue our product development plans during periods of lower revenue levels.  Furthermore, the acquisition of Sualab on October 16, 2019 is anticipated to result in a higher level of RD&E investment in future periods, as the majority of operating expenses from this acquisition are expected to be classified as RD&E expenses.  Accordingly, we expect RD&E expenses as a percentage of revenue to be higher in the fourth quarter of 2019 than the percentage reported for the nine-month period ended September 29, 2019.
Selling, General, and Administrative Expenses
Selling, general, and administrative (SG&A) expenses decreased by $1,331,000, or 2%, for the three-month period and increased by $3,276,000, or 2%, for the nine-month period as detailed in the table below (in thousands).
 
Three-month period
 
Nine-month period
SG&A expenses in 2018
$
65,817

 
$
196,266

Personnel-related costs
4,813

 
18,691

Incentive compensation plans
(3,762
)
 
(6,859
)
Foreign currency exchange rate changes
(806
)
 
(4,422
)
ERP project costs
(1,586
)
 
(4,253
)
Other
10

 
119

SG&A expenses in 2019
$
64,486

 
$
199,542

SG&A expenses decreased due to lower expenses related to incentive compensation plans resulting from lower levels of achievement on performance plans that were set at the beginning of the year. Expenses were also lower due to project costs incurred in 2018 related to the Company's new Enterprise Resource Planning (ERP) system. This system was placed into service during the third quarter of 2018, and therefore, similar costs were not incurred in 2019. Changes in foreign currency exchange rates also resulted in a lower level of expenses, as costs denominated in foreign currencies were translated to U.S. Dollars at a lower rate. These decreases were offset by higher personnel-related costs resulting primarily from headcount additions, principally sales personnel. In addition to salaries and fringe benefits, these personnel-related costs included sales commissions and travel expenses related to the additional headcount.
Non-operating Income (Expense)
The Company recorded foreign currency losses of $1,295,000 and $1,403,000 for the three-month and nine-month periods in 2019, respectively, compared to $379,000 and $708,000 for the same periods in 2018. Foreign currency gains and losses result primarily from the revaluation and settlement of accounts receivable, accounts payable, and intercompany balances that are reported in one currency and collected in another. A higher level of foreign currency losses was recorded in the third quarter of 2019 from the revaluation of intercompany payables denominated in U.S. Dollars on the company's China entity.

24



Investment income increased by $1,177,000, or 30%, for the three-month period and $4,506,000, or 42%, for the nine-month period. The increase was due to higher yields on the Company's portfolio of debt securities, and to a lesser extent additional funds available for investment.
The Company recorded other income of $456,000 and $1,239,000 for the three-month and nine-month periods in 2019, respectively, compared to other expense of $129,000 and $98,000 for the same periods in 2018. Other income (expense) includes fair value adjustments of contingent consideration liabilities arising from business acquisitions. A higher level of fair value adjustments to income was recorded in 2019 related to the Company's GVi acquisition resulting from a lower level of revenue in the Americas' automotive industry.
Income Tax Expense
The Company’s effective tax rate was 12% of pre-tax income for the three-month and nine-month periods in 2019, respectively, compared to 1% and 6% for the same periods in 2018.
The effective tax rate included a decrease in tax expense of $569,000 and $4,547,000 for the three-month and nine-month periods in 2019, respectively, and $2,811,000 and $8,400,000 for the same periods in 2018 primarily from the excess tax benefit arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises. The Company cannot predict the level of stock option exercises by employees in future periods.
In addition, the effective tax rate included a decrease in tax expense of $1,327,000 for the three-month period and $1,330,000 for the nine-month period in 2019, respectively, consisting primarily of the expiration of the statutes of limitations for certain reserves for income tax uncertainties.
Excluding the impact of these discrete tax events, the Company’s effective tax rate was 16% of pre-tax income for all periods presented.
The Company is tax resident in numerous jurisdictions around the world and has identified its major tax jurisdictions as the United States, Ireland, and China. The statutory tax rate is 12.5% in Ireland and 25% in China, compared to the U.S. federal statutory corporate tax rate of 21%. International rights to certain of the Company’s intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate lower than the above mentioned statutory rates, although the reduced taxes overseas have been partially offset by changes in U.S. tax law.
The European Union has initiated a series of tax reform legislation over the past few years regarding hybrid tax structures. The Company plans to make changes to its tax structure in the fourth quarter of 2019 as a result of this legislation. Management is currently evaluating the financial impact of these changes and expects to record a discrete tax benefit of between $100 million and $125 million in the fourth quarter of 2019. Management also expects its current effective tax rate excluding discrete items of 16% to increase slightly in future years as a result of this change.
On October 16, 2019, the Company acquired Sualab, a provider of deep learning-based vision software for industrial image analysis based in Korea for approximately $195 million. The Company plans to migrate acquired intellectual property to certain subsidiaries in the fourth quarter of 2019. Management is currently evaluating the financial impact of this migration and expects to record a discrete tax expense of between $27 million and $33 million in the fourth quarter of 2019.

Liquidity and Capital Resources
The Company has historically been able to generate positive cash flow from operations, which has funded its operating activities and other cash requirements and has resulted in an accumulated cash and investment balance of $918,414,000 as of September 29, 2019. The Company has established guidelines relative to credit ratings, diversification, and maturities of its investments that maintain liquidity.
The Company’s cash requirements during the nine months ended September 29, 2019 were primarily met with positive cash flows from operations. Cash requirements consisted of operating activities, the repurchase of common stock, the payment of dividends, and capital expenditures. Operating cash inflows included a reduction in accounts receivable from the collection of a significant amount due from a material customer in the consumer electronics industry, as well as a reduction in inventory levels. Operating cash outflows included the payment of company bonuses that were earned and accrued in 2018.
Capital expenditures during the nine months ended September 29, 2019 totaled $13,518,000 and consisted of computer hardware and software, manufacturing test equipment related to new product introductions, and improvements made to the Company's headquarters building in Natick, Massachusetts and various leased facilities.

25



In October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of September 29, 2019, the Company repurchased 1,601,000 shares at a cost of $70,312,000 under this program, including 1,398,000 shares at a cost of $61,690,000 during the nine months ended September 29, 2019. The Company may repurchase shares under this program in future periods, up to the remaining balance of $129,688,000, depending on a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.
The Company’s Board of Directors declared and paid a cash dividend of $0.05 per share in each quarter of 2019, amounting to $25,682,000 in the aggregate for the nine-month period ended September 29, 2019. Future dividends will be declared at the discretion of the Company’s Board of Directors and will depend upon such factors as the Board deems relevant including, among other things, the Company’s ability to generate positive cash flows from operations.
On October 16, 2019, the Company acquired Sualab for total cash consideration of approximately $171 million upon closing and deferred payments of approximately $24 million that may become payable on the fourth anniversary date of the closing. The Company plans to migrate acquired intellectual property to certain subsidiaries in the fourth quarter of 2019, which is expected to result in a foreign tax payment of between $35 million to $37 million payable in early 2020.
The Company believes that its existing cash and investment balances, together with cash flow from operations, will be sufficient to meet its operating, investing, and financing activities for the next twelve months. As of September 29, 2019, the Company had $918,414,000 in cash and investments. In addition, the Company has no long-term debt and does not anticipate needing debt financing in the near future. We believe that our strong cash position has put us in a relatively good position with respect to our longer-term liquidity needs.

New Pronouncements
Refer to Part I - Note 2 within this Form 10-Q, for a full description of recently issued accounting pronouncements including the expected dates of adoption and the expected impact on the financial position and results of operations of the Company.
ITEM 3: QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK
There have been no material changes to the Company’s exposures to market risk since December 31, 2018.
ITEM 4: CONTROLS AND PROCEDURES
As required by Rules 13a-15 and 15d-15 of the Securities Exchange Act of 1934, the Company has evaluated, with the participation of management, including the Chief Executive Officer and the Principal Financial & Accounting Officer, the effectiveness of its disclosure controls and procedures (as defined in such rules) as of the end of the period covered by this report. Based on such evaluation, the Chief Executive Officer and Principal Financial & Accounting Officer concluded that such disclosure controls and procedures were effective as of that date. From time to time, the Company reviews its disclosure controls and procedures, and may from time to time make changes aimed at enhancing their effectiveness and to ensure that the Company’s systems evolve with its business.
There was no change in the Company's internal control over the financial reporting that occurred during the quarter ended September 29, 2019 that has materially affected, or is reasonably likely to materially affect, the Company's internal control over financial reporting.

26



PART II: OTHER INFORMATION
ITEM 1. LEGAL PROCEEDINGS
Various claims and legal proceedings generally incidental to the normal course of business are pending or threatened on behalf of or against the Company. While we cannot predict the outcome of these matters, we believe that any liability arising from them will not have a material adverse effect on our financial position, liquidity, or results of operations.
ITEM 1A. RISK FACTORS
For a list of factors that could affect the Company’s business, results of operations, and financial condition, see the risk factors discussion provided in Part I—Item 1A of the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2018.
ITEM 2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS
The following table sets forth information with respect to purchases by the Company of shares of its common stock during the three-month period ended September 29, 2019:
 
Total
Number
of Shares
Purchased
 
Average
Price Paid
per Share
 
Total Number of
Shares
Purchased as
Part of Publicly
Announced
Plans or
Programs (1)
 
Approximate
Dollar Value
of Shares that
May Yet Be
Purchased
Under the
Plans or
Programs
July 1 - July 28, 2019

 
$

 

 
$
129,688,000

July 29 - August 25, 2019

 

 

 
129,688,000

August 26 - September 29, 2019

 

 

 
129,688,000

Total

 
$

 

 
$
129,688,000

(1) In October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. Purchases under this program commenced in October 2018.
ITEM 3. DEFAULTS UPON SENIOR SECURITIES
None.
ITEM 4. MINE SAFETY DISCLOSURES
Not applicable.
ITEM 5. OTHER INFORMATION
None.

27



 ITEM 6. EXHIBITS
Exhibit Number

 
 
31.1

 
31.2

 
32.1

 
32.2

 
101.SCH

 
Inline XBRL Taxonomy Extension Schema Document*
101.CAL

 
Inline XBRL Taxonomy Extension Calculation Linkbase Document*
101.LAB

 
Inline XBRL Taxonomy Extension Label Linkbase Document*
101.PRE

 
Inline XBRL Taxonomy Extension Presentation Linkbase Document*
101.DEF

 
Inline XBRL Taxonomy Extension Definition Linkbase Document*
104

 
Cover Page Interactive Data File (formatted as Inline XBRL with applicable taxonomy extension information contained in Exhibits 101.*)
*

 
Filed herewith
**

 
Furnished herewith


28



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.
 
Date:
October 28, 2019
 
COGNEX CORPORATION
 
 
 
 
 
 
 
 
By:
/s/ Robert J. Willett
 
 
 
 
Robert J. Willett
 
 
 
 
President and Chief Executive Officer
 
 
 
 
(Principal Executive Officer)
 
 
 
 
 
 
 
 
By:
/s/ Laura A. MacDonald
 
 
 
 
Laura A. MacDonald
 
 
 
 
Vice President and Corporate Controller
 
 
 
 
(Principal Financial and Accounting Officer)


29
EX-31.1 2 a9292019-10qxexhibit311.htm EXHIBIT 31.1 Exhibit


Exhibit 31.1
CERTIFICATION
I, Robert J. Willett, certify that:
1    I have reviewed this quarterly report on Form 10-Q of Cognex Corporation;
2    Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3    Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4    The registrant’s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
 
(a)
Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)
Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)
Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)
Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5    The registrant’s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
 
(a)
All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
(b)
Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
Date:
October 28, 2019
 
By:
 
/s/ Robert J. Willett
 
 
 
 
 
Robert J. Willett
 
 
 
 
 
President and Chief Executive Officer
 
 
 
 
 
(Principal Executive Officer)


EX-31.2 3 a9292019-10qxexhibit312.htm EXHIBIT 31.2 Exhibit


Exhibit 31.2
CERTIFICATION
I, Laura MacDonald, certify that:
1    I have reviewed this quarterly report on Form 10-Q of Cognex Corporation;
2    Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3    Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4    The registrant’s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
 
(a)
Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)
Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)
Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)
Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5    The registrant’s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
 
(a)
All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
(b)
Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
Date:
October 28, 2019
 
By:
 
/s/ Laura A. MacDonald
 
 
 
 
 
Laura A. MacDonald
 
 
 
 
 
Vice President and Corporate Controller
 
 
 
 
 
(Principal Financial and Accounting Officer)


EX-32.1 4 a9292019-10qxexhibit321.htm EXHIBIT 32.1 Exhibit


Exhibit 32.1*
CERTIFICATION PURSUANT TO
18 U.S.C. 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
The undersigned officer of Cognex Corporation (the “Company”) hereby certifies to his knowledge that the Company’s quarterly report on Form 10-Q for the quarterly period ended September 29, 2019 (the “Report”), as filed with the Securities and Exchange Commission on the date hereof, fully complies with the requirements of Section 13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended, and that the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
 
Date:
October 28, 2019
 
By:
/s/ Robert J. Willett
 
 
 
 
Robert J. Willett
 
 
 
 
President and Chief Executive Officer
 
 
 
 
(Principal Executive Officer)
 





























*
This certification shall not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, or otherwise subject to the liability of that section, nor shall it be deemed to be incorporated by reference into any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934.


EX-32.2 5 a9292019-10qxexhibit322.htm EXHIBIT 32.2 Exhibit


Exhibit 32.2*
CERTIFICATION PURSUANT TO
18 U.S.C. 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
The undersigned officer of Cognex Corporation (the “Company”) hereby certifies to her knowledge that the Company’s quarterly report on Form 10-Q for the quarterly period ended September 29, 2019 (the “Report”), as filed with the Securities and Exchange Commission on the date hereof, fully complies with the requirements of Section 13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended, and that the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
 
Date:
October 28, 2019
 
By:
/s/ Laura A. MacDonald
 
 
 
 
Laura A. MacDonald
 
 
 
 
Vice President and Corporate Controller
 
 
 
 
(Principal Financial and Accounting Officer)
 



























*
This certification shall not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, or otherwise subject to the liability of that section, nor shall it be deemed to be incorporated by reference into any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934.


EX-101.SCH 6 cgnx-20190929.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 2105100 - Disclosure - Cash, Cash Equivalents, and Investments link:presentationLink link:calculationLink link:definitionLink 2405403 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Detail) link:presentationLink link:calculationLink link:definitionLink 2405402 - Disclosure - Cash, Cash Equivalents, and Investments (Detail) link:presentationLink link:calculationLink link:definitionLink 2405406 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail) link:presentationLink link:calculationLink link:definitionLink 2405405 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Detail) link:presentationLink link:calculationLink link:definitionLink 2405404 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail) link:presentationLink link:calculationLink link:definitionLink 2305301 - Disclosure - Cash, Cash Equivalents, and Investments (Tables) link:presentationLink link:calculationLink link:definitionLink 1003000 - Statement - Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 1003501 - Statement - Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1005000 - Statement - Consolidated Statement of Shareholders' Equity link:presentationLink link:calculationLink link:definitionLink 1005501 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1004000 - Statement - Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 1002000 - Statement - Consolidated Statements of Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 1002501 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1001000 - Statement - Consolidated Statements of Operations link:presentationLink link:calculationLink link:definitionLink 0001000 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 2112100 - Disclosure - Derivative Instruments link:presentationLink link:calculationLink link:definitionLink 2412406 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail) link:presentationLink link:calculationLink link:definitionLink 2412402 - Disclosure - Derivative Instruments (Detail) link:presentationLink link:calculationLink link:definitionLink 2412405 - Disclosure - Derivative Instruments - Offsetting Assets (Detail) link:presentationLink link:calculationLink link:definitionLink 2412403 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Detail) link:presentationLink link:calculationLink link:definitionLink 2412404 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Detail) link:presentationLink link:calculationLink link:definitionLink 2312301 - Disclosure - Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 2104100 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 2404402 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail) link:presentationLink link:calculationLink link:definitionLink 2404403 - Disclosure - Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details) link:presentationLink link:calculationLink link:definitionLink 2304301 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 2110100 - Disclosure - Intangible Assets link:presentationLink link:calculationLink link:definitionLink 2410402 - Disclosure - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 2410402 - Disclosure - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 2310301 - Disclosure - Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 2106100 - Disclosure - Inventories link:presentationLink link:calculationLink link:definitionLink 2406402 - Disclosure - Inventories - Schedule of Inventories (Detail) link:presentationLink link:calculationLink link:definitionLink 2306301 - Disclosure - Inventories (Tables) link:presentationLink link:calculationLink link:definitionLink 2109100 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 2409403 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details) link:presentationLink link:calculationLink link:definitionLink 2409404 - Disclosure - Leases - Future Minimum Rental Receipts Under Non-cancelable Lease Agreements (Details) link:presentationLink link:calculationLink link:definitionLink 2409402 - Disclosure - Leases - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 2309301 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 2103100 - Disclosure - New Pronouncements link:presentationLink link:calculationLink link:definitionLink 2113100 - Disclosure - Revenue Recognition link:presentationLink link:calculationLink link:definitionLink 2413404 - Disclosure - Revenue Recognition - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 2413405 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details) link:presentationLink link:calculationLink link:definitionLink 2413402 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details) link:presentationLink link:calculationLink link:definitionLink 2413403 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details) link:presentationLink link:calculationLink link:definitionLink 2313301 - Disclosure - Revenue Recognition (Tables) link:presentationLink link:calculationLink link:definitionLink 2115100 - Disclosure - Stock-Based Compensation Expense link:presentationLink link:calculationLink link:definitionLink 2415402 - Disclosure - Stock-Based Compensation Expense (Detail) link:presentationLink link:calculationLink link:definitionLink 2415405 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Detail) link:presentationLink link:calculationLink link:definitionLink 2415403 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail) link:presentationLink link:calculationLink link:definitionLink 2315301 - Disclosure - Stock-Based Compensation Expense (Tables) link:presentationLink link:calculationLink link:definitionLink 2415404 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail) link:presentationLink link:calculationLink link:definitionLink 2116100 - Disclosure - Stock Repurchase Program link:presentationLink link:calculationLink link:definitionLink 2416401 - Disclosure - Stock Repurchase Program (Detail) link:presentationLink link:calculationLink link:definitionLink 2121100 - Disclosure - Subsequent Events link:presentationLink link:calculationLink link:definitionLink 2421401 - Disclosure - Subsequent Events (Details) link:presentationLink link:calculationLink link:definitionLink 2101100 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 2201201 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 2119100 - Disclosure - Taxes link:presentationLink link:calculationLink link:definitionLink 2419403 - Disclosure - Taxes (Detail) link:presentationLink link:calculationLink link:definitionLink 2419402 - Disclosure - Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail) link:presentationLink link:calculationLink link:definitionLink 2319301 - Disclosure - Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 2111100 - Disclosure - Warranty Obligations link:presentationLink link:calculationLink link:definitionLink 2411402 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail) link:presentationLink link:calculationLink link:definitionLink 2311301 - Disclosure - Warranty Obligations (Tables) link:presentationLink link:calculationLink link:definitionLink 2120100 - Disclosure - Weighted-Average Shares link:presentationLink link:calculationLink link:definitionLink 2420403 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail) link:presentationLink link:calculationLink link:definitionLink 2420402 - Disclosure - Weighted-Average Shares (Detail) link:presentationLink link:calculationLink link:definitionLink 2320301 - Disclosure - Weighted-Average Shares (Tables) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 cgnx-20190929_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 8 cgnx-20190929_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 9 cgnx-20190929_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Derivative Instruments and Hedging Activities Disclosure [Abstract] Derivative Instruments, Gain (Loss) [Table] Derivative Instruments, Gain (Loss) [Table] Hedging Designation [Axis] Hedging Designation [Axis] Hedging Designation [Domain] Hedging Designation [Domain] Not Designated as Hedging Instrument Not Designated as Hedging Instrument [Member] Income Statement Location [Axis] Income Statement Location [Axis] Income Statement Location [Domain] Income Statement Location [Domain] Research, Development, and Engineering Expenses Research and Development Expense [Member] Foreign Currency Gain (Loss) Foreign Currency Gain (Loss) [Member] Derivative Instruments, Gain (Loss) [Line Items] Derivative Instruments, Gain (Loss) [Line Items] Gains (losses) recognized in current operations Derivative, Gain (Loss) on Derivative, Net Accounting Policies [Abstract] Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Disclosure of Compensation Related Costs, Share-based Payments [Abstract] Shares (in thousands) Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward] Outstanding, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number Granted, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures Exercised, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period Forfeited or expired, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period Outstanding, shares Exercisable as of reporting date, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number Options vested or expected to vest as of reporting date, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number Weighted- Average Exercise Price Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Outstanding, shares Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price Granted, in dollars per share Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Exercised, in dollars per share Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Forfeited or expired, in dollars per share Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price Outstanding, shares Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price Weighted- Average Remaining Contractual Term (in years) Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price Weighted- Average Remaining Contractual Term (in years) Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract] Outstanding, in years Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Exercisable, in years Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term Options vested or expected to vest, in years Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term Aggregate Intrinsic Value (in thousands) Share Based Compensation Arrangement By Share Based Payment Award Options Additional Disclosures1 [Abstract] ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract] Outstanding, in dollars Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value Exercisable, in dollars Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Aggregate Intrinsic Value Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value. Options vested or expected to vest, in dollars Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value Subsequent Events [Abstract] Subsequent Event [Table] Subsequent Event [Table] Business Acquisition [Axis] Business Acquisition [Axis] Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Sualab Co., Ltd. Sualab Co., Ltd. [Member] Sualab Co., Ltd. [Member] Subsequent Event Type [Axis] Subsequent Event Type [Axis] Subsequent Event Type [Domain] Subsequent Event Type [Domain] Subsequent Event Subsequent Event [Member] Subsequent Event [Line Items] Subsequent Event [Line Items] Consideration transferred Business Combination, Consideration Transferred Cash payments Payments to Acquire Businesses, Gross Deferred payments Payments to Acquire Businesses, Deferred Payments to Acquire Businesses, Deferred Dividends (in dollars per share) Dividends Dividends payable, date payable Dividends Payable, Date to be Paid Dividends payable, date of record Dividends Payable, Date of Record Statement of Comprehensive Income [Abstract] Tax effect on cash flow hedges Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Tax Tax effect of unrealized gain (loss) on available-for-sale investments Other Comprehensive Income (Loss), Securities, Available-for-Sale, Unrealized Holding Gain (Loss) Arising During Period, Tax Tax effect of foreign currency translation adjustment Other Comprehensive Income (Loss), Foreign Currency Translation Gain (Loss) Arising During Period, Tax Goodwill and Intangible Assets Disclosure [Abstract] Schedule of Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Schedule of Intangible Assets, Future Amortization Expense Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Earnings Per Share [Abstract] Calculation of Weighted-Average Shares Schedule of Weighted Average Number of Shares [Table Text Block] Cash and Cash Equivalents [Abstract] Schedule of Available-for-sale Securities [Table] Schedule of Available-for-sale Securities [Table] Financial Instrument [Axis] Financial Instrument [Axis] Financial Instruments [Domain] Financial Instruments [Domain] Treasury Bills US Treasury Securities [Member] Corporate Bonds Corporate Bond Securities [Member] Asset-Backed Securities Asset-backed Securities [Member] Sovereign Debt [Member] Sovereign Debt [Member] Sovereign Bonds Sovereign Debt Securities [Member] Agency Bonds Agency Bonds [Member] Agency bond. Municipal Bonds Municipal Bonds [Member] Debt Securities, Available-for-sale [Line Items] Debt Securities, Available-for-sale [Line Items] Cash Cash Money market instruments Money Market Funds, at Carrying Value Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Current investments Debt Securities, Available-for-sale, Current Long-term investments Debt Securities, Available-for-sale, Noncurrent Non-current investments Long-term Investments Total Cash Cash Equivalents Short Term And Long Term Investments Cash, cash equivalents, short term and long term investments. Organization, Consolidation and Presentation of Financial Statements [Abstract] New Pronouncements New Accounting Pronouncements and Changes in Accounting Principles [Text Block] Statement of Financial Position [Abstract] ASSETS Assets [Abstract] Current assets: Assets, Current [Abstract] Cash and cash equivalents Accounts receivable, less reserves of $1,874 and $1,646 in 2019 and 2018, respectively Accounts Receivable, Net, Current Unbilled revenue Unbilled Receivables, Current Inventories Inventory, Net Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Total current assets Assets, Current Property, plant, and equipment, net Property, Plant and Equipment, Net Operating Lease, Right-of-Use Asset Operating Lease, Right-of-Use Asset Goodwill Goodwill Intangible assets, net Finite-Lived Intangible Assets, Net Deferred income taxes Deferred Tax Assets, Net of Valuation Allowance, Noncurrent Other assets Other Assets, Noncurrent Total assets Assets LIABILITIES AND SHAREHOLDERS’ EQUITY Liabilities and Equity [Abstract] Current liabilities: Liabilities, Current [Abstract] Accounts payable Accounts Payable, Current Accrued expenses Accrued Liabilities, Current Accrued income taxes Accrued Income Taxes, Current Deferred revenue and customer deposits Deferred Revenue and Credits, Current Operating Lease, Liability, Current Operating Lease, Liability, Current Total current liabilities Liabilities, Current Operating Lease, Liability, Noncurrent Operating Lease, Liability, Noncurrent Deferred income taxes Deferred Income Tax Liabilities, Net Reserve for income taxes Liability for Uncertainty in Income Taxes, Noncurrent Non-current accrued income taxes Accrued Income Taxes Other liabilities Other Liabilities, Noncurrent Total liabilities Liabilities Preferred Stock, Value, Outstanding Preferred Stock, Value, Outstanding Shareholders’ equity: Stockholders' Equity Attributable to Parent [Abstract] Common stock, $.002 par value – Authorized: 300,000 shares in 2019 and 2018, respectively, issued and outstanding: 170,897 and 170,820 shares in 2019 and 2018, respectively Common Stock, Value, Outstanding Additional paid-in capital Additional Paid in Capital, Common Stock Retained earnings Retained Earnings (Accumulated Deficit) Accumulated other comprehensive loss, net of tax Accumulated Other Comprehensive Income (Loss), Net of Tax Total shareholders’ equity Stockholders' Equity Attributable to Parent Total liabilities and shareholders' equity Liabilities and Equity Components of Cash, Cash Equivalents, and Investments Components Of Cash Cash Equivalents And Investments [Table Text Block] Components of cash cash equivalents and investments. Summary of Available-for-Sale Investments Schedule of Available-for-sale Securities Reconciliation [Table Text Block] Gross Unrealized Losses and Fair Values for Available-for-Sale Investments Schedule of Unrealized Loss on Investments [Table Text Block] Effective Maturity Dates of Available-for-Sale Investments Investments Classified by Contractual Maturity Date [Table Text Block] Statement of Stockholders' Equity [Abstract] Income Tax Disclosure [Abstract] Income tax expense at U.S. federal statutory corporate tax rate Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent State income taxes, net of federal benefit Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent Foreign tax rate differential Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent Tax credit Effective Income Tax Rate Reconciliation, Tax Credit, Percent Discrete tax benefit related to Tax Act 2017 Effective Income Tax Rate Reconciliation, Tax Act 2017 Effective Income Tax Rate Reconciliation, Tax Act 2017 Discrete tax benefit related to stock options Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Percent Other discrete tax events Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent Other Effective Income Tax Rate Reconciliation, Other Adjustments, Percent Income tax expense Effective Income Tax Rate Reconciliation, Percent Fair Value Disclosures [Abstract] Assets and Liabilities Measured at Fair Value on a Recurring Basis Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block] Leases [Abstract] Lessor, Operating Lease, Payments to be Received, Maturity [Table Text Block] Lessor, Operating Lease, Payments to be Received, Maturity [Table Text Block] Lessee, Operating Lease, Liability, Maturity Lessee, Operating Lease, Liability, Maturity [Table Text Block] Revenue from Contract with Customer [Abstract] Movement in Deferred Revenue [Roll Forward] Movement in Deferred Revenue [Roll Forward] Balance as of December 31, 2018 Deferred Revenue Increases to deferred revenue and customer deposits Deferred Revenue, Additions Recognition of revenue Deferred Revenue, Revenue Recognized Foreign exchange rate changes Deferred Revenue, Foreign Currency Exchange Adjustment Deferred Revenue, Foreign Currency Exchange Adjustment Balance as of September 29, 2019 Cover page. Document Type Document Type Document Quarterly Report Document Quarterly Report Document Period End Date Document Period End Date Document Transition Report Document Transition Report Entity File Number Entity File Number Entity Registrant Name Entity Registrant Name Entity Central Index Key Entity Central Index Key Current Fiscal Year End Date Current Fiscal Year End Date Document Fiscal Year Focus Document Fiscal Year Focus Document Fiscal Period Focus Document Fiscal Period Focus Amendment Flag Amendment Flag Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Entity Tax Identification Number Entity Tax Identification Number Entity Address, Address Line One Entity Address, Address Line One Entity Address, City or Town Entity Address, City or Town Entity Address, State or Province Entity Address, State or Province Entity Address, Postal Zip Code Entity Address, Postal Zip Code City Area Code City Area Code Local Phone Number Local Phone Number Entity Current Reporting Status Entity Current Reporting Status Entity Interactive Data Current Entity Interactive Data Current Entity Filer Category Entity Filer Category Entity Small Business Entity Small Business Entity Emerging Growth Company Entity Emerging Growth Company Entity Shell Company Entity Shell Company Title of 12(b) Security Title of 12(b) Security Trading Symbol Trading Symbol Security Exchange Name Security Exchange Name Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Fair Value Measurements Fair Value Disclosures [Text Block] Fair value, less than 12 months Available-for-sale Securities, Continuous Unrealized Loss Position, Less than Twelve Months, Fair Value Unrealized losses, less than 12 months Available-for-sale Securities, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss Fair value, 12 months or greater Available-for-sale Securities, Continuous Unrealized Loss Position, Twelve Months or Longer, Fair Value Unrealized losses, 12 months or greater Available-for-sale Securities, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss Total fair value Available-for-sale Securities, Continuous Unrealized Loss Position, Fair Value Total unrealized losses Debt Securities, Available-for-sale, Accumulated Gross Unrealized Loss, before Tax Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table] Cost of Revenue Cost of Goods, Total [Member] Selling, General, and Administrative Selling General And Administrative [Member] Selling, general, and administrative. Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items] Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] Stock-based compensation expense Allocated Share-based Compensation Expense Outstanding Forward Contracts Table Outstanding Forward Contracts [Table Text Block] Outstanding forward contracts table. Schedule of Derivative Instruments in Statement of Financial Position, Fair Value Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block] Offsetting Assets Offsetting Assets [Table Text Block] Derivative Instruments, Gain (Loss) Derivative Instruments, Gain (Loss) [Table Text Block] Basic weighted-average common shares outstanding Weighted Average Number of Shares Outstanding, Basic Effect of dilutive equity awards Weighted Average Number Diluted Shares Outstanding Adjustment Weighted-average common and common-equivalent shares outstanding Weighted Average Number of Shares Outstanding, Diluted Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Distribution networks Distribution Rights [Member] Completed technologies Developed Technology Rights [Member] Customer relationships Customer Contracts And Relationships [Member] Customer Contracts And Relationships [Member] Non-compete agreements Other Intangible Assets [Member] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Gross Carrying Value Finite-Lived Intangible Assets, Gross Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization Net Carrying Value Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract] Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract] Remainder of fiscal 2019 Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year 2019 Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months 2020 Finite-Lived Intangible Assets, Amortization Expense, Year Two 2021 Finite-Lived Intangible Assets, Amortization Expense, Year Three 2022 Finite-Lived Intangible Assets, Amortization Expense, Year Four 2023 Finite-Lived Intangible Assets, Amortization Expense, Year Five Thereafter Finite-Lived Intangible Assets, Amortization Expense, after Year Five Operating Lease, Liability Operating Lease, Liability Operating lease, right-of-use asset Operating lease, liability, current Operating lease, liability, noncurrent Operating lease, cost Operating Lease, Cost Operating lease, payments Operating Lease, Payments Lease, cost Lease, Cost Operating Lease, Weighted Average Discount Rate, Percent Operating Lease, Weighted Average Discount Rate, Percent Operating Lease, Weighted Average Remaining Lease Term Operating Lease, Weighted Average Remaining Lease Term Operating Lease, Lease Income Operating Lease, Lease Income Subsequent Events Subsequent Events [Text Block] Inventory Disclosure [Abstract] Schedule of Inventories Schedule of Inventory, Current [Table Text Block] Fair Value Measurements, Recurring and Nonrecurring [Table] Fair Value Measurements, Recurring and Nonrecurring [Table] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Quoted Prices in Active Markets for Identical Assets (Level 1) Fair Value, Inputs, Level 1 [Member] Significant Other Observable Inputs (Level 2) Fair Value, Inputs, Level 2 [Member] Fair Value, Inputs, Level 3 Fair Value, Inputs, Level 3 [Member] Measurement Frequency [Axis] Measurement Frequency [Axis] Fair Value, Measurement Frequency [Domain] Fair Value, Measurement Frequency [Domain] Fair Value, Measurements, Recurring Fair Value, Measurements, Recurring [Member] 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] Assets: Assets, Fair Value Disclosure [Abstract] Financial assets at fair value Debt Securities, Available-for-sale Economic hedge forward contracts Foreign Currency Contract, Asset, Fair Value Disclosure Liabilities: Liabilities, Fair Value Disclosure [Abstract] Economic hedge forward contracts Foreign Currency Contracts, Liability, Fair Value Disclosure Contingent consideration liabilities Business Combination, Contingent Consideration, Liability Stock options to purchase anti-dilutive common stock Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Geographical [Axis] Geographical [Axis] Geographical [Domain] Geographical [Domain] Americas Americas [Member] Europe Europe [Member] Greater China CHINA Other Asia Asia, Excluding China [Member] Asia, Excluding China [Member] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Revenue Revenue from Contract with Customer, Excluding Assessed Tax Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Range [Axis] Range [Axis] Range [Domain] Range [Domain] Minimum Minimum [Member] Maximum Maximum [Member] Award Type [Axis] Award Type [Axis] Equity Award [Domain] Equity Award [Domain] Employee Stock Option Employee Stock Option [Member] Plan Name [Axis] Plan Name [Axis] Plan Name [Domain] Plan Name [Domain] General Stock Option Plan General Stock Option Plan [Member] General stock option plan. Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Granted (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period Granted (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Shares available for grant under stock option plans Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant Vesting period for stock option plans Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period Expiration period from grant day Expiration Period Of Stock Option Plan Expiration period of stock option plan. Groups within the employee population Number Of Groups Within Employee Population Number of groups within employee population. Estimated annual forfeiture rate for unvested options for senior management Estimated Forfeiture Rate For Unvested Options For Senior Management Estimated forfeiture rate for unvested options for senior management. Estimated annual forfeiture rate for unvested options for all other employees Estimated Forfeiture Rate For Unvested Options For All Non Senior Management Estimated forfeiture rate for unvested options for all non-senior management. Increase (decrease) to compensation expense Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates Increase (decrease) in compensation expense due to revised estimated forfeiture rates. Weighted-average grant-date fair values, in dollars per share Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Total intrinsic value Shares Based Compensation Arrangement By Shares Based Payment Award Options Exercisable Intrinsic Value Shares based compensation arrangement by shares based payment award options exercisable intrinsic value. Total fair values of stock options vest Share Based Compensation Arrangement By Share Based Payment Award Options Vested Fair Value Share based compensation arrangement by share based payment award options vested fair value. Unrecognized compensation expense Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized Weighted average period to be recognized Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition Tax benefit from compensation expense Employee Service Share-based Compensation, Tax Benefit from Compensation Expense Recognized period costs capitalized Employee Service Share Based Compensation Recognized Period Costs Capitalized Amount Employee service share based compensation recognized period costs capitalized amount. Costs to fulfill contract Capitalized Contract Cost, Gross Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table] GVi GVi Ventures, Inc. [Member] GVi Ventures, Inc. [Member] Chiaro Technologies LLC [Member] Chiaro Technologies LLC [Member] Chiaro Technologies LLC [Member] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items] Beginning balance Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value Liabilities, Fair Value Adjustment Liabilities, Fair Value Adjustment Payment of contingent consideration Payment of contingent consideration Payment of contingent consideration from a business combination Ending balance Statement [Table] Statement [Table] Equity Components [Axis] Equity Components [Axis] Equity Component [Domain] Equity Component [Domain] Common Stock Common Stock [Member] Additional Paid-in Capital Additional Paid-in Capital [Member] Retained Earnings Retained Earnings [Member] Accumulated Other Comprehensive Loss AOCI Attributable to Parent [Member] Statement [Line Items] Statement [Line Items] Increase (Decrease) in Stockholders' Equity Increase (Decrease) in Stockholders' Equity [Roll Forward] Beginning Balance (in shares) Common Stock, Shares, Issued Beginning Balance Issuance of common stock under stock plans (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period Issuance of common stock under stock plans Stock Issued During Period, Value, Stock Options Exercised Repurchase of common stock (in shares) Stock Repurchased During Period, Shares Repurchase of common stock Stock Repurchased During Period, Value Stock-based compensation expense Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition Payment of dividends Dividends, Cash Adjustment as a result of the adoption of ASU 2016-06 Income Taxes - Intra-Entity Transfers Other than Inventory Cumulative Effect of New Accounting Principle in Period of Adoption Net income Net Income (Loss) Attributable to Parent Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82) Other Comprehensive Income (Loss), Securities, Available-for-Sale, Unrealized Holding Gain (Loss) Arising During Period, after Tax Reclassification of net realized (gain) loss on the sale of available-for-sale investments Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax Foreign currency translation adjustment Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Ending Balance (in shares) Ending Balance Product Warranties Disclosures [Abstract] Warranty Obligations Product Warranty Disclosure [Text Block] 1 year or less Debt Securities, Available-for-sale, Maturity, Allocated and Single Maturity Date, within One Year, Fair Value 1-2 years Available For Sale Securities Debt Maturities After One Year Before Two Years Fair Value This item represents the fair value of debt securities which are expected to mature within one year of the balance sheet date and which are categorized neither as held-to-maturity nor trading securities. 2-3 years Available For Sale Securities Debt Maturities After Two Years Before Three Years Fair Value Available-for-sale securities, debt maturities after second year but before third year, fair value. 3-4 years Available For Sale Securities Debt Maturities After Three Years Before Four Years Fair Value Available-for-sale securities, debt maturities after third year but before fourth year, fair value. 4-5 years Available For Sale Securities Debt Maturities After Four Years Before Five Years Fair Value Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value. Fair value Reserves for accounts receivable Allowance for Doubtful Accounts Receivable, Current Common stock, par value Common Stock, Par or Stated Value Per Share Common stock, shares authorized Common Stock, Shares Authorized Common stock, shares issued Derivative Instruments and Hedging Activities Disclosures [Table] Derivative Instruments and Hedging Activities Disclosures [Table] Derivative Instruments and Hedging Activities Disclosures [Line Items] Derivative Instruments and Hedging Activities Disclosures [Line Items] Remaining maturity of foreign currency derivatives (up to) Maximum Remaining Maturity of Foreign Currency Derivatives Investment Type [Axis] Investment Type [Axis] Investments [Domain] Investments [Domain] Short-Term Investments Short-term Investments [Member] Long-Term Investments Long Term Investments [Member] Long-term investments. Amortized cost Debt Securities, Available-for-sale, Amortized Cost Gross unrealized gains Debt Securities, Available-for-sale, Accumulated Gross Unrealized Gain, before Tax Gross unrealized losses Fair value Available-for-sale Securities Stock-Based Compensation Expense Compensation Related Costs, General [Text Block] Revenue Recognition Revenue from Contract with Customer [Text Block] Income Statement [Abstract] Cost of revenue Cost of Goods and Services Sold Gross margin Gross Profit Research, development, and engineering expenses Research and Development Expense Selling, general, and administrative expenses Selling, General and Administrative Expense Operating income Operating Income (Loss) Foreign currency gain (loss) Foreign Currency Transaction Gain (Loss), before Tax Investment income Investment Income, Nonoperating Other income (expense) Other Nonoperating Income (Expense) Income before income tax expense Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest Income tax expense Income Tax Expense (Benefit) Net Income Net income per weighted-average common and common-equivalent share: Earnings Per Share, Diluted [Abstract] Basic (usd per share) Income (Loss) from Continuing Operations, Per Diluted Share Diluted (usd per share) Earnings Per Share, Diluted Weighted-average common and common-equivalent shares outstanding: Weighted Average Number of Shares Outstanding, Diluted [Abstract] Basic (shares) Diluted (shares) Cash dividends per common share (usd per share) Common Stock, Dividends, Per Share, Cash Paid Intangible Assets Intangible Assets Disclosure [Text Block] Other comprehensive income (loss), net of tax: Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract] Cash flow hedges: Cash flows hedges [Abstract] Cash flows hedges [Abstract] Available-for-sale investments: Other Comprehensive Income (Loss), Net of Tax [Abstract] Net unrealized gain (loss), net of tax of ($5) and $24 in the three-month periods and net of tax of $502 and ($82) in the nine-month periods, respectively Reclassification of net realized (gain) loss into current operations Net change related to available-for-sale investments Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax, Portion Attributable to Parent Foreign currency translation adjustments: Currency translation adjustments [Abstract] Currency translation adjustments [Abstract] Foreign currency translation adjustments Other comprehensive income (loss), net of tax Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Total comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Taxes Income Tax Disclosure [Text Block] Statement of Cash Flows [Abstract] Cash flows from operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] 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] Stock-based compensation expense Stock or Unit Option Plan Expense Depreciation of property, plant, and equipment Depreciation Amortization of intangible assets Amortization of Intangible Assets Amortization of discounts or premiums on investments Accretion (Amortization) of Discounts and Premiums, Investments Realized (gain) loss on sale of investments Gain (Loss) on Sale of Investments Revaluation of contingent consideration Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability Change in deferred income taxes Increase (Decrease) in Deferred Income Taxes Accounts receivable Increase (Decrease) in Accounts Receivable Unbilled revenue Increase (Decrease) in Unbilled Receivables Inventories Increase (Decrease) in Inventories Prepaid expenses and other current assets Increase (Decrease) in Prepaid Expense and Other Assets Accounts payable Increase (Decrease) in Accounts Payable Accrued expenses Increase (Decrease) in Accrued Liabilities Accrued income taxes Increase (Decrease) in Accrued Taxes Payable Deferred revenue and customer deposits Increase (Decrease) in Deferred Revenue Other Increase (Decrease) in Other Operating Assets and Liabilities, Net Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Cash flows from investing activities: Net Cash Provided by (Used in) Investing Activities [Abstract] Purchases of investments Payments to Acquire Investments Maturities and sales of investments Proceeds from Sale, Maturity and Collection of Investments Purchases of property, plant, and equipment Payments to Acquire Property, Plant, and Equipment Net cash provided by (used in) investing activities Net Cash Provided by (Used in) Investing Activities Cash flows from financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Issuance of common stock under stock plans Proceeds from Issuance of Shares under Incentive and Share-based Compensation Plans, Including Stock Options Repurchase of common stock Payments for Repurchase of Common Stock Payment of dividends Payments of Ordinary Dividends, Common Stock Net cash provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Effect of foreign exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash and Cash Equivalents Net change in cash and cash equivalents Cash and Cash Equivalents, Period Increase (Decrease) Cash and cash equivalents at beginning of period Cash and cash equivalents at end of period Equity [Abstract] Stock Repurchase Program Stockholders' Equity Note Disclosure [Text Block] Weighted-Average Shares Earnings Per Share [Text Block] Changes in Warranty Obligations Schedule of Product Warranty Liability [Table Text Block] Summary of Stock Option Activity Share-based Compensation, Stock Options, Activity [Table Text Block] Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block] Schedule of Nonvested Restricted Stock Units Activity Schedule of Nonvested Restricted Stock Units Activity [Table Text Block] Leases Lessee, Operating Leases [Text Block] Risk-free rate Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate Expected dividend yield Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate Expected volatility Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate Expected term (in years) Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term Movement in Standard Product Warranty Accrual [Roll Forward] Movement in Standard Product Warranty Accrual [Roll Forward] Beginning balance Standard and Extended Product Warranty Accrual Provisions for warranties issued during the period Standard and Extended Product Warranty Accrual, Increase for Warranties Issued Fulfillment of warranty obligations Standard and Extended Product Warranty Accrual, Decrease for Payments Ending balance Derivative Instruments Derivative Instruments and Hedging Activities Disclosure [Text Block] Gross amounts of recognized assets Derivative Asset, Fair Value, Gross Asset Gross amounts offset Derivative Asset, Collateral, Obligation to Return Cash, Offset Net amount of assets presented Derivative Asset Gross amounts of recognized liabilities Derivative Liability, Fair Value, Gross Liability Gross amounts offset Derivative Liability, Collateral, Right to Reclaim Cash, Offset Net amount of liabilities presented Derivative Liability Revenue from External Customers by Products and Services [Table] Revenue from External Customers by Products and Services [Table] Product and Service [Axis] Product and Service [Axis] Product and Service [Domain] Product and Service [Domain] Standard Products and Services Standard Products and Services [Member] Standard Products and Services [Member] Application-Specific Customer Solutions Application-Specific Customer Solutions [Member] Application-Specific Customer Solutions [Member] Revenue from External Customer [Line Items] Revenue from External Customer [Line Items] Derivative [Table] Derivative [Table] Currency [Axis] Currency [Axis] All Currencies [Domain] All Currencies [Domain] Euro Member Countries, Euro Euro Member Countries, Euro Japanese Yen Japan, Yen Mexico, Pesos Mexico, Pesos United Kingdom, Pounds United Kingdom, Pounds Hungary, Forint Hungary, Forint Korean Won Korea (South), Won Taiwanese Dollar Taiwan, New Dollars Canada, Dollars Canada, Dollars Singapore, Dollars Singapore, Dollars Derivative [Line Items] Derivative [Line Items] Outstanding forward contracts Derivative Asset, Notional Amount Raw materials Inventory, Raw Materials, Net of Reserves Work-in-process Inventory, Work in Process, Net of Reserves Finished goods Inventory, Finished Goods, Net of Reserves Inventories Leases Lessee, Leases [Policy Text Block] New Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Remainder of fiscal 2019 Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year 2020 Lessee, Operating Lease, Liability, Payments, Due Year Two 2021 Lessee, Operating Lease, Liability, Payments, Due Year Three 2022 Lessee, Operating Lease, Liability, Payments, Due Year Four 2023 Lessee, Operating Lease, Liability, Payments, Due Year Five 2024 Lessee, Operating Lease, Liability, Payments, Due Year Six Lessee, Operating Lease, Liability, Payments, Due Year Six Thereafter Lessee, Operating Lease, Liability, Payments, Due after Year Six Lessee, Operating Lease, Liability, Payments, Due after Year Six Total Lessee, Operating Lease, Liability, Payments, Due Income Tax Contingency [Table] Income Tax Contingency [Table] Adjustments for New Accounting Pronouncements [Axis] Adjustments for New Accounting Pronouncements [Axis] Type of Adoption [Domain] Type of Adoption [Domain] Income Tax Authority [Axis] Income Tax Authority [Axis] Income Tax Authority [Domain] Income Tax Authority [Domain] Foreign Tax Authority Foreign Tax Authority [Member] Domestic Tax Authority Domestic Tax Authority [Member] Income Tax Authority, Name [Axis] Income Tax Authority, Name [Axis] Income Tax Authority, Name [Domain] Income Tax Authority, Name [Domain] Revenue Commissioners, Ireland Revenue Commissioners, Ireland [Member] State Administration of Taxation, China State Administration of Taxation, China [Member] Income Tax Contingency [Line Items] Income Tax Contingency [Line Items] Decrease in effective tax rate Decrease in effective tax rate for difference between deduction for tax purposes and compensation cost recognized from stock option exercises Increase in reserves for income taxes, net of deferred tax benefit Income Tax Examination, Increase (Decrease) in Liability from Prior Year Interest and penalties included in reserve Increase Decrease Interest And Penalties Increase decrease interest and penalties. Liability for uncertain tax positions Liability For Uncertain Tax Positions Liability for uncertain tax positions, total. Reserve for income taxes classified as a noncurrent iability Reserve for income taxes classified an noncurrent deferred tax assets Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets as a result of net operating loss carryforward, a similar tax loss, or a tax credit carryforward. Interest and penalties, gross Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued Minimum decrease in income tax expense due to release in reserves Minimum Decrease In Income Tax Expense Due To Release In Reserves Minimum decrease in income tax expense due to release in reserves. Maximum decrease in income tax expense due to release in reserves Maximum Decrease In Income Tax Expense Due To Release In Reserves Maximum decrease in income tax expense due to release in reserves. Tax years open to examination by Internal Revenue Service Tax years open to examination by Internal Revenue Service Tax years open to examination by Internal Revenue Service Tax years open to examination by various taxing authorities for other entities Income Tax Examination Years Under Examination Other Entities The tax year(s) being audited in connection with the income tax examination for other entities. Revenue from External Customers by Geographic Areas Revenue from External Customers by Geographic Areas [Table Text Block] Revenue from External Customers by Products and Services Revenue from External Customers by Products and Services [Table Text Block] Deferred Revenue, by Arrangement, Disclosure Deferred Revenue, by Arrangement, Disclosure [Table Text Block] Class of Treasury Stock [Table] Class of Treasury Stock [Table] Share Repurchase Program [Axis] Share Repurchase Program [Axis] Share Repurchase Program [Domain] Share Repurchase Program [Domain] Repurchase Program October 2018 [Member] Repurchase Program October 2018 [Member] Repurchase Program October 2018 [Member] Equity, Class of Treasury Stock [Line Items] Equity, Class of Treasury Stock [Line Items] Authorized common stock to be repurchased Stock Repurchase Program, Authorized Amount Stock Repurchase Program, Aggregate Number of Shares Repurchased Stock Repurchase Program, Aggregate Number of Shares Repurchased Stock Repurchase Program, Aggregate Number of Shares Repurchased Shares repurchased, value Stock Repurchase Program, Value Stock Repurchase Program, Value Stock Repurchase Program, Remaining Authorized Repurchase Amount Stock Repurchase Program, Remaining Authorized Repurchase Amount Repurchase of common stock (in shares) Stock repurchased during period, value Gross realized gains on sale of investments Available-for-sale Securities, Gross Realized Gains Gross realized losses on sale of investments Available-for-sale Securities, Gross Realized Losses Cash, Cash Equivalents, and Investments Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block] Lessor, Operating Lease, Payments to be Received, Remainder of Fiscal Year Lessor, Operating Lease, Payments to be Received, Remainder of Fiscal Year Lessor, Operating Lease, Payments to be Received, Two Years Lessor, Operating Lease, Payments to be Received, Two Years Lessor, Operating Lease, Payments to be Received, Three Years Lessor, Operating Lease, Payments to be Received, Three Years Lessor, Operating Lease, Payments to be Received, Four Years Lessor, Operating Lease, Payments to be Received, Four Years Lessor, Operating Lease, Payments to be Received Lessor, Operating Lease, Payments to be Received Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table] Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table] Balance Sheet Location [Axis] Balance Sheet Location [Axis] Balance Sheet Location [Domain] Balance Sheet Location [Domain] Prepaid Expenses and Other Current Assets Prepaid Expenses and Other Current Assets [Member] Accrued Expenses Accrued Expenses [Member] Accrued expenses. Derivatives, Fair Value [Line Items] Derivatives, Fair Value [Line Items] Derivative asset Derivative liability Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] Inventories Inventory Disclosure [Text Block] EX-101.PRE 10 cgnx-20190929_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 11 R51.htm IDEA: XBRL DOCUMENT v3.19.3
Derivative Instruments - Outstanding Forward Contracts Table (Detail) - Not Designated as Hedging Instrument
€ in Thousands, ₩ in Thousands, ¥ in Thousands, $ in Thousands, $ in Thousands, $ in Thousands, $ in Thousands
Sep. 29, 2019
EUR (€)
Sep. 29, 2019
CAD ($)
Sep. 29, 2019
SGD ($)
Sep. 29, 2019
JPY (¥)
Sep. 29, 2019
KRW (₩)
Sep. 29, 2019
TWD ($)
Sep. 29, 2019
USD ($)
Dec. 31, 2018
EUR (€)
Dec. 31, 2018
CAD ($)
Dec. 31, 2018
SGD ($)
Dec. 31, 2018
JPY (¥)
Dec. 31, 2018
KRW (₩)
Dec. 31, 2018
TWD ($)
Dec. 31, 2018
USD ($)
Euro Member Countries, Euro                            
Derivative [Line Items]                            
Outstanding forward contracts € 18,000           $ 19,697 € 23,000           $ 26,330
Japanese Yen                            
Derivative [Line Items]                            
Outstanding forward contracts       ¥ 600,000     5,563       ¥ 380,000     3,459
Mexico, Pesos                            
Derivative [Line Items]                            
Outstanding forward contracts       90,000     4,560       0     0
United Kingdom, Pounds                            
Derivative [Line Items]                            
Outstanding forward contracts       2,550     3,149       2,500     3,204
Hungary, Forint                            
Derivative [Line Items]                            
Outstanding forward contracts       ¥ 840,000     2,739       ¥ 750,000     2,685
Korean Won                            
Derivative [Line Items]                            
Outstanding forward contracts         ₩ 3,660,000   3,053         ₩ 3,125,000   2,808
Taiwanese Dollar                            
Derivative [Line Items]                            
Outstanding forward contracts           $ 45,700 1,478           $ 55,000 1,807
Canada, Dollars                            
Derivative [Line Items]                            
Outstanding forward contracts   $ 1,100         830   $ 990         726
Singapore, Dollars                            
Derivative [Line Items]                            
Outstanding forward contracts     $ 0       $ 0     $ 700       $ 514
XML 12 R55.htm IDEA: XBRL DOCUMENT v3.19.3
Revenue Recognition - Revenue Disaggregated by Geography (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Disaggregation of Revenue [Line Items]        
Revenue $ 183,325 $ 232,221 $ 555,856 $ 613,052
Americas        
Disaggregation of Revenue [Line Items]        
Revenue 65,253 57,020 208,909 187,991
Europe        
Disaggregation of Revenue [Line Items]        
Revenue 64,209 118,810 182,747 245,437
Greater China        
Disaggregation of Revenue [Line Items]        
Revenue 27,854 31,068 86,446 99,402
Other Asia        
Disaggregation of Revenue [Line Items]        
Revenue $ 26,009 $ 25,323 $ 77,754 $ 80,222
XML 13 R59.htm IDEA: XBRL DOCUMENT v3.19.3
Stock-Based Compensation Expense (Detail)
3 Months Ended 9 Months Ended
Sep. 29, 2019
USD ($)
group
$ / shares
shares
Mar. 31, 2019
USD ($)
Sep. 30, 2018
USD ($)
$ / shares
Apr. 01, 2018
USD ($)
Sep. 29, 2019
USD ($)
group
$ / shares
shares
Sep. 30, 2018
USD ($)
$ / shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]            
Granted (in shares) | shares         75,000  
Granted (in dollars per share) | $ / shares         $ 45.20  
Groups within the employee population | group 2       2  
Estimated annual forfeiture rate for unvested options for senior management 9.00%       9.00%  
Estimated annual forfeiture rate for unvested options for all other employees 12.00%       12.00%  
Increase (decrease) to compensation expense   $ 499,000   $ 1,283,000    
Weighted-average grant-date fair values, in dollars per share | $ / shares $ 18.42   $ 22.52   $ 18.58 $ 21.70
Total intrinsic value $ 5,746,000   $ 17,985,000   $ 42,545,000 $ 50,975,000
Total fair values of stock options vest 1,213,000   997,000   32,072,000 27,557,000
Unrecognized compensation expense 59,708,000       $ 59,708,000  
Weighted average period to be recognized         1 year 7 months 6 days  
Stock-based compensation expense 10,194,000   9,143,000   $ 33,442,000 31,339,000
Tax benefit from compensation expense 1,804,000   $ 1,654,000   5,839,000 $ 5,608,000
Recognized period costs capitalized $ 0       $ 0  
Employee Stock Option            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]            
Shares available for grant under stock option plans | shares 17,350,152       17,350,152  
Expiration period from grant day         10 years  
Minimum | General Stock Option Plan            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]            
Vesting period for stock option plans         4 years  
Maximum | General Stock Option Plan            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]            
Vesting period for stock option plans         5 years  
XML 14 R38.htm IDEA: XBRL DOCUMENT v3.19.3
Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]    
Payment of contingent consideration $ 0 $ (1,000)
Fair Value, Inputs, Level 3 | Fair Value, Measurements, Recurring    
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]    
Beginning balance 2,554  
Ending balance 1,153  
GVi | Fair Value, Inputs, Level 3 | Fair Value, Measurements, Recurring    
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]    
Liabilities, Fair Value Adjustment (1,646)  
Chiaro Technologies LLC [Member] | Fair Value, Inputs, Level 3 | Fair Value, Measurements, Recurring    
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]    
Liabilities, Fair Value Adjustment $ 245  
JSON 15 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "cgnx-9292019x10q.htm": { "axisCustom": 0, "axisStandard": 20, "contextCount": 176, "dts": { "calculationLink": { "local": [ "cgnx-20190929_cal.xml" ] }, "definitionLink": { "local": [ "cgnx-20190929_def.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-eedm-def-2018-01-31.xml", "http://xbrl.fasb.org/srt/2018/elts/srt-eedm1-def-2018-01-31.xml" ] }, "inline": { "local": [ "cgnx-9292019x10q.htm" ] }, "labelLink": { "local": [ "cgnx-20190929_lab.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-doc-2018-01-31.xml", "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml" ] }, "presentationLink": { "local": [ "cgnx-20190929_pre.xml" ] }, "referenceLink": { "remote": [ "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-ref-2018-01-31.xml", "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml" ] }, "schema": { "local": [ "cgnx-20190929.xsd" ], "remote": [ "http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd", "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/dtr/type/numeric-2009-12-16.xsd", "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://xbrl.fasb.org/srt/2018/elts/srt-types-2018-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2018/elts/us-roles-2018-01-31.xsd", "http://xbrl.fasb.org/srt/2018/elts/srt-roles-2018-01-31.xsd", "http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2018/elts/us-types-2018-01-31.xsd", "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd", "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd", "https://xbrl.sec.gov/exch/2018/exch-2018-01-31.xsd", "http://xbrl.sec.gov/invest/2013/invest-2013-01-31.xsd", "http://xbrl.sec.gov/naics/2017/naics-2017-01-31.xsd", "http://xbrl.sec.gov/sic/2011/sic-2011-01-31.xsd", "https://xbrl.sec.gov/stpr/2018/stpr-2018-01-31.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2018/elts/us-parts-codification-2018-01-31.xsd", "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd" ] } }, "elementCount": 490, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2018-01-31": 21, "http://xbrl.sec.gov/dei/2019-01-31": 5, "total": 26 }, "keyCustom": 32, "keyStandard": 350, "memberCustom": 13, "memberStandard": 43, "nsprefix": "cgnx", "nsuri": "http://www.cognex.com/20190929", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0001000 - Document - Cover Page", "role": "http://www.cognex.com/role/CoverPage", "shortName": "Cover Page", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "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": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2101100 - Disclosure - Summary of Significant Accounting Policies", "role": "http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2103100 - Disclosure - New Pronouncements", "role": "http://www.cognex.com/role/NewPronouncements", "shortName": "New Pronouncements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2104100 - Disclosure - Fair Value Measurements", "role": "http://www.cognex.com/role/FairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2105100 - Disclosure - Cash, Cash Equivalents, and Investments", "role": "http://www.cognex.com/role/CashCashEquivalentsAndInvestments", "shortName": "Cash, Cash Equivalents, and Investments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2106100 - Disclosure - Inventories", "role": "http://www.cognex.com/role/Inventories", "shortName": "Inventories", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2109100 - Disclosure - Leases", "role": "http://www.cognex.com/role/Leases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2110100 - Disclosure - Intangible Assets", "role": "http://www.cognex.com/role/IntangibleAssets", "shortName": "Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2111100 - Disclosure - Warranty Obligations", "role": "http://www.cognex.com/role/WarrantyObligations", "shortName": "Warranty Obligations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2112100 - Disclosure - Derivative Instruments", "role": "http://www.cognex.com/role/DerivativeInstruments", "shortName": "Derivative Instruments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2113100 - Disclosure - Revenue Recognition", "role": "http://www.cognex.com/role/RevenueRecognition", "shortName": "Revenue Recognition", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1001000 - Statement - Consolidated Statements of Operations", "role": "http://www.cognex.com/role/ConsolidatedStatementsOfOperations", "shortName": "Consolidated Statements of Operations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2115100 - Disclosure - Stock-Based Compensation Expense", "role": "http://www.cognex.com/role/StockBasedCompensationExpense", "shortName": "Stock-Based Compensation Expense", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2116100 - Disclosure - Stock Repurchase Program", "role": "http://www.cognex.com/role/StockRepurchaseProgram", "shortName": "Stock Repurchase Program", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2119100 - Disclosure - Taxes", "role": "http://www.cognex.com/role/Taxes", "shortName": "Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2120100 - Disclosure - Weighted-Average Shares", "role": "http://www.cognex.com/role/WeightedAverageShares", "shortName": "Weighted-Average Shares", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2121100 - Disclosure - Subsequent Events", "role": "http://www.cognex.com/role/SubsequentEvents", "shortName": "Subsequent Events", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeLeasesPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2201201 - Disclosure - Summary of Significant Accounting Policies (Policies)", "role": "http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeLeasesPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2304301 - Disclosure - Fair Value Measurements (Tables)", "role": "http://www.cognex.com/role/FairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2305301 - Disclosure - Cash, Cash Equivalents, and Investments (Tables)", "role": "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables", "shortName": "Cash, Cash Equivalents, and Investments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2306301 - Disclosure - Inventories (Tables)", "role": "http://www.cognex.com/role/InventoriesTables", "shortName": "Inventories (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2309301 - Disclosure - Leases (Tables)", "role": "http://www.cognex.com/role/LeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1002000 - Statement - Consolidated Statements of Comprehensive Income", "role": "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome", "shortName": "Consolidated Statements of Comprehensive Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2310301 - Disclosure - Intangible Assets (Tables)", "role": "http://www.cognex.com/role/IntangibleAssetsTables", "shortName": "Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2311301 - Disclosure - Warranty Obligations (Tables)", "role": "http://www.cognex.com/role/WarrantyObligationsTables", "shortName": "Warranty Obligations (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:OutstandingForwardContractsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2312301 - Disclosure - Derivative Instruments (Tables)", "role": "http://www.cognex.com/role/DerivativeInstrumentsTables", "shortName": "Derivative Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "cgnx:OutstandingForwardContractsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2313301 - Disclosure - Revenue Recognition (Tables)", "role": "http://www.cognex.com/role/RevenueRecognitionTables", "shortName": "Revenue Recognition (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2315301 - Disclosure - Stock-Based Compensation Expense (Tables)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseTables", "shortName": "Stock-Based Compensation Expense (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2319301 - Disclosure - Taxes (Tables)", "role": "http://www.cognex.com/role/TaxesTables", "shortName": "Taxes (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2320301 - Disclosure - Weighted-Average Shares (Tables)", "role": "http://www.cognex.com/role/WeightedAverageSharesTables", "shortName": "Weighted-Average Shares (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:MoneyMarketFundsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2404402 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail)", "role": "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail", "shortName": "Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember", "decimals": "-3", "lang": null, "name": "us-gaap:MoneyMarketFundsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": "-3", "first": true, "lang": null, "name": "cgnx:Paymentofcontingentconsideration", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2404403 - Disclosure - Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details)", "role": "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails", "shortName": "Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2018Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember", "decimals": "-3", "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesGrossRealizedGains", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2405402 - Disclosure - Cash, Cash Equivalents, and Investments (Detail)", "role": "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail", "shortName": "Cash, Cash Equivalents, and Investments (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesGrossRealizedGains", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R4": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "1002501 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical)", "role": "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical", "shortName": "Consolidated Statements of Comprehensive Income (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R40": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Cash", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2405403 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Detail)", "role": "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "shortName": "Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Cash", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2405404 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail)", "role": "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail", "shortName": "Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2405405 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Detail)", "role": "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail", "shortName": "Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2405406 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)", "role": "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail", "shortName": "Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2406402 - Disclosure - Inventories - Schedule of Inventories (Detail)", "role": "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail", "shortName": "Inventories - Schedule of Inventories (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseLiability", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409402 - Disclosure - Leases - Narrative (Details)", "role": "http://www.cognex.com/role/LeasesNarrativeDetails", "shortName": "Leases - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "I2019Q1Jan01", "decimals": "-3", "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409403 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)", "role": "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails", "shortName": "Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409404 - Disclosure - Leases - Future Minimum Rental Receipts Under Non-cancelable Lease Agreements (Details)", "role": "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails", "shortName": "Leases - Future Minimum Rental Receipts Under Non-cancelable Lease Agreements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2410402 - Disclosure - Intangible Assets (Details)", "role": "http://www.cognex.com/role/IntangibleAssetsDetails", "shortName": "Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2018Q4", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2411402 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail)", "role": "http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail", "shortName": "Warranty Obligations - Changes in Warranty Obligations (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2018Q4", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1003000 - Statement - Consolidated Balance Sheets", "role": "http://www.cognex.com/role/ConsolidatedBalanceSheets", "shortName": "Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "lang": null, "name": "us-gaap:AccountsReceivableNetCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2412402 - Disclosure - Derivative Instruments (Detail)", "role": "http://www.cognex.com/role/DerivativeInstrumentsDetail", "shortName": "Derivative Instruments (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "cgnx:OutstandingForwardContractsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DerivativeAssetNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "eur", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2412403 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Detail)", "role": "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail", "shortName": "Derivative Instruments - Outstanding Forward Contracts Table (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "cgnx:OutstandingForwardContractsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DerivativeAssetNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "eur", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:OffsettingAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DerivativeAssets", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2412404 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Detail)", "role": "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail", "shortName": "Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember", "decimals": "-3", "lang": null, "name": "us-gaap:DerivativeAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:OffsettingAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DerivativeFairValueOfDerivativeAsset", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2412405 - Disclosure - Derivative Instruments - Offsetting Assets (Detail)", "role": "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail", "shortName": "Derivative Instruments - Offsetting Assets (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:OffsettingAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DerivativeFairValueOfDerivativeAsset", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DerivativeGainLossOnDerivativeNet", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2412406 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail)", "role": "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail", "shortName": "Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DerivativeGainLossOnDerivativeNet", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2413402 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details)", "role": "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails", "shortName": "Revenue Recognition - Revenue Disaggregated by Geography (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD_srt_StatementGeographicalAxis_srt_AmericasMember", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2413403 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details)", "role": "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails", "shortName": "Revenue Recognition - Revenue Disaggregated by Products and Services (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CapitalizedContractCostGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2413404 - Disclosure - Revenue Recognition - Additional Information (Details)", "role": "http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails", "shortName": "Revenue Recognition - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CapitalizedContractCostGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2018Q4", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredRevenue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2413405 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details)", "role": "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails", "shortName": "Revenue Recognition - Deferred Revenue Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2018Q4", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredRevenue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2415402 - Disclosure - Stock-Based Compensation Expense (Detail)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseDetail", "shortName": "Stock-Based Compensation Expense (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R6": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "1003501 - Statement - Consolidated Balance Sheets (Parenthetical)", "role": "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical", "shortName": "Consolidated Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R60": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2018Q4", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2415403 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail", "shortName": "Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2018Q4", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2415404 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail", "shortName": "Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2415405 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Detail)", "role": "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail", "shortName": "Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember", "decimals": "-3", "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2416401 - Disclosure - Stock Repurchase Program (Detail)", "role": "http://www.cognex.com/role/StockRepurchaseProgramDetail", "shortName": "Stock Repurchase Program (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2019Q3", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2419402 - Disclosure - Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail)", "role": "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail", "shortName": "Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "2", "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2419403 - Disclosure - Taxes (Detail)", "role": "http://www.cognex.com/role/TaxesDetail", "shortName": "Taxes (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": "-3", "lang": null, "name": "cgnx:IncreaseDecreaseInterestAndPenalties", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2420402 - Disclosure - Weighted-Average Shares (Detail)", "role": "http://www.cognex.com/role/WeightedAverageSharesDetail", "shortName": "Weighted-Average Shares (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2420403 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail)", "role": "http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail", "shortName": "Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3QTD", "decimals": "-3", "lang": null, "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R68": { "firstAnchor": { "ancestors": [ "span", "span", "ix:continuation", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "D2019Q4_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:Dividends", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2421401 - Disclosure - Subsequent Events (Details)", "role": "http://www.cognex.com/role/SubsequentEventsDetails", "shortName": "Subsequent Events (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "ix:continuation", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "D2019Q4_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:Dividends", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1004000 - Statement - Consolidated Statements of Cash Flows", "role": "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows", "shortName": "Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FD2019Q3YTD", "decimals": "-3", "lang": null, "name": "us-gaap:StockOptionPlanExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesIssued", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1005000 - Statement - Consolidated Statement of Shareholders' Equity", "role": "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity", "shortName": "Consolidated Statement of Shareholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesIssued", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R9": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "1005501 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical)", "role": "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical", "shortName": "Consolidated Statement of Shareholders' Equity (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R9999": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "cgnx-9292019x10q.htm", "contextRef": "I2018Q1Jan1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "", "isDefault": "false", "longName": "Uncategorized Items - cgnx-9292019x10q.htm", "role": "http://xbrl.sec.gov/role/uncategorizedFacts", "shortName": "Uncategorized Items - cgnx-9292019x10q.htm", "subGroupType": "", "uniqueAnchor": null } }, "segmentCount": 56, "tag": { "cgnx_AccruedExpensesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Accrued expenses.", "label": "Accrued Expenses [Member]", "terseLabel": "Accrued Expenses" } } }, "localname": "AccruedExpensesMember", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" ], "xbrltype": "domainItemType" }, "cgnx_AgencyBondsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Agency bond.", "label": "Agency Bonds [Member]", "terseLabel": "Agency Bonds" } } }, "localname": "AgencyBondsMember", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "domainItemType" }, "cgnx_ApplicationSpecificCustomerSolutionsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Application-Specific Customer Solutions [Member]", "label": "Application-Specific Customer Solutions [Member]", "terseLabel": "Application-Specific Customer Solutions" } } }, "localname": "ApplicationSpecificCustomerSolutionsMember", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" ], "xbrltype": "domainItemType" }, "cgnx_AsiaExcludingChinaMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Asia, Excluding China [Member]", "label": "Asia, Excluding China [Member]", "terseLabel": "Other Asia" } } }, "localname": "AsiaExcludingChinaMember", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails" ], "xbrltype": "domainItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail": { "order": 5.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value.", "label": "Available For Sale Securities Debt Maturities After Four Years Before Five Years Fair Value", "terseLabel": "4-5 years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail": { "order": 2.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "This item represents the fair value of debt securities which are expected to mature within one year of the balance sheet date and which are categorized neither as held-to-maturity nor trading securities.", "label": "Available For Sale Securities Debt Maturities After One Year Before Two Years Fair Value", "terseLabel": "1-2 years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail": { "order": 4.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Available-for-sale securities, debt maturities after third year but before fourth year, fair value.", "label": "Available For Sale Securities Debt Maturities After Three Years Before Four Years Fair Value", "terseLabel": "3-4 years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail": { "order": 3.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Available-for-sale securities, debt maturities after second year but before third year, fair value.", "label": "Available For Sale Securities Debt Maturities After Two Years Before Three Years Fair Value", "terseLabel": "2-3 years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Cash, cash equivalents, short term and long term investments.", "label": "Cash Cash Equivalents Short Term And Long Term Investments", "totalLabel": "Total" } } }, "localname": "CashCashEquivalentsShortTermAndLongTermInvestments", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_CashflowshedgesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Cash flows hedges [Abstract]", "label": "Cash flows hedges [Abstract]", "terseLabel": "Cash flow hedges:" } } }, "localname": "CashflowshedgesAbstract", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "cgnx_ChiaroTechnologiesLLCMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Chiaro Technologies LLC [Member]", "label": "Chiaro Technologies LLC [Member]", "terseLabel": "Chiaro Technologies LLC [Member]" } } }, "localname": "ChiaroTechnologiesLLCMember", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" ], "xbrltype": "domainItemType" }, "cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Components of cash cash equivalents and investments.", "label": "Components Of Cash Cash Equivalents And Investments [Table Text Block]", "terseLabel": "Components of Cash, Cash Equivalents, and Investments" } } }, "localname": "ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "cgnx_CurrencytranslationadjustmentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Currency translation adjustments [Abstract]", "label": "Currency translation adjustments [Abstract]", "terseLabel": "Foreign currency translation adjustments:" } } }, "localname": "CurrencytranslationadjustmentsAbstract", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "cgnx_CustomerContractsAndRelationshipsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Customer Contracts And Relationships [Member]", "label": "Customer Contracts And Relationships [Member]", "terseLabel": "Customer relationships" } } }, "localname": "CustomerContractsAndRelationshipsMember", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Deferred Revenue, Foreign Currency Exchange Adjustment", "label": "Deferred Revenue, Foreign Currency Exchange Adjustment", "terseLabel": "Foreign exchange rate changes" } } }, "localname": "DeferredRevenueForeignCurrencyExchangeAdjustment", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": { "order": 8.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0 } }, "lang": { "en-US": { "role": { "documentation": "Effective Income Tax Rate Reconciliation, Tax Act 2017", "label": "Effective Income Tax Rate Reconciliation, Tax Act 2017", "negatedTerseLabel": "Discrete tax benefit related to Tax Act 2017" } } }, "localname": "EffectiveIncomeTaxRateReconciliationTaxAct2017", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" ], "xbrltype": "percentItemType" }, "cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Employee service share based compensation recognized period costs capitalized amount.", "label": "Employee Service Share Based Compensation Recognized Period Costs Capitalized Amount", "terseLabel": "Recognized period costs capitalized" } } }, "localname": "EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition", "terseLabel": "Weighted average period to be recognized" } } }, "localname": "EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "durationItemType" }, "cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Estimated forfeiture rate for unvested options for all non-senior management.", "label": "Estimated Forfeiture Rate For Unvested Options For All Non Senior Management", "terseLabel": "Estimated annual forfeiture rate for unvested options for all other employees" } } }, "localname": "EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "percentItemType" }, "cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Estimated forfeiture rate for unvested options for senior management.", "label": "Estimated Forfeiture Rate For Unvested Options For Senior Management", "terseLabel": "Estimated annual forfeiture rate for unvested options for senior management" } } }, "localname": "EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "percentItemType" }, "cgnx_ExpirationPeriodOfStockOptionPlan": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Expiration period of stock option plan.", "label": "Expiration Period Of Stock Option Plan", "terseLabel": "Expiration period from grant day" } } }, "localname": "ExpirationPeriodOfStockOptionPlan", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "durationItemType" }, "cgnx_GViVenturesInc.Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "GVi Ventures, Inc. [Member]", "label": "GVi Ventures, Inc. [Member]", "verboseLabel": "GVi" } } }, "localname": "GViVenturesInc.Member", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" ], "xbrltype": "domainItemType" }, "cgnx_GeneralStockOptionPlanMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "General stock option plan.", "label": "General Stock Option Plan [Member]", "terseLabel": "General Stock Option Plan" } } }, "localname": "GeneralStockOptionPlanMember", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "domainItemType" }, "cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The tax year(s) being audited in connection with the income tax examination for other entities.", "label": "Income Tax Examination Years Under Examination Other Entities", "terseLabel": "Tax years open to examination by various taxing authorities for other entities" } } }, "localname": "IncomeTaxExaminationYearsUnderExaminationOtherEntities", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "stringItemType" }, "cgnx_IncreaseDecreaseInterestAndPenalties": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Increase decrease interest and penalties.", "label": "Increase Decrease Interest And Penalties", "terseLabel": "Interest and penalties included in reserve" } } }, "localname": "IncreaseDecreaseInterestAndPenalties", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Increase (decrease) in compensation expense due to revised estimated forfeiture rates.", "label": "Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates", "terseLabel": "Increase (decrease) to compensation expense" } } }, "localname": "IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Lessee, Operating Lease, Liability, Payments, Due Year Six", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Six", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearSix", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 7.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Lessee, Operating Lease, Liability, Payments, Due after Year Six", "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Six", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_LiabilityForUncertainTaxPositions": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Liability for uncertain tax positions, total.", "label": "Liability For Uncertain Tax Positions", "terseLabel": "Liability for uncertain tax positions" } } }, "localname": "LiabilityForUncertainTaxPositions", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_LongTermInvestmentsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Long-term investments.", "label": "Long Term Investments [Member]", "terseLabel": "Long-Term Investments" } } }, "localname": "LongTermInvestmentsMember", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "domainItemType" }, "cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Maximum decrease in income tax expense due to release in reserves.", "label": "Maximum Decrease In Income Tax Expense Due To Release In Reserves", "terseLabel": "Maximum decrease in income tax expense due to release in reserves" } } }, "localname": "MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Minimum decrease in income tax expense due to release in reserves.", "label": "Minimum Decrease In Income Tax Expense Due To Release In Reserves", "terseLabel": "Minimum decrease in income tax expense due to release in reserves" } } }, "localname": "MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_NumberOfGroupsWithinEmployeePopulation": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Number of groups within employee population.", "label": "Number Of Groups Within Employee Population", "terseLabel": "Groups within the employee population" } } }, "localname": "NumberOfGroupsWithinEmployeePopulation", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "integerItemType" }, "cgnx_OutstandingForwardContractsTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Outstanding forward contracts table.", "label": "Outstanding Forward Contracts [Table Text Block]", "terseLabel": "Outstanding Forward Contracts Table" } } }, "localname": "OutstandingForwardContractsTableTextBlock", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "cgnx_Paymentofcontingentconsideration": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Payment of contingent consideration from a business combination", "label": "Payment of contingent consideration", "negatedLabel": "Payment of contingent consideration" } } }, "localname": "Paymentofcontingentconsideration", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows", "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_PaymentstoAcquireBusinessesDeferred": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Payments to Acquire Businesses, Deferred", "label": "Payments to Acquire Businesses, Deferred", "terseLabel": "Deferred payments" } } }, "localname": "PaymentstoAcquireBusinessesDeferred", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "cgnx_RepurchaseProgramOctober2018Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Repurchase Program October 2018 [Member]", "label": "Repurchase Program October 2018 [Member]", "terseLabel": "Repurchase Program October 2018 [Member]" } } }, "localname": "RepurchaseProgramOctober2018Member", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetail" ], "xbrltype": "domainItemType" }, "cgnx_SellingGeneralAndAdministrativeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Selling, general, and administrative.", "label": "Selling General And Administrative [Member]", "terseLabel": "Selling, General, and Administrative" } } }, "localname": "SellingGeneralAndAdministrativeMember", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" ], "xbrltype": "domainItemType" }, "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract]", "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Additional Disclosures1 [Abstract]", "terseLabel": "Aggregate Intrinsic Value (in thousands)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "stringItemType" }, "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Aggregate Intrinsic Value", "terseLabel": "Exercisable, in dollars" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Share based compensation arrangement by share based payment award options vested fair value.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Vested Fair Value", "terseLabel": "Total fair values of stock options vest" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Shares based compensation arrangement by shares based payment award options exercisable intrinsic value.", "label": "Shares Based Compensation Arrangement By Shares Based Payment Award Options Exercisable Intrinsic Value", "terseLabel": "Total intrinsic value" } } }, "localname": "SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_StandardProductsandServicesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Standard Products and Services [Member]", "label": "Standard Products and Services [Member]", "terseLabel": "Standard Products and Services" } } }, "localname": "StandardProductsandServicesMember", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" ], "xbrltype": "domainItemType" }, "cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Stock Repurchase Program, Aggregate Number of Shares Repurchased", "label": "Stock Repurchase Program, Aggregate Number of Shares Repurchased", "terseLabel": "Stock Repurchase Program, Aggregate Number of Shares Repurchased" } } }, "localname": "StockRepurchaseProgramAggregateNumberofSharesRepurchased", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetail" ], "xbrltype": "sharesItemType" }, "cgnx_StockRepurchaseProgramValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Stock Repurchase Program, Value", "label": "Stock Repurchase Program, Value", "terseLabel": "Shares repurchased, value" } } }, "localname": "StockRepurchaseProgramValue", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetail" ], "xbrltype": "monetaryItemType" }, "cgnx_SualabCo.Ltd.Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Sualab Co., Ltd. [Member]", "label": "Sualab Co., Ltd. [Member]", "terseLabel": "Sualab Co., Ltd." } } }, "localname": "SualabCo.Ltd.Member", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "cgnx_TaxyearsopentoexaminationbyInternalRevenueService": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tax years open to examination by Internal Revenue Service", "label": "Tax years open to examination by Internal Revenue Service", "terseLabel": "Tax years open to examination by Internal Revenue Service" } } }, "localname": "TaxyearsopentoexaminationbyInternalRevenueService", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "stringItemType" }, "cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets as a result of net operating loss carryforward, a similar tax loss, or a tax credit carryforward.", "label": "Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets", "terseLabel": "Reserve for income taxes classified an noncurrent deferred tax assets" } } }, "localname": "Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets", "nsuri": "http://www.cognex.com/20190929", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "monetaryItemType" }, "country_CN": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "CHINA", "terseLabel": "Greater China" } } }, "localname": "CN", "nsuri": "http://xbrl.sec.gov/country/2017-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails" ], "xbrltype": "domainItemType" }, "currency_AllCurrenciesDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "All Currencies [Domain]", "terseLabel": "All Currencies [Domain]" } } }, "localname": "AllCurrenciesDomain", "nsuri": "http://xbrl.sec.gov/currency/2017-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" ], "xbrltype": "domainItemType" }, "currency_CAD": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Canada, Dollars", "terseLabel": "Canada, Dollars" } } }, "localname": "CAD", "nsuri": "http://xbrl.sec.gov/currency/2017-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" ], "xbrltype": "domainItemType" }, "currency_EUR": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Euro Member Countries, Euro", "terseLabel": "Euro Member Countries, Euro" } } }, "localname": "EUR", "nsuri": "http://xbrl.sec.gov/currency/2017-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" ], "xbrltype": "domainItemType" }, "currency_GBP": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "United Kingdom, Pounds", "terseLabel": "United Kingdom, Pounds" } } }, "localname": "GBP", "nsuri": "http://xbrl.sec.gov/currency/2017-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" ], "xbrltype": "domainItemType" }, "currency_HUF": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Hungary, Forint", "terseLabel": "Hungary, Forint" } } }, "localname": "HUF", "nsuri": "http://xbrl.sec.gov/currency/2017-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" ], "xbrltype": "domainItemType" }, "currency_JPY": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Japan, Yen", "terseLabel": "Japanese Yen" } } }, "localname": "JPY", "nsuri": "http://xbrl.sec.gov/currency/2017-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" ], "xbrltype": "domainItemType" }, "currency_KRW": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Korea (South), Won", "terseLabel": "Korean Won" } } }, "localname": "KRW", "nsuri": "http://xbrl.sec.gov/currency/2017-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" ], "xbrltype": "domainItemType" }, "currency_MXN": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Mexico, Pesos", "terseLabel": "Mexico, Pesos" } } }, "localname": "MXN", "nsuri": "http://xbrl.sec.gov/currency/2017-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" ], "xbrltype": "domainItemType" }, "currency_SGD": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Singapore, Dollars", "terseLabel": "Singapore, Dollars" } } }, "localname": "SGD", "nsuri": "http://xbrl.sec.gov/currency/2017-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" ], "xbrltype": "domainItemType" }, "currency_TWD": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Taiwan, New Dollars", "terseLabel": "Taiwanese Dollar" } } }, "localname": "TWD", "nsuri": "http://xbrl.sec.gov/currency/2017-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" ], "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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Area code of city", "label": "City Area Code", "terseLabel": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Cover page.", "label": "Cover page." } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This is focus fiscal year of the document report in CCYY 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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented. If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r333" ], "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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r334" ], "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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type", "terseLabel": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One", "terseLabel": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r335" ], "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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status", "terseLabel": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r335" ], "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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number", "terseLabel": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r335" ], "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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code", "terseLabel": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r336" ], "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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r335" ], "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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r335" ], "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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r335" ], "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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r335" ], "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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number", "terseLabel": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r331" ], "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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r332" ], "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/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol", "terseLabel": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.cognex.com/role/CoverPage" ], "xbrltype": "tradingSymbolItemType" }, "srt_AmericasMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Americas [Member]", "terseLabel": "Americas" } } }, "localname": "AmericasMember", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails" ], "xbrltype": "domainItemType" }, "srt_CurrencyAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Currency [Axis]", "terseLabel": "Currency [Axis]" } } }, "localname": "CurrencyAxis", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" ], "xbrltype": "stringItemType" }, "srt_EuropeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Europe [Member]", "terseLabel": "Europe" } } }, "localname": "EuropeMember", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails" ], "xbrltype": "domainItemType" }, "srt_MaximumMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r105", "r160", "r162", "r322" ], "lang": { "en-US": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Range [Axis]", "terseLabel": "Range [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Range [Domain]", "terseLabel": "Range [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r107", "r160", "r163", "r328", "r329" ], "lang": { "en-US": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r29" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r12", "r161" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount due from customers or clients, within one year of the balance sheet date (or the normal operating cycle, whichever is longer), for goods or services (including trade receivables) that have been delivered or sold in the normal course of business, reduced to the estimated net realizable fair value by an allowance established by the entity of the amount it deems uncertain of collection.", "label": "Accounts Receivable, Net, Current", "terseLabel": "Accounts receivable, less reserves of $1,874 and $1,646 in 2019 and 2018, respectively" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": { "auth_ref": [ "r81" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 5.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", "negatedLabel": "Amortization of discounts or premiums on investments" } } }, "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxes": { "auth_ref": [ "r8", "r9", "r212", "r300", "r314" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all domestic and foreign income tax obligations due. This amount is the total of current and noncurrent accrued income taxes.", "label": "Accrued Income Taxes", "terseLabel": "Non-current accrued income taxes" } } }, "localname": "AccruedIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxesCurrent": { "auth_ref": [ "r8", "r300", "r315" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.", "label": "Accrued Income Taxes, Current", "terseLabel": "Accrued income taxes" } } }, "localname": "AccruedIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r31" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Liabilities, Current", "terseLabel": "Accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r50", "r52", "r53" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss, net of tax" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r49", "r53", "r56", "r235" ], "lang": { "en-US": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r13" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "auth_ref": [ "r89" ], "lang": { "en-US": { "role": { "documentation": "Information by new accounting pronouncement.", "label": "Adjustments for New Accounting Pronouncements [Axis]", "terseLabel": "Adjustments for New Accounting Pronouncements [Axis]" } } }, "localname": "AdjustmentsForNewAccountingPronouncementsAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r169", "r171", "r201", "r202" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) from recognition of equity-based compensation.", "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Stock-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "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]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r171", "r195", "r200" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Represents the expense recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees.", "label": "Allocated Share-based Compensation Expense", "terseLabel": "Stock-based compensation expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r35", "r108" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "A valuation allowance for trade and other receivables due to an Entity within one year (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.", "label": "Allowance for Doubtful Accounts Receivable, Current", "terseLabel": "Reserves for accounts receivable" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r80", "r133", "r138" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization of intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r98" ], "lang": { "en-US": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Stock options to purchase anti-dilutive common stock" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_AssetBackedSecuritiesMember": { "auth_ref": [ "r120", "r166" ], "lang": { "en-US": { "role": { "documentation": "Securities that are primarily serviced by the cash flows of a discrete pool of receivables or other financial assets for example, but not limited to, credit card receivables, car loans, recreational vehicle loans, and mobile home loans.", "label": "Asset-backed Securities [Member]", "terseLabel": "Asset-Backed Securities" } } }, "localname": "AssetBackedSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r104", "r299", "r313" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r2", "r3", "r37" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets, Fair Value Disclosure [Abstract]", "terseLabel": "Assets:" } } }, "localname": "AssetsFairValueDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "stringItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "auth_ref": [ "r114" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail": { "order": 3.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, before tax, of unrealized gain 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, before Tax", "terseLabel": "Gross unrealized gains" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "auth_ref": [ "r115" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail": { "order": 2.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, before tax, of unrealized 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 Loss, before Tax", "negatedTerseLabel": "Gross unrealized losses", "negatedTotalLabel": "Total unrealized losses" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "auth_ref": [ "r112" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amortized cost 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, Amortized Cost", "totalLabel": "Amortized cost" } } }, "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecurities": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt and equity securities categorized neither as held-to-maturity nor trading.", "label": "Available-for-sale Securities", "terseLabel": "Fair value" } } }, "localname": "AvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail": { "order": 2.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of accumulated unrealized loss on investments in debt and equity securities classified as available-for-sale that have been in a continuous loss position for twelve months or longer.", "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss", "negatedTerseLabel": "Unrealized losses, 12 months or greater" } } }, "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "This item represents the aggregate fair value of investments in debt and equity securities in an unrealized loss position which are categorized neither as held-to-maturity nor trading securities.", "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Fair Value", "totalLabel": "Total fair value" } } }, "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of accumulated unrealized loss on investments in debt and equity securities classified as available-for-sale that have been in a continuous loss position for less than twelve months.", "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss", "negatedLabel": "Unrealized losses, less than 12 months" } } }, "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "This item represents the aggregate fair value of investments in debt and equity securities categorized neither as held-to-maturity nor trading securities that have been in a continuous unrealized loss position for less than twelve months.", "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Less than Twelve Months, Fair Value", "terseLabel": "Fair value, less than 12 months" } } }, "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail": { "order": 2.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "This item represents the aggregate fair value of investments in debt and equity securities categorized neither as held-to-maturity nor trading securities that have been in a continuous unrealized loss position for twelve months or longer.", "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Twelve Months or Longer, Fair Value", "terseLabel": "Fair value, 12 months or greater" } } }, "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": { "auth_ref": [ "r116", "r118", "r309" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), maturing in next fiscal year following latest fiscal year. Excludes interim and annual periods when interim period is reported on rolling approach, from latest statement of financial position date.", "label": "Debt Securities, Available-for-sale, Maturity, Allocated and Single Maturity Date, within One Year, Fair Value", "terseLabel": "1 year or less" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "auth_ref": [ "r110", "r113" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount 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", "terseLabel": "Financial assets at fair value", "totalLabel": "Fair value" } } }, "localname": "AvailableForSaleSecuritiesDebtSecurities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": { "auth_ref": [ "r111" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail": { "order": 2.0, "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount 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, Current", "terseLabel": "Current investments" } } }, "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent": { "auth_ref": [ "r111" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in net income (available-for-sale), classified as noncurrent.", "label": "Debt Securities, Available-for-sale, Noncurrent", "terseLabel": "Long-term investments" } } }, "localname": "AvailableForSaleSecuritiesDebtSecuritiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesGrossRealizedGains": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "This item represents the gross profit realized on the sale of debt or equity securities categorized neither as held-to-maturity nor trading securities.", "label": "Available-for-sale Securities, Gross Realized Gains", "terseLabel": "Gross realized gains on sale of investments" } } }, "localname": "AvailableForSaleSecuritiesGrossRealizedGains", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "This item represents the gross loss realized on the sale of debt or equity securities categorized neither as held-to-maturity nor trading securities.", "label": "Available-for-sale Securities, Gross Realized Losses", "terseLabel": "Gross realized losses on sale of investments" } } }, "localname": "AvailableForSaleSecuritiesGrossRealizedLosses", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r172", "r197" ], "lang": { "en-US": { "role": { "documentation": "Information by award type pertaining to equity-based compensation.", "label": "Award Type [Axis]", "terseLabel": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r244", "r248" ], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition, Acquiree [Domain]", "terseLabel": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails", "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r221", "r222" ], "lang": { "en-US": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]", "terseLabel": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails", "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r225", "r226", "r228" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.", "label": "Business Combination, Consideration Transferred", "terseLabel": "Consideration transferred" } } }, "localname": "BusinessCombinationConsiderationTransferred1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "auth_ref": [ "r79", "r231" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "terseLabel": "Revaluation of contingent consideration" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "auth_ref": [ "r224", "r227", "r230" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.", "label": "Business Combination, Contingent Consideration, Liability", "terseLabel": "Contingent consideration liabilities" } } }, "localname": "BusinessCombinationContingentConsiderationLiability", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostGross": { "auth_ref": [ "r130" ], "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", "terseLabel": "Costs to fulfill contract" } } }, "localname": "CapitalizedContractCostGross", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Cash": { "auth_ref": [ "r26" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail": { "order": 1.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/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Cash and Cash Equivalents [Abstract]" } } }, "localname": "CashAndCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r0", "r26", "r82" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail": { "order": 1.0, "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "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", "periodEndLabel": "Cash and cash equivalents at end of period", "periodStartLabel": "Cash and cash equivalents at beginning of period", "terseLabel": "Cash and cash equivalents", "totalLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in cash and cash equivalents. Cash and cash equivalents are the 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. Includes effect from exchange rate changes.", "label": "Cash and Cash Equivalents, Period Increase (Decrease)", "totalLabel": "Net change in cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ClassOfTreasuryStockTable": { "auth_ref": [ "r153", "r154", "r155", "r156" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock.", "label": "Class of Treasury Stock [Table]", "terseLabel": "Class of Treasury Stock [Table]" } } }, "localname": "ClassOfTreasuryStockTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetail" ], "xbrltype": "stringItemType" }, "us-gaap_CommonStockDividendsPerShareCashPaid": { "auth_ref": [ "r152" ], "lang": { "en-US": { "role": { "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding.", "label": "Common Stock, Dividends, Per Share, Cash Paid", "terseLabel": "Cash dividends per common share (usd per share)" } } }, "localname": "CommonStockDividendsPerShareCashPaid", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r11" ], "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" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r11" ], "lang": { "en-US": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r11" ], "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", "periodEndLabel": "Ending Balance (in shares)", "periodStartLabel": "Beginning Balance (in shares)", "terseLabel": "Common stock, shares issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical", "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValueOutstanding": { "auth_ref": [ "r11" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value of all classes of common stock held by shareholders. May be all or portion of the number of common shares authorized. These shares exclude common shares repurchased by the entity and held as treasury shares.", "label": "Common Stock, Value, Outstanding", "terseLabel": "Common stock, $.002 par value \u2013 Authorized: 300,000 shares in 2019 and 2018, respectively, issued and outstanding: 170,897 and 170,820 shares in 2019 and 2018, respectively" } } }, "localname": "CommonStockValueOutstanding", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CompensationRelatedCostsGeneralTextBlock": { "auth_ref": [ "r165" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for compensation costs, including compensated absences accruals, compensated absences liability, deferred compensation arrangements and income statement compensation items. Deferred compensation arrangements may include a description of an arrangement with an individual employee, which is generally an employment contract between the entity and a selected officer or key employee containing a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares (units) issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability.", "label": "Compensation Related Costs, General [Text Block]", "terseLabel": "Stock-Based Compensation Expense" } } }, "localname": "CompensationRelatedCostsGeneralTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpense" ], "xbrltype": "textBlockItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r59", "r61", "r62" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome": { "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": "Total comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive income (loss), net of tax:" } } }, "localname": "ComprehensiveIncomeNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_CorporateBondSecuritiesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This category includes information about long-term debt securities that are issued by either a domestic or foreign corporate business entity with a date certain promise of repayment and a return to the holder for the time value of money (for example, variable or fixed interest, original issue discount).", "label": "Corporate Bond Securities [Member]", "terseLabel": "Corporate Bonds" } } }, "localname": "CorporateBondSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r67" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsTotalMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Consolidated cost of goods (such as cost of goods sold, or purchases) for the period after providing for returns, allowances and discounts, when it serves as a benchmark in a concentration of risk calculation.", "label": "Cost of Goods, Total [Member]", "terseLabel": "Cost of Revenue" } } }, "localname": "CostOfGoodsTotalMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of increase (decrease) to equity or (increase) decrease to net assets, resulting from the cumulative effect adjustment of a new accounting principle applied in the period of adoption.", "label": "Cumulative Effect of New Accounting Principle in Period of Adoption", "terseLabel": "Adjustment as a result of the adoption of ASU 2016-06 Income Taxes - Intra-Entity Transfers Other than Inventory" } } }, "localname": "CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r206", "r216" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenue": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of deferred revenue as of balance sheet date. Deferred revenue represents collections of cash or other assets related to a revenue producing activity for which revenue has not yet been recognized. Generally, an entity records deferred revenue when it receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized in conformity with GAAP.", "label": "Deferred Revenue", "periodEndLabel": "Balance as of September 29, 2019", "periodStartLabel": "Balance as of December 31, 2018" } } }, "localname": "DeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueAdditions": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of deferred revenue recognized for transactions arising during the current reporting period. Deferred revenue is a liability as of the balance sheet date related to a revenue producing activity for which revenue has not yet been recognized. Generally, an Entity records deferred revenue when it receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized in conformity with GAAP.", "label": "Deferred Revenue, Additions", "terseLabel": "Increases to deferred revenue and customer deposits" } } }, "localname": "DeferredRevenueAdditions", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueAndCreditsCurrent": { "auth_ref": [ "r31" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Total carrying amount of consideration received or receivable as of the balance sheet date on potential earnings that were not recognized as revenue or other forms of income in conformity with GAAP, and which are expected to be recognized as such within one year or the normal operating cycle, if longer.", "label": "Deferred Revenue and Credits, Current", "terseLabel": "Deferred revenue and customer deposits" } } }, "localname": "DeferredRevenueAndCreditsCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueByArrangementDisclosureTextBlock": { "auth_ref": [ "r4" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date.", "label": "Deferred Revenue, by Arrangement, Disclosure [Table Text Block]", "terseLabel": "Deferred Revenue, by Arrangement, Disclosure" } } }, "localname": "DeferredRevenueByArrangementDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredRevenueRevenueRecognized1": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue.", "label": "Deferred Revenue, Revenue Recognized", "negatedTerseLabel": "Recognition of revenue" } } }, "localname": "DeferredRevenueRevenueRecognized1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsNetNoncurrent": { "auth_ref": [ "r204", "r205", "r206", "r207", "r215" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards classified as noncurrent.", "label": "Deferred Tax Assets, Net of Valuation Allowance, Noncurrent", "terseLabel": "Deferred income taxes" } } }, "localname": "DeferredTaxAssetsNetNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r80", "r142" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation", "terseLabel": "Depreciation of property, plant, and equipment" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset": { "auth_ref": [ "r39", "r236" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail": { "order": 2.0, "parentTag": "us-gaap_DerivativeAssets", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of obligation to return cash collateral under master netting arrangements offset against derivative assets.", "label": "Derivative Asset, Collateral, Obligation to Return Cash, Offset", "negatedTerseLabel": "Gross amounts offset" } } }, "localname": "DerivativeAssetCollateralObligationToReturnCashOffset", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssetNotionalAmount": { "auth_ref": [ "r238", "r239", "r241" ], "lang": { "en-US": { "role": { "documentation": "Nominal or face amount used to calculate payments on the derivative asset.", "label": "Derivative Asset, Notional Amount", "terseLabel": "Outstanding forward contracts" } } }, "localname": "DerivativeAssetNotionalAmount", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssets": { "auth_ref": [ "r40", "r43", "r268" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.", "label": "Derivative Asset", "terseLabel": "Derivative asset", "totalLabel": "Net amount of assets presented" } } }, "localname": "DerivativeAssets", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail", "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeFairValueOfDerivativeAsset": { "auth_ref": [ "r38", "r44", "r247", "r296" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail": { "order": 1.0, "parentTag": "us-gaap_DerivativeAssets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value, before effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement.", "label": "Derivative Asset, Fair Value, Gross Asset", "verboseLabel": "Gross amounts of recognized assets" } } }, "localname": "DerivativeFairValueOfDerivativeAsset", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeFairValueOfDerivativeLiability": { "auth_ref": [ "r38", "r44", "r247", "r296" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail": { "order": 1.0, "parentTag": "us-gaap_DerivativeLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value, before effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.", "label": "Derivative Liability, Fair Value, Gross Liability", "verboseLabel": "Gross amounts of recognized liabilities" } } }, "localname": "DerivativeFairValueOfDerivativeLiability", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeGainLossOnDerivativeNet": { "auth_ref": [ "r246" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.", "label": "Derivative, Gain (Loss) on Derivative, Net", "terseLabel": "Gains (losses) recognized in current operations" } } }, "localname": "DerivativeGainLossOnDerivativeNet", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosure [Abstract]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "auth_ref": [ "r258" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.", "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]", "terseLabel": "Derivative Instruments" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstruments" ], "xbrltype": "textBlockItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems": { "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": "Derivative Instruments and Hedging Activities Disclosures [Line Items]", "terseLabel": "Derivative Instruments and Hedging Activities Disclosures [Line Items]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about derivatives and hedging activities.", "label": "Derivative Instruments and Hedging Activities Disclosures [Table]", "terseLabel": "Derivative Instruments and Hedging Activities Disclosures [Table]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": { "auth_ref": [ "r242", "r245", "r250", "r252", "r253", "r256", "r257" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.", "label": "Derivative Instruments, Gain (Loss) [Table]", "terseLabel": "Derivative Instruments, Gain (Loss) [Table]" } } }, "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossLineItems": { "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": "Derivative Instruments, Gain (Loss) [Line Items]", "terseLabel": "Derivative Instruments, Gain (Loss) [Line Items]" } } }, "localname": "DerivativeInstrumentsGainLossLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeLiabilities": { "auth_ref": [ "r40", "r43", "r268" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.", "label": "Derivative Liability", "terseLabel": "Derivative liability", "totalLabel": "Net amount of liabilities presented" } } }, "localname": "DerivativeLiabilities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail", "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset": { "auth_ref": [ "r39", "r236" ], "calculation": { "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail": { "order": 2.0, "parentTag": "us-gaap_DerivativeLiabilities", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of right to receive cash collateral under master netting arrangements offset against derivative liabilities.", "label": "Derivative Liability, Collateral, Right to Reclaim Cash, Offset", "negatedTerseLabel": "Gross amounts offset" } } }, "localname": "DerivativeLiabilityCollateralRightToReclaimCashOffset", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLineItems": { "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": "Derivative [Line Items]", "terseLabel": "Derivative [Line Items]" } } }, "localname": "DerivativeLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeTable": { "auth_ref": [ "r87", "r237", "r240", "r241", "r242", "r243", "r249", "r250", "r254", "r255", "r257" ], "lang": { "en-US": { "role": { "documentation": "Schedule that describes and identifies a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item.", "label": "Derivative [Table]", "terseLabel": "Derivative [Table]" } } }, "localname": "DerivativeTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativesFairValueLineItems": { "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": "Derivatives, Fair Value [Line Items]", "terseLabel": "Derivatives, Fair Value [Line Items]" } } }, "localname": "DerivativesFairValueLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" ], "xbrltype": "stringItemType" }, "us-gaap_DevelopedTechnologyRightsMember": { "auth_ref": [ "r223" ], "lang": { "en-US": { "role": { "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.", "label": "Developed Technology Rights [Member]", "terseLabel": "Completed technologies" } } }, "localname": "DevelopedTechnologyRightsMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "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": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Disclosure of Compensation Related Costs, Share-based Payments [Abstract]" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_DistributionRightsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Legal rights, generally of a limited duration, to distribute a product or products, often within specific geographic areas or supply channels.", "label": "Distribution Rights [Member]", "terseLabel": "Distribution networks" } } }, "localname": "DistributionRightsMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DividendPayableDateToBePaidDayMonthAndYear": { "auth_ref": [ "r83" ], "lang": { "en-US": { "role": { "documentation": "Date the declared dividend will be paid, in CCYY-MM-DD format.", "label": "Dividends Payable, Date to be Paid", "terseLabel": "Dividends payable, date payable" } } }, "localname": "DividendPayableDateToBePaidDayMonthAndYear", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "dateItemType" }, "us-gaap_Dividends": { "auth_ref": [ "r152", "r311" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock.", "label": "Dividends", "terseLabel": "Dividends (in dollars per share)" } } }, "localname": "Dividends", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DividendsCash": { "auth_ref": [ "r152", "r311" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of paid and unpaid cash dividends declared for classes of stock, for example, but not limited to, common and preferred.", "label": "Dividends, Cash", "negatedTerseLabel": "Payment of dividends" } } }, "localname": "DividendsCash", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_DividendsPayableDateOfRecordDayMonthAndYear": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Date the holder must own the stock to be entitled to the dividend, in CCYY-MM-DD format.", "label": "Dividends Payable, Date of Record", "terseLabel": "Dividends payable, date of record" } } }, "localname": "DividendsPayableDateOfRecordDayMonthAndYear", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "dateItemType" }, "us-gaap_DomesticCountryMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.", "label": "Domestic Tax Authority [Member]", "terseLabel": "Domestic Tax Authority" } } }, "localname": "DomesticCountryMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Earnings Per Share [Abstract]" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r65", "r90", "r94", "r95", "r96", "r97", "r100", "r307", "r321" ], "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 (usd per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDilutedAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Earnings Per Share, Diluted [Abstract]", "terseLabel": "Net income per weighted-average common and common-equivalent share:" } } }, "localname": "EarningsPerShareDilutedAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r101" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Weighted-Average Shares" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageShares" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents": { "auth_ref": [ "r272" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) from the effect of exchange rate changes on cash and cash equivalent balances held in foreign currencies.", "label": "Effect of Exchange Rate on Cash and Cash Equivalents", "terseLabel": "Effect of foreign exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashAndCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r86", "r208", "r209" ], "calculation": { "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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", "totalLabel": "Income tax expense" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r208", "r209", "r218" ], "calculation": { "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": { "order": 1.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "terseLabel": "Income tax expense at U.S. federal statutory corporate tax rate" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail", "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate": { "auth_ref": [ "r208", "r209", "r218" ], "calculation": { "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": { "order": 7.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0 } }, "lang": { "en-US": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.", "label": "Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent", "negatedTerseLabel": "Other discrete tax events" } } }, "localname": "EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": { "auth_ref": [ "r208", "r209", "r218" ], "calculation": { "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": { "order": 3.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.", "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent", "negatedLabel": "Decrease in effective tax rate", "terseLabel": "Foreign tax rate differential" } } }, "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail", "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": { "auth_ref": [ "r208", "r209", "r218" ], "calculation": { "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": { "order": 6.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.", "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent", "terseLabel": "Other" } } }, "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": { "auth_ref": [ "r208" ], "calculation": { "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": { "order": 5.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0 } }, "lang": { "en-US": { "role": { "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to excess tax benefit for share-based compensation cost.", "label": "Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Percent", "negatedTerseLabel": "Discrete tax benefit related to stock options", "terseLabel": "Decrease in effective tax rate for difference between deduction for tax purposes and compensation cost recognized from stock option exercises" } } }, "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail", "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r208", "r209", "r218" ], "calculation": { "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": { "order": 2.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent", "terseLabel": "State income taxes, net of federal benefit" } } }, "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": { "auth_ref": [ "r208", "r209", "r218" ], "calculation": { "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": { "order": 4.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0 } }, "lang": { "en-US": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.", "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent", "negatedTerseLabel": "Tax credit" } } }, "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]", "terseLabel": "Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r196" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Unrecognized cost of unvested share-based compensation awards.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized", "terseLabel": "Unrecognized compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": { "auth_ref": [ "r195" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The total recognized tax benefit related to compensation cost for equity-based payment arrangements recognized in income during the period.", "label": "Employee Service Share-based Compensation, Tax Benefit from Compensation Expense", "terseLabel": "Tax benefit from compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "An arrangement whereby an employee is entitled to receive in the future, subject to vesting and other restrictions, a number of shares in the entity at a specified price, as defined in the agreement. Although there are variations, normally, after vesting, when an option is exercised, the employee-holder pays the strike value in cash to the issuing employer-entity and receives equity shares. The equity shares can be sold into the market for cash at the current market price without restriction. Options may be used to attract, retain and incentivize employees, in addition to their regular salary and other benefits.", "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "domainItemType" }, "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": { "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 from External Customer [Line Items]", "terseLabel": "Revenue from External Customer [Line Items]" } } }, "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_EquityClassOfTreasuryStockLineItems": { "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": "Equity, Class of Treasury Stock [Line Items]", "terseLabel": "Equity, Class of Treasury Stock [Line Items]" } } }, "localname": "EquityClassOfTreasuryStockLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetail" ], "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r151" ], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, 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/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r259", "r260", "r261", "r262", "r265", "r266" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about financial instruments measured at fair value, including those classified in shareholders' equity measured on a recurring or nonrecurring basis. Disclosures include, but are not limited to, fair value measurements recorded and the reasons for the measurements, level within the fair value hierarchy in which the fair value measurements are categorized and transfers between levels 1 and 2. Nonrecurring fair value measurements are those that are required or permitted in the statement of financial position in particular circumstances.", "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]", "terseLabel": "Fair Value Measurements, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r166", "r167", "r168", "r261", "r292" ], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail", "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r259" ], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail", "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r267" ], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r166", "r167", "r168", "r261", "r293" ], "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": "Quoted Prices in Active Markets for Identical Assets (Level 1)" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r166", "r167", "r168", "r261", "r294" ], "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": "Significant Other Observable Inputs (Level 2)" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r166", "r167", "r168", "r261", "r295" ], "lang": { "en-US": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]", "terseLabel": "Fair Value, Inputs, Level 3" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail", "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]", "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable": { "auth_ref": [ "r263", "r266" ], "lang": { "en-US": { "role": { "documentation": "Schedule of information required and determined to be provided for purposes of reconciling beginning and ending balances of fair value measurements of liabilities using significant unobservable inputs (level 3). Separately presenting changes during the period, attributable to: (1) total gains or losses for the period (realized and unrealized) and location reported in the statement of income (or activities); (2) purchases, sales, issuances, and settlements (net); (3) transfers in and/or out of Level 3.", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]", "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "auth_ref": [ "r263", "r266" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]", "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [ "r259", "r264" ], "lang": { "en-US": { "role": { "documentation": "Provides the general categories used to describe the frequency with which financial assets and liabilities (as defined) are measured at fair value (on a recurring or nonrecurring basis).", "label": "Fair Value, Measurement Frequency [Domain]", "terseLabel": "Fair Value, Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail", "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "auth_ref": [ "r263" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail", "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r259", "r264" ], "lang": { "en-US": { "role": { "documentation": "This item represents a description of the frequency with which certain items are measured at fair value. Items measured at fair value on a recurring basis generally include those items for which measurement inputs are readily available and which are measured at fair value at successive reporting periods.", "label": "Fair Value, Measurements, Recurring [Member]", "terseLabel": "Fair Value, Measurements, Recurring" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail", "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": { "auth_ref": [ "r244", "r249", "r256" ], "lang": { "en-US": { "role": { "documentation": "Schedule that discloses the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.", "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]", "terseLabel": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]" } } }, "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FinancialInstrumentAxis": { "auth_ref": [], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r137" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": { "order": 7.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized after the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, after Year Five", "verboseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r139" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months", "terseLabel": "2019" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the remainder of the fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year", "verboseLabel": "Remainder of fiscal 2019" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r139" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": { "order": 6.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r139" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four", "terseLabel": "2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r139" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three", "terseLabel": "2021" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r139" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two", "terseLabel": "2020" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r134", "r135", "r137", "r140", "r298" ], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]", "terseLabel": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]" } } }, "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r137", "r298" ], "calculation": { "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Carrying Value" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "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": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r134", "r136" ], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r137" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.cognex.com/role/IntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "terseLabel": "Intangible assets, net", "totalLabel": "Net Carrying Value" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCountryMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Designated tax departments of governments entitled to levy and collect income taxes from the entity outside the entity's country of domicile.", "label": "Foreign Tax Authority [Member]", "terseLabel": "Foreign Tax Authority" } } }, "localname": "ForeignCountryMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ForeignCurrencyContractAssetFairValueDisclosure": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of asset contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward contracts, and swaps.", "label": "Foreign Currency Contract, Asset, Fair Value Disclosure", "terseLabel": "Economic hedge forward contracts" } } }, "localname": "ForeignCurrencyContractAssetFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of liability contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward (delivery or nondelivery) contracts, and swaps entered into.", "label": "Foreign Currency Contracts, Liability, Fair Value Disclosure", "terseLabel": "Economic hedge forward contracts" } } }, "localname": "ForeignCurrencyContractsLiabilityFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyGainLossMember": { "auth_ref": [ "r251" ], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing foreign currency gain (loss).", "label": "Foreign Currency Gain (Loss) [Member]", "terseLabel": "Foreign Currency Gain (Loss)" } } }, "localname": "ForeignCurrencyGainLossMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "auth_ref": [ "r269", "r270", "r271" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.", "label": "Foreign Currency Transaction Gain (Loss), before Tax", "terseLabel": "Foreign currency gain (loss)" } } }, "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnSaleOfInvestments": { "auth_ref": [ "r80" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The net realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from investing activities.", "label": "Gain (Loss) on Sale of Investments", "negatedLabel": "Realized (gain) loss on sale of investments" } } }, "localname": "GainLossOnSaleOfInvestments", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r131", "r132" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "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", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r66" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": { "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 margin" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_HedgingDesignationAxis": { "auth_ref": [ "r242", "r253" ], "lang": { "en-US": { "role": { "documentation": "Information by designation of purpose of derivative instrument.", "label": "Hedging Designation [Axis]", "terseLabel": "Hedging Designation [Axis]" } } }, "localname": "HedgingDesignationAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail", "http://www.cognex.com/role/DerivativeInstrumentsDetail", "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail", "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" ], "xbrltype": "stringItemType" }, "us-gaap_HedgingDesignationDomain": { "auth_ref": [ "r242" ], "lang": { "en-US": { "role": { "documentation": "Designation of purpose of derivative instrument.", "label": "Hedging Designation [Domain]", "terseLabel": "Hedging Designation [Domain]" } } }, "localname": "HedgingDesignationDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail", "http://www.cognex.com/role/DerivativeInstrumentsDetail", "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail", "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": { "auth_ref": [ "r85" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.", "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest", "totalLabel": "Income before income tax expense" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": { "auth_ref": [ "r63", "r65", "r94", "r95", "r96", "r97", "r307", "r319", "r321" ], "lang": { "en-US": { "role": { "documentation": "The amount of net income (loss) derived from continuing operations during 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": "Income (Loss) from Continuing Operations, Per Diluted Share", "terseLabel": "Basic (usd per share)" } } }, "localname": "IncomeLossFromContinuingOperationsPerDilutedShare", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r144" ], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityAxis": { "auth_ref": [ "r211" ], "lang": { "en-US": { "role": { "documentation": "Information by tax jurisdiction.", "label": "Income Tax Authority [Axis]", "terseLabel": "Income Tax Authority [Axis]" } } }, "localname": "IncomeTaxAuthorityAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.", "label": "Income Tax Authority [Domain]", "terseLabel": "Income Tax Authority [Domain]" } } }, "localname": "IncomeTaxAuthorityDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityNameAxis": { "auth_ref": [ "r211" ], "lang": { "en-US": { "role": { "documentation": "Information by name of taxing authority.", "label": "Income Tax Authority, Name [Axis]", "terseLabel": "Income Tax Authority, Name [Axis]" } } }, "localname": "IncomeTaxAuthorityNameAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityNameDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.", "label": "Income Tax Authority, Name [Domain]", "terseLabel": "Income Tax Authority, Name [Domain]" } } }, "localname": "IncomeTaxAuthorityNameDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxContingencyLineItems": { "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": "Income Tax Contingency [Line Items]", "terseLabel": "Income Tax Contingency [Line Items]" } } }, "localname": "IncomeTaxContingencyLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxContingencyTable": { "auth_ref": [ "r212", "r213", "r214", "r217" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about tax positions taken in the tax returns filed or to be filed for which it is more likely than not that the tax position will not be sustained upon examination by taxing authorities and other income tax contingencies. Includes, but is not limited to, interest and penalties, reconciliation of unrecognized tax benefits, unrecognized tax benefits that would affect the effective tax rate, tax years that remain subject to examination by tax jurisdictions, and information about positions for which it is reasonably possible that amounts unrecognized will significantly change within 12 months.", "label": "Income Tax Contingency [Table]", "terseLabel": "Income Tax Contingency [Table]" } } }, "localname": "IncomeTaxContingencyTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Income Tax Disclosure [Abstract]" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r220" ], "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]", "terseLabel": "Taxes" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/Taxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear": { "auth_ref": [ "r213" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The amount the liability recorded for the income tax examination increased or decreased in the current year/accounting period.", "label": "Income Tax Examination, Increase (Decrease) in Liability from Prior Year", "terseLabel": "Increase in reserves for income taxes, net of deferred tax benefit" } } }, "localname": "IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r84", "r103", "r219" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": { "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 tax expense" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r79" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r79" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "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", "negatedTerseLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r79" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.", "label": "Increase (Decrease) in Accrued Liabilities", "terseLabel": "Accrued expenses" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedTaxesPayable": { "auth_ref": [ "r79" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes.", "label": "Increase (Decrease) in Accrued Taxes Payable", "terseLabel": "Accrued income taxes" } } }, "localname": "IncreaseDecreaseInAccruedTaxesPayable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": { "auth_ref": [ "r79" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.", "label": "Increase (Decrease) in Deferred Income Taxes", "negatedLabel": "Change in deferred income taxes" } } }, "localname": "IncreaseDecreaseInDeferredIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredRevenue": { "auth_ref": [ "r79" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period, excluding the portion taken into income, in the liability reflecting revenue yet to be earned for which cash or other forms of consideration was received or recorded as a receivable.", "label": "Increase (Decrease) in Deferred Revenue", "terseLabel": "Deferred revenue and customer deposits" } } }, "localname": "IncreaseDecreaseInDeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r79" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "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", "negatedTerseLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet": { "auth_ref": [ "r79" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other.", "label": "Increase (Decrease) in Other Operating Assets and Liabilities, Net", "negatedTerseLabel": "Other" } } }, "localname": "IncreaseDecreaseInOtherOperatingCapitalNet", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r79" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 12.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", "negatedTerseLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInUnbilledReceivables": { "auth_ref": [ "r79" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period of the amount of revenue for work performed for which billing has not occurred, net of uncollectible accounts.", "label": "Increase (Decrease) in Unbilled Receivables", "negatedTerseLabel": "Unbilled revenue" } } }, "localname": "IncreaseDecreaseInUnbilledReceivables", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r141" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for all or part of the information related to intangible assets.", "label": "Intangible Assets Disclosure [Text Block]", "terseLabel": "Intangible Assets" } } }, "localname": "IntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Inventory Disclosure [Abstract]" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r129" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.", "label": "Inventory Disclosure [Text Block]", "terseLabel": "Inventories" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/Inventories" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r18", "r128" ], "calculation": { "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.", "label": "Inventory, Finished Goods, Net of Reserves", "terseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r1", "r36", "r127" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "terseLabel": "Inventories", "totalLabel": "Inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r20", "r128" ], "calculation": { "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.", "label": "Inventory, Raw Materials, Net of Reserves", "terseLabel": "Raw materials" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "auth_ref": [ "r19", "r128" ], "calculation": { "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.", "label": "Inventory, Work in Process, Net of Reserves", "terseLabel": "Work-in-process" } } }, "localname": "InventoryWorkInProcessNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentIncomeNonoperating": { "auth_ref": [ "r69" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The aggregate amount of income from investments (for example, dividends) not considered a component of the entity's core operations.", "label": "Investment Income, Nonoperating", "terseLabel": "Investment income" } } }, "localname": "InvestmentIncomeNonoperating", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentTypeAxis": { "auth_ref": [ "r324", "r325", "r326", "r327" ], "lang": { "en-US": { "role": { "documentation": "Information by type of investments.", "label": "Investment Type [Axis]", "terseLabel": "Investment Type [Axis]" } } }, "localname": "InvestmentTypeAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_InvestmentTypeCategorizationMember": { "auth_ref": [ "r324", "r325", "r326", "r327" ], "lang": { "en-US": { "role": { "documentation": "Asset obtained to generate income or appreciate in value.", "label": "Investments [Domain]", "terseLabel": "Investments [Domain]" } } }, "localname": "InvestmentTypeCategorizationMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.", "label": "Investments Classified by Contractual Maturity Date [Table Text Block]", "terseLabel": "Effective Maturity Dates of Available-for-Sale Investments" } } }, "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for cash, cash equivalents, investments in debt and equity instruments (including cost and equity investees and related income statement amounts), equity and cost method investments, investments in joint ventures and any other investment.", "label": "Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block]", "terseLabel": "Cash, Cash Equivalents, and Investments" } } }, "localname": "InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestments" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r283", "r285" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "terseLabel": "Lease, cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Leases [Abstract]" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_LesseeLeasesPolicyTextBlock": { "auth_ref": [ "r278" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.", "label": "Lessee, Leases [Policy Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeLeasesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r284" ], "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, Maturity [Table Text Block]", "terseLabel": "Lessee, Operating Lease, Liability, Maturity" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r284" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Payments, Due", "totalLabel": "Total" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r284" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five", "terseLabel": "2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r284" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "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 payments for operating lease, due in fourth fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four", "terseLabel": "2022" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r284" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "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 payments for operating lease, due in third fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three", "terseLabel": "2021" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r284" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two", "terseLabel": "2020" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r284" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": { "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 for operating lease having an initial or remaining lease term in excess of one year due in remainder of fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year", "terseLabel": "Remainder of fiscal 2019" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r286" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.", "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/Leases" ], "xbrltype": "textBlockItemType" }, "us-gaap_LessorOperatingLeasePaymentsToBeReceived": { "auth_ref": [ "r288" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lease payments to be received by lessor for operating lease.", "label": "Lessor, Operating Lease, Payments to be Received", "totalLabel": "Lessor, Operating Lease, Payments to be Received" } } }, "localname": "LessorOperatingLeasePaymentsToBeReceived", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears": { "auth_ref": [ "r288" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails": { "order": 4.0, "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lease payments to be received by lessor in fourth year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.", "label": "Lessor, Operating Lease, Payments to be Received, Four Years", "terseLabel": "Lessor, Operating Lease, Payments to be Received, Four Years" } } }, "localname": "LessorOperatingLeasePaymentsToBeReceivedFourYears", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock": { "auth_ref": [ "r288" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of maturity of undiscounted cash flows to be received by lessor on annual basis for operating lease.", "label": "Lessor, Operating Lease, Payments to be Received, Maturity [Table Text Block]", "terseLabel": "Lessor, Operating Lease, Payments to be Received, Maturity [Table Text Block]" } } }, "localname": "LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear": { "auth_ref": [ "r288" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails": { "order": 1.0, "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lease payments to be received by lessor in remainder of fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.", "label": "Lessor, Operating Lease, Payments to be Received, Remainder of Fiscal Year", "terseLabel": "Lessor, Operating Lease, Payments to be Received, Remainder of Fiscal Year" } } }, "localname": "LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears": { "auth_ref": [ "r288" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails": { "order": 3.0, "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lease payments to be received by lessor in third fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.", "label": "Lessor, Operating Lease, Payments to be Received, Three Years", "terseLabel": "Lessor, Operating Lease, Payments to be Received, Three Years" } } }, "localname": "LessorOperatingLeasePaymentsToBeReceivedThreeYears", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears": { "auth_ref": [ "r288" ], "calculation": { "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails": { "order": 2.0, "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lease payments to be received by lessor in second fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.", "label": "Lessor, Operating Lease, Payments to be Received, Two Years", "terseLabel": "Lessor, Operating Lease, Payments to be Received, Two Years" } } }, "localname": "LessorOperatingLeasePaymentsToBeReceivedTwoYears", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r30" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r17", "r301", "r317" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "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 shareholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND SHAREHOLDERS\u2019 EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r32" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesFairValueAdjustment": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of addition (reduction) to the amount at which a liability could be incurred (settled) in a current transaction between willing parties.", "label": "Liabilities, Fair Value Adjustment", "terseLabel": "Liabilities, Fair Value Adjustment" } } }, "localname": "LiabilitiesFairValueAdjustment", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesFairValueDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities, Fair Value Disclosure [Abstract]", "terseLabel": "Liabilities:" } } }, "localname": "LiabilitiesFairValueDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilityForUncertainTaxPositionsNoncurrent": { "auth_ref": [ "r33" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount recognized for uncertainty in income taxes classified as noncurrent.", "label": "Liability for Uncertainty in Income Taxes, Noncurrent", "terseLabel": "Reserve for income taxes", "verboseLabel": "Reserve for income taxes classified as a noncurrent iability" } } }, "localname": "LiabilityForUncertainTaxPositionsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermInvestments": { "auth_ref": [ "r27" ], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail": { "order": 3.0, "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).", "label": "Long-term Investments", "terseLabel": "Non-current investments" } } }, "localname": "LongTermInvestments", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Maximum amount of time remaining before foreign currency exchange rate derivatives mature or expire, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Maximum Remaining Maturity of Foreign Currency Derivatives", "terseLabel": "Remaining maturity of foreign currency derivatives (up to)" } } }, "localname": "MaximumRemainingMaturityOfForeignCurrencyDerivatives1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDetail" ], "xbrltype": "durationItemType" }, "us-gaap_MoneyMarketFundsAtCarryingValue": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail": { "order": 2.0, "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.", "label": "Money Market Funds, at Carrying Value", "terseLabel": "Money market instruments" } } }, "localname": "MoneyMarketFundsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_MovementInDeferredRevenueRollForward": { "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 Deferred Revenue [Roll Forward]", "terseLabel": "Movement in Deferred Revenue [Roll Forward]" } } }, "localname": "MovementInDeferredRevenueRollForward", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" ], "xbrltype": "stringItemType" }, "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_MunicipalBondsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Long-term debt securities issued by state, city or local governments or the agencies operated by state, city or local governments.", "label": "Municipal Bonds [Member]", "terseLabel": "Municipal Bonds" } } }, "localname": "MunicipalBondsMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r77" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r77" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "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 provided by (used in) investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r77", "r78", "r81" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r57", "r60", "r64", "r81", "r99", "r306", "r320" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "terseLabel": "Net income", "totalLabel": "Net Income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows", "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome", "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": { "auth_ref": [ "r91" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure of changes in accounting principles, including adoption of new accounting pronouncements, that describes the new methods, amount and effects on financial statement line items.", "label": "New Accounting Pronouncements and Changes in Accounting Principles [Text Block]", "terseLabel": "New Pronouncements" } } }, "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/NewPronouncements" ], "xbrltype": "textBlockItemType" }, "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]", "terseLabel": "New Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NondesignatedMember": { "auth_ref": [ "r242" ], "lang": { "en-US": { "role": { "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).", "label": "Not Designated as Hedging Instrument [Member]", "terseLabel": "Not Designated as Hedging Instrument" } } }, "localname": "NondesignatedMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail", "http://www.cognex.com/role/DerivativeInstrumentsDetail", "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail", "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" ], "xbrltype": "domainItemType" }, "us-gaap_OffsettingAssetsTableTextBlock": { "auth_ref": [ "r41", "r42" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of derivative and other financial assets that are subject to offsetting, including master netting arrangements.", "label": "Offsetting Assets [Table Text Block]", "terseLabel": "Offsetting Assets" } } }, "localname": "OffsettingAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r279", "r285" ], "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": "Operating lease, cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLeaseIncome": { "auth_ref": [ "r102", "r287", "r289" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of operating lease income from lease payments and variable lease payments paid and payable to lessor. Includes, but is not limited to, variable lease payments not included in measurement of lease receivable.", "label": "Operating Lease, Lease Income", "terseLabel": "Operating Lease, Lease Income" } } }, "localname": "OperatingLeaseLeaseIncome", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r276" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "terseLabel": "Operating Lease, Liability" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r276" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Operating Lease, Liability, Current", "verboseLabel": "Operating lease, liability, current" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r276" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Operating Lease, Liability, Noncurrent", "verboseLabel": "Operating lease, liability, noncurrent" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r277", "r280" ], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r275" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating Lease, Right-of-Use Asset", "verboseLabel": "Operating lease, right-of-use asset" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r282", "r285" ], "lang": { "en-US": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Operating Lease, Weighted Average Discount Rate, Percent" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r281", "r285" ], "lang": { "en-US": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Operating Lease, Weighted Average Remaining Lease Term" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/LeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r28" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 8.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r232", "r233", "r234" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax and reclassification adjustments, of appreciation (loss) in value of unsold available-for-sale securities, attributable to parent entity. Excludes amounts related to other than temporary impairment (OTTI) loss.", "label": "Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax, Portion Attributable to Parent", "totalLabel": "Net change related to available-for-sale investments" } } }, "localname": "OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax": { "auth_ref": [ "r45", "r51", "r274" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of tax expense (benefit), before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "Other Comprehensive Income (Loss), Foreign Currency Translation Gain (Loss) Arising During Period, Tax", "terseLabel": "Tax effect of foreign currency translation adjustment" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax": { "auth_ref": [ "r46", "r51" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of tax expense (benefit), after reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).", "label": "Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Tax", "terseLabel": "Tax effect on cash flow hedges" } } }, "localname": "OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r45", "r273" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome": { "order": 2.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.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Foreign currency translation adjustment", "verboseLabel": "Foreign currency translation adjustments" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "terseLabel": "Available-for-sale investments:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r58", "r61", "r232", "r233", "r234" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome": { "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", "totalLabel": "Other comprehensive income (loss), net of tax" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax": { "auth_ref": [ "r50", "r54", "r55", "r125" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.", "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax", "negatedLabel": "Reclassification of net realized (gain) loss into current operations", "negatedTerseLabel": "Reclassification of net realized (gain) loss on the sale of available-for-sale investments" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r47", "r50" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax, before reclassification adjustments, of unrealized holding gain (loss) on available-for-sale securities.", "label": "Other Comprehensive Income (Loss), Securities, Available-for-Sale, Unrealized Holding Gain (Loss) Arising During Period, after Tax", "terseLabel": "Net unrealized gain (loss), net of tax of ($5) and $24 in the three-month periods and net of tax of $502 and ($82) in the nine-month periods, respectively", "verboseLabel": "Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82)" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity", "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax": { "auth_ref": [ "r48", "r51" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of tax expense (benefit) before reclassification adjustments of unrealized holding gain (loss) on available-for-sale securities.", "label": "Other Comprehensive Income (Loss), Securities, Available-for-Sale, Unrealized Holding Gain (Loss) Arising During Period, Tax", "terseLabel": "Tax effect of unrealized gain (loss) on available-for-sale investments" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical", "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherIntangibleAssetsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Intangible assets classified as other.", "label": "Other Intangible Assets [Member]", "terseLabel": "Non-compete agreements" } } }, "localname": "OtherIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r33" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 6.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", "terseLabel": "Other liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r70" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": { "order": 4.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income (expense)" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r76" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Repurchase of common stock" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfDividendsCommonStock": { "auth_ref": [ "r76" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.", "label": "Payments of Ordinary Dividends, Common Stock", "negatedTerseLabel": "Payment of dividends" } } }, "localname": "PaymentsOfDividendsCommonStock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesGross": { "auth_ref": [ "r72", "r229" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.", "label": "Payments to Acquire Businesses, Gross", "terseLabel": "Cash payments" } } }, "localname": "PaymentsToAcquireBusinessesGross", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireInvestments": { "auth_ref": [ "r74" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period.", "label": "Payments to Acquire Investments", "negatedLabel": "Purchases of investments" } } }, "localname": "PaymentsToAcquireInvestments", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r73" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "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, plant, and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r172", "r197" ], "lang": { "en-US": { "role": { "documentation": "Information by plan name pertaining to equity-based compensation arrangements.", "label": "Plan Name [Axis]", "terseLabel": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Name of the equity-based compensation arrangement plan.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockValueOutstanding": { "auth_ref": [ "r10" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value of all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by shareholders, which is net of related treasury stock. May be all or a portion of the number of preferred shares authorized. These shares represent the ownership interest of the preferred shareholders.", "label": "Preferred Stock, Value, Outstanding", "terseLabel": "Preferred Stock, Value, Outstanding" } } }, "localname": "PreferredStockValueOutstanding", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r2", "r24", "r25" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets.", "label": "Prepaid Expenses and Other Current Assets [Member]", "terseLabel": "Prepaid Expenses and Other Current Assets" } } }, "localname": "PrepaidExpensesAndOtherCurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": { "auth_ref": [ "r75", "r198" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow from issuance of shares under share-based compensation arrangement. Issuance includes, but is not limited to, exercise of stock options and similar instruments.", "label": "Proceeds from Issuance of Shares under Incentive and Share-based Compensation Plans, Including Stock Options", "terseLabel": "Issuance of common stock under stock plans" } } }, "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments": { "auth_ref": [ "r71" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The cash inflow associated with the sale, maturity and collection of all investments such as debt, security and so forth during the period.", "label": "Proceeds from Sale, Maturity and Collection of Investments", "terseLabel": "Maturities and sales of investments" } } }, "localname": "ProceedsFromSaleMaturityAndCollectionsOfInvestments", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantiesDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Product Warranties Disclosures [Abstract]" } } }, "localname": "ProductWarrantiesDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_ProductWarrantyAccrual": { "auth_ref": [ "r147", "r148", "r305" ], "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": "Ending balance", "periodStartLabel": "Beginning balance" } } }, "localname": "ProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualPayments": { "auth_ref": [ "r145" ], "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", "negatedLabel": "Fulfillment of warranty obligations" } } }, "localname": "ProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r146" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.", "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued", "verboseLabel": "Provisions for warranties issued during the period" } } }, "localname": "ProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyDisclosureTextBlock": { "auth_ref": [ "r150" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.", "label": "Product Warranty Disclosure [Text Block]", "terseLabel": "Warranty Obligations" } } }, "localname": "ProductWarrantyDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligations" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r6", "r7", "r143", "r318" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.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", "terseLabel": "Property, plant, and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r203", "r330" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "terseLabel": "Research, development, and engineering expenses" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "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, Development, and Engineering Expenses" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail", "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r14", "r152", "r316" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueCommissionersIrelandMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Designated tax department of the government of Ireland.", "label": "Revenue Commissioners, Ireland [Member]", "terseLabel": "Revenue Commissioners, Ireland" } } }, "localname": "RevenueCommissionersIrelandMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Revenue from Contract with Customer [Abstract]" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r158", "r159", "r160" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": { "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": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations", "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails", "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r88", "r164" ], "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 Recognition" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognition" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "auth_ref": [ "r106" ], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": { "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": "Debt Securities, Available-for-sale [Line Items]", "terseLabel": "Debt Securities, Available-for-sale [Line Items]" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value.", "label": "Schedule of Available-for-sale Securities Reconciliation [Table Text Block]", "terseLabel": "Summary of Available-for-Sale Investments" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesTable": { "auth_ref": [ "r117", "r119", "r121", "r122", "r123", "r124", "r308", "r310" ], "lang": { "en-US": { "role": { "documentation": "Schedule of available-for-sale securities which includes, but is not limited to, changes in the cost basis and fair value, fair value and gross unrealized gain (loss), fair values by type of security, contractual maturity and classification, amortized cost basis, contracts to acquire securities to be accounted for as available-for-sale, debt maturities, transfers to trading, change in net unrealized holding gain (loss) net of tax, continuous unrealized loss position fair value, aggregate losses qualitative disclosures, other than temporary impairment (OTTI) losses or other disclosures related to available for sale securities.", "label": "Schedule of Available-for-sale Securities [Table]", "terseLabel": "Schedule of Available-for-sale Securities [Table]" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": { "auth_ref": [ "r245", "r250", "r253" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.", "label": "Derivative Instruments, Gain (Loss) [Table Text Block]", "terseLabel": "Derivative Instruments, Gain (Loss)" } } }, "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": { "auth_ref": [ "r249" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.", "label": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]", "terseLabel": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value" } } }, "localname": "ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r208" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "terseLabel": "Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision" } } }, "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r171", "r194", "r200" ], "lang": { "en-US": { "role": { "documentation": "Schedule that sets forth the allocation of equity-based compensation costs to a given line item on the balance sheet and income statement for the period. This may include the reporting line for the costs and the amount capitalized and expensed.", "label": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r171", "r194", "r200" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the allocation of equity-based compensation costs to a given line item on the balance sheet and income statement for the period. This may include the reporting line for the costs and the amount capitalized and expensed.", "label": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block]", "verboseLabel": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": { "auth_ref": [ "r105" ], "lang": { "en-US": { "role": { "documentation": "Tabular presentation of the description and amount of revenues from a product or service, or a group of similar products or similar services, reported from external customers during the period, if the information is not provided as part of the reportable operating segment information.", "label": "Revenue from External Customers by Products and Services [Table]", "terseLabel": "Revenue from External Customers by Products and Services [Table]" } } }, "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": { "auth_ref": [ "r105" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.", "label": "Revenue from External Customers by Products and Services [Table Text Block]", "terseLabel": "Revenue from External Customers by Products and Services" } } }, "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r259" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).", "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "terseLabel": "Assets and Liabilities Measured at Fair Value on a Recurring Basis" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r134", "r136" ], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r134", "r136" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of Intangible Assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r5", "r21", "r22", "r23" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Schedule of Inventory, Current [Table Text Block]", "terseLabel": "Schedule of Inventories" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/InventoriesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": { "auth_ref": [ "r182" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock units.", "label": "Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]", "terseLabel": "Schedule of Nonvested Restricted Stock Units Activity" } } }, "localname": "ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r149" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.", "label": "Schedule of Product Warranty Liability [Table Text Block]", "terseLabel": "Changes in Warranty Obligations" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/WarrantyObligationsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r172", "r197" ], "lang": { "en-US": { "role": { "documentation": "Components of an equity-based arrangement under which compensation is awarded to employees, typically comprised of compensation expense; changes in the quantity and fair value of the shares (or other type of equity) granted, exercised, forfeited, and issued and outstanding pertaining to that plan; and cash flow effects resulting from the equity-based payment arrangement. Component disclosures are by type of award and plan name.", "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r175", "r184", "r186" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-based Compensation, Stock Options, Activity [Table Text Block]", "terseLabel": "Summary of Stock Option Activity" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r189" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "terseLabel": "Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock": { "auth_ref": [ "r121" ], "lang": { "en-US": { "role": { "documentation": "For all investments in an unrealized loss position, including those for which other-than-temporary impairments have not been recognized in earnings (including investments for which a portion of an other-than-temporary impairment has been recognized in other comprehensive income), a tabular disclosure of the aggregate related fair value of investments with unrealized losses and the aggregate amount of unrealized losses (that is, the amount by which amortized cost basis exceeds fair value).", "label": "Schedule of Unrealized Loss on Investments [Table Text Block]", "terseLabel": "Gross Unrealized Losses and Fair Values for Available-for-Sale Investments" } } }, "localname": "ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": { "auth_ref": [ "r99" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).", "label": "Schedule of Weighted Average Number of Shares [Table Text Block]", "terseLabel": "Calculation of Weighted-Average Shares" } } }, "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r136" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Intangible Assets, Future Amortization Expense" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/IntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r68", "r126" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": { "order": 3.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.", "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general, and administrative expenses" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r173" ], "lang": { "en-US": { "role": { "documentation": "Period which an employee's right to exercise an award is no longer contingent on satisfaction of either a service condition, market condition or a performance condition, 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 Vesting Period", "terseLabel": "Vesting period for stock option plans" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r183" ], "lang": { "en-US": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r183" ], "lang": { "en-US": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r192" ], "lang": { "en-US": { "role": { "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "terseLabel": "Expected dividend yield" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r191" ], "lang": { "en-US": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate", "terseLabel": "Expected volatility" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r193" ], "lang": { "en-US": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "terseLabel": "Risk-free rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based 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/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r197" ], "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 grant under stock option plans" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]", "terseLabel": "Weighted- Average Remaining Contractual Term (in years)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r178" ], "lang": { "en-US": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "terseLabel": "Exercisable as of reporting date, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r178" ], "lang": { "en-US": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": { "auth_ref": [ "r181" ], "lang": { "en-US": { "role": { "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period", "negatedLabel": "Forfeited or expired, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r181" ], "lang": { "en-US": { "role": { "documentation": "Weighted average price of options that were either forfeited or expired.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price", "terseLabel": "Forfeited or expired, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": { "auth_ref": [ "r179" ], "lang": { "en-US": { "role": { "documentation": "Net 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, Net of Forfeitures", "terseLabel": "Granted, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r185" ], "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 values, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r197" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Outstanding, in dollars" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r177", "r197" ], "lang": { "en-US": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Outstanding, shares", "periodStartLabel": "Outstanding, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Shares (in thousands)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r176" ], "lang": { "en-US": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Outstanding, shares", "periodStartLabel": "Outstanding, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Weighted- Average Exercise Price" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": { "auth_ref": [ "r188" ], "lang": { "en-US": { "role": { "documentation": "Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number", "terseLabel": "Options vested or expected to vest as of reporting date, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "auth_ref": [ "r186" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value", "terseLabel": "Options vested or expected to vest, in dollars" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r187" ], "lang": { "en-US": { "role": { "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price", "terseLabel": "Weighted- Average Remaining Contractual Term (in years)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": { "auth_ref": [ "r197" ], "lang": { "en-US": { "role": { "documentation": "Number of share instruments newly issued under a share-based compensation plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period", "terseLabel": "Issuance of common stock under stock plans (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r170", "r174" ], "lang": { "en-US": { "role": { "documentation": "Equity-based compensation award.", "label": "Equity Award [Domain]", "terseLabel": "Equity Award [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "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": "Exercised, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Granted, in dollars per share" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareRepurchaseProgramAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by share repurchase program.", "label": "Share Repurchase Program [Axis]", "terseLabel": "Share Repurchase Program [Axis]" } } }, "localname": "ShareRepurchaseProgramAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ShareRepurchaseProgramDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Name of the share repurchase program.", "label": "Share Repurchase Program [Domain]", "terseLabel": "Share Repurchase Program [Domain]" } } }, "localname": "ShareRepurchaseProgramDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetail" ], "xbrltype": "domainItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r190", "r199" ], "lang": { "en-US": { "role": { "documentation": "Expected term of share-based compensation awards, 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, Fair Value Assumptions, Expected Term", "terseLabel": "Expected term (in years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r197" ], "lang": { "en-US": { "role": { "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Exercisable, in years" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r187" ], "lang": { "en-US": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Outstanding, in years" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r187" ], "lang": { "en-US": { "role": { "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Options vested or expected to vest, in years" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "durationItemType" }, "us-gaap_ShortTermInvestmentsMember": { "auth_ref": [ "r302", "r303", "r312", "r323" ], "lang": { "en-US": { "role": { "documentation": "Investments which are not otherwise included in another category or item that the entity has the intent to sell or dispose of within one year from the date of the balance sheet.", "label": "Short-term Investments [Member]", "terseLabel": "Short-Term Investments" } } }, "localname": "ShortTermInvestmentsMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r88" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SovereignDebtMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Debt securities that are issued or guaranteed by a national government.", "label": "Sovereign Debt [Member]", "terseLabel": "Sovereign Debt [Member]" } } }, "localname": "SovereignDebtMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_SovereignDebtSecuritiesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Debt security issued by foreign government (not within the country of domicile of the entity).", "label": "Sovereign Debt Securities [Member]", "terseLabel": "Sovereign Bonds" } } }, "localname": "SovereignDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "domainItemType" }, "us-gaap_StateAdministrationOfTaxationChinaMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Designated tax department of the government of China.", "label": "State Administration of Taxation, China [Member]", "terseLabel": "State Administration of Taxation, China" } } }, "localname": "StateAdministrationOfTaxationChinaMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r34", "r151" ], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "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": "Statement [Line Items]", "terseLabel": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Comprehensive Income [Abstract]" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r10", "r11", "r151", "r152", "r180" ], "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", "negatedLabel": "Exercised, shares" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r34", "r151", "r152" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Issuance of common stock under stock plans" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockOptionPlanExpense": { "auth_ref": [ "r80" ], "calculation": { "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The noncash expense that accounts for the value of stock or unit options distributed to employees as compensation.", "label": "Stock or Unit Option Plan Expense", "terseLabel": "Stock-based compensation expense" } } }, "localname": "StockOptionPlanExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" ], "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": "Authorized common stock to be repurchased" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount remaining of a stock repurchase plan authorized.", "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "terseLabel": "Stock Repurchase Program, Remaining Authorized Repurchase Amount" } } }, "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgramDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedDuringPeriodShares": { "auth_ref": [ "r10", "r11", "r151", "r152" ], "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", "negatedLabel": "Repurchase of common stock (in shares)", "verboseLabel": "Repurchase of common stock (in shares)" } } }, "localname": "StockRepurchasedDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity", "http://www.cognex.com/role/StockRepurchaseProgramDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedDuringPeriodValue": { "auth_ref": [ "r10", "r11", "r151", "r152" ], "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", "negatedLabel": "Repurchase of common stock", "terseLabel": "Stock repurchased during period, value" } } }, "localname": "StockRepurchasedDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity", "http://www.cognex.com/role/StockRepurchaseProgramDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r11", "r15", "r16", "r109" ], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Ending Balance", "periodStartLabel": "Beginning Balance", "totalLabel": "Total shareholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets", "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Shareholders\u2019 equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r157" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.", "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Stock Repurchase Program" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/StockRepurchaseProgram" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubsequentEventLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.", "label": "Subsequent Event [Line Items]", "terseLabel": "Subsequent Event [Line Items]" } } }, "localname": "SubsequentEventLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event [Member]", "terseLabel": "Subsequent Event" } } }, "localname": "SubsequentEventMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventTable": { "auth_ref": [ "r290" ], "lang": { "en-US": { "role": { "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.", "label": "Subsequent Event [Table]", "terseLabel": "Subsequent Event [Table]" } } }, "localname": "SubsequentEventTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r290" ], "lang": { "en-US": { "role": { "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Axis]", "terseLabel": "Subsequent Event Type [Axis]" } } }, "localname": "SubsequentEventTypeAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r290" ], "lang": { "en-US": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Domain]", "terseLabel": "Subsequent Event Type [Domain]" } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Subsequent Events [Abstract]" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r291" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.", "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent Events" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/SubsequentEvents" ], "xbrltype": "textBlockItemType" }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "auth_ref": [ "r297" ], "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/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "domainItemType" }, "us-gaap_TypeOfAdoptionMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Adoption and early adoption of sources of change to generally accepted accounting principles (GAAP) in the United States. The FASB released the FASB Accounting Standards Codification as the authoritative source of literature effective for interim and annual periods ending after September 15, 2009. As part of the Codification process, the FASB issues Accounting Standards Updates to amend the Codification but otherwise the Accounting Standards Updates are not authoritative in their own right. All previous accounting standards (such as FASB Statements of Financial Accounting Standards, FASB Interpretations, FASB Staff Positions, Emerging Issues Task Force Consensuses, other pronouncements of the FASB or other designated bodies, or other forms of GAAP are considered accounting pronouncements) were superseded upon the adoption of the Codification. For an interim period, references to the superseded standards are included to help users transition from the previous accounting hierarchy and will be removed from future versions of this taxonomy.", "label": "Type of Adoption [Domain]", "terseLabel": "Type of Adoption [Domain]" } } }, "localname": "TypeOfAdoptionMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_USTreasurySecuritiesMember": { "auth_ref": [ "r166", "r168", "r304" ], "lang": { "en-US": { "role": { "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years).", "label": "US Treasury Securities [Member]", "terseLabel": "Treasury Bills" } } }, "localname": "USTreasurySecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail", "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" ], "xbrltype": "domainItemType" }, "us-gaap_UnbilledReceivablesCurrent": { "auth_ref": [], "calculation": { "http://www.cognex.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.", "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled revenue" } } }, "localname": "UnbilledReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": { "auth_ref": [ "r210" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.", "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued", "terseLabel": "Interest and penalties, gross" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/TaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "auth_ref": [ "r97" ], "calculation": { "http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.", "label": "Weighted Average Number Diluted Shares Outstanding Adjustment", "terseLabel": "Effect of dilutive equity awards" } } }, "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r93", "r97" ], "calculation": { "http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-US": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted (shares)", "totalLabel": "Weighted-average common and common-equivalent shares outstanding" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations", "http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted-average common and common-equivalent shares outstanding:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r92", "r97" ], "calculation": { "http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail": { "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 (shares)", "verboseLabel": "Basic weighted-average common shares outstanding" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.cognex.com/role/ConsolidatedStatementsOfOperations", "http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" ], "xbrltype": "sharesItemType" } }, "unitCount": 11 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6676-107765" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6676-107765" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109256448&loc=d3e4984-109258" }, "r101": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=109225645&loc=SL77927221-108306" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9031-108599" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "a", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9038-108599" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9038-108599" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84173941&loc=d3e5074-111524" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=109979856&loc=d3e26610-111562" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=109979856&loc=d3e26626-111562" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27161-111563" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27161-111563" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27161-111563" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27161-111563" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27161-111563" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27161-111563" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27198-111563" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27198-111563" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27232-111563" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27290-111563" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27337-111563" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27340-111563" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)-(d)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27357-111563" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27357-111563" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "30", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=68048583&loc=d3e3636-108311" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=68049868&loc=d3e3927-108312" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.BB)", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729" }, "r129": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "http://asc.fasb.org/topic&trid=2126998" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=77989000&loc=SL49117168-202975" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r141": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(2))", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(3))", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(5)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "460", "URI": "http://asc.fasb.org/topic&trid=2155896" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=27012166&loc=d3e187085-122770" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23285-112656" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23309-112656" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656" }, "r157": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130539-203045" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130543-203045" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130545-203045" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130549-203045" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=108792157&loc=SL49130690-203046-203046" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=108792157&loc=SL49130690-203046-203046" }, "r164": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r165": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "710", "URI": "http://asc.fasb.org/topic&trid=2127225" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e1928-114920" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e1928-114920" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=112275985&loc=d3e4179-114921" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=79507207&loc=d3e4534-113899" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5047-113901" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5047-113901" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5047-113901" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(3)-(4)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=SL79508275-113901" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6676-107765" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109196918&loc=d3e11149-113907" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109196918&loc=d3e11178-113907" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e31917-109318" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e31928-109318" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e31931-109318" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e31958-109318" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32698-109319" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32840-109319" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "217", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=109238393&loc=d3e36027-109320" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=34349781&loc=d3e330036-122817" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=109238882&loc=d3e38679-109324" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5504-128473" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=109124213&loc=d3e6578-128477" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=109124213&loc=d3e6613-128477" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=6911338&loc=d3e6819-128478" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e7008-128479" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569643-111683" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=6945355&loc=d3e41228-113958" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579240-113959" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579245-113959" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579245-113959" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579245-113959" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5580258-113959" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41620-113959" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41638-113959" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(c)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624171-113959" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "4E", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624181-113959" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41641-113959" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41678-113959" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "182", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109975725&loc=SL5629052-113961" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "25", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109977999&loc=d3e76258-113986" }, "r258": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "815", "URI": "http://asc.fasb.org/topic&trid=2229140" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19190-110258" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.1)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "2C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=SL7498348-110258" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19279-110258" }, "r267": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "820", "URI": "http://asc.fasb.org/topic&trid=2155941" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=109250915&loc=d3e13433-108611" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30690-110894" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.12)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30700-110894" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450222&loc=d3e30840-110895" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b,c)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=109240241&loc=d3e32211-110900" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=109240241&loc=d3e32211-110900" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918643-209977" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918666-209980" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.17)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918701-209980" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888399&loc=SL77918982-209971" }, "r286": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/subtopic&trid=77888251" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888421&loc=SL77919311-209978" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888428&loc=SL77919396-209981" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888428&loc=SL77919372-209981" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r291": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "http://asc.fasb.org/topic&trid=2122774" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=SL51823488-111719" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=68078379&loc=d3e122625-111746" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6801-107765" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(4))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(5))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(6)(a)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15(5))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=114873765&loc=SL114874048-224260" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=114873765&loc=SL114874048-224260" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=75019621&loc=d3e62557-112803" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(a)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=75019621&loc=d3e62586-112803" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=75019621&loc=d3e62586-112803" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "405", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6957935&loc=d3e64057-112817" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(1)(g))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(a))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(11))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=114873790&loc=SL114874131-224263" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=114873790&loc=SL114874131-224263" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=114873790&loc=SL114874131-224263" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=99384497&loc=SL65671331-158438" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=6484115&loc=d3e19393-158473" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(2)(i))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=50485924&loc=d3e611133-123010" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12C(1)(a))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=50485924&loc=d3e611225-123010" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13(1))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=50485924&loc=d3e611282-123010" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-15(Column A))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=50485924&loc=d3e611379-123010" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "http://asc.fasb.org/extlink&oid=6589523&loc=d3e617274-123014" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=6590653&loc=d3e638233-123024" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756" }, "r331": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r332": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r333": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-13" }, "r334": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1-" }, "r335": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r336": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.9)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6935-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225877-175312" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226000-175313" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669646-108580" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669646-108580" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669646-108580" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669646-108580" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669646-108580" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e637-108580" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e640-108580" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e681-108580" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669686-108580" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e689-108580" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "17A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL34724391-108580" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "17B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL34724394-108580" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669619-108580" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669619-108580" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669619-108580" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669625-108580" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669625-108580" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e557-108580" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(13))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868656-224227" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(21))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3179-108585" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3213-108585" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3213-108585" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3213-108585" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3255-108585" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3291-108585" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3521-108585" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3536-108585" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3044-108585" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4304-108586" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(h)(1)(i))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(h)(2))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(n)(2))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r88": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(24))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r91": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "250", "URI": "http://asc.fasb.org/topic&trid=2122394" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1448-109256" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1505-109256" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1252-109256" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=SL5780133-109256" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1337-109256" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" } }, "version": "2.1" } XML 16 R34.htm IDEA: XBRL DOCUMENT v3.19.3
Stock-Based Compensation Expense (Tables)
9 Months Ended
Sep. 29, 2019
Disclosure of Compensation Related Costs, Share-based Payments [Abstract]  
Summary of Stock Option Activity
The following table summarizes the Company’s stock option activity for the nine-month period ended September 29, 2019:
 
Shares
(in thousands)
 
Weighted-
Average
Exercise
Price
 
Weighted-
Average
Remaining
Contractual
Term (in years)
 
Aggregate
Intrinsic
Value
(in thousands)
Outstanding as of December 31, 2018
13,789

 
$
31.73

 
 
 
 
Granted
2,879

 
51.22

 
 
 
 
Exercised
(1,475
)
 
21.53

 
 
 
 
Forfeited or expired
(726
)
 
41.79

 
 
 
 
Outstanding as of September 29, 2019
14,467

 
$
36.14

 
7.19
 
$
203,774

Exercisable as of September 29, 2019
5,714

 
$
25.33

 
5.73
 
$
134,913

Options vested or expected to vest as of September 29, 2019 (1)
13,116

 
$
34.90

 
7.04
 
$
199,066

 (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.
Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted
The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:
 
Three-months Ended
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Risk-free rate
2.7
%
 
2.9
%
 
2.7
%
 
2.9
%
Expected dividend yield
0.39
%
 
0.32
%
 
0.39
%
 
0.32
%
Expected volatility
37
%
 
39
%
 
37
%
 
39
%
Expected term (in years)
5.1

 
5.4

 
5.2

 
5.3


Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs
The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):
 
Three-months Ended
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Cost of revenue
$
334

 
$
544

 
$
1,114

 
$
1,898

Research, development, and engineering
3,616

 
3,197

 
11,633

 
11,166

Selling, general, and administrative
6,244

 
5,402

 
20,695

 
18,275

 
$
10,194

 
$
9,143

 
$
33,442

 
$
31,339


Schedule of Nonvested Restricted Stock Units Activity
The following table summarizes the Company's RSUs activity for the nine-month period ended September 29, 2019:
 
Shares (in thousands)
 
Weighted-Average Grant Date Fair Value
Nonvested as of December 31, 2018

 
$

Granted
75

 
45.20

Vested

 

Forfeited or expired

 

Nonvested as of September 29, 2019
75

 
$
45.20


XML 17 R30.htm IDEA: XBRL DOCUMENT v3.19.3
Intangible Assets (Tables)
9 Months Ended
Sep. 29, 2019
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Intangible Assets
Amortized intangible assets consisted of the following (in thousands):
 
Gross
Carrying
Value
 
Accumulated
Amortization
 
Net
Carrying
Value
Distribution networks
$
38,060

 
$
38,060

 
$

Completed technologies
13,687

 
8,261

 
5,426

Customer relationships
8,607

 
6,101

 
2,506

Non-compete agreements
370

 
308

 
62

Balance as of September 29, 2019
$
60,724

 
$
52,730

 
$
7,994

 
 
 
 
 
 
 
Gross
Carrying
Value
 
Accumulated
Amortization
 
Net
Carrying
Value
Distribution networks
$
38,060

 
$
38,060

 
$

Completed technologies
13,687

 
6,619

 
7,068

Customer relationships
8,607

 
5,716

 
2,891

Non-compete agreements
370

 
216

 
154

Balance as of December 31, 2018
$
60,724

 
$
50,611

 
$
10,113


Schedule of Intangible Assets, Future Amortization Expense
As of September 29, 2019, estimated future amortization expense related to intangible assets is as follows (in thousands):
Year Ended December 31,
 
Amount
Remainder of fiscal 2019
 
$
582

2020
 
2,185

2021
 
2,017

2022
 
1,691

2023
 
989

2024
 
422

Thereafter
 
108

 
 
$
7,994


XML 18 R4.htm IDEA: XBRL DOCUMENT v3.19.3
Consolidated Statements of Comprehensive Income (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Statement of Comprehensive Income [Abstract]        
Tax effect on cash flow hedges $ 0 $ 0 $ 0 $ 0
Tax effect of unrealized gain (loss) on available-for-sale investments (5) 24 502 (82)
Tax effect of foreign currency translation adjustment $ 0 $ 0 $ 0 $ 0
XML 19 R13.htm IDEA: XBRL DOCUMENT v3.19.3
Cash, Cash Equivalents, and Investments
9 Months Ended
Sep. 29, 2019
Cash and Cash Equivalents [Abstract]  
Cash, Cash Equivalents, and Investments Cash, Cash Equivalents, and Investments
Cash, cash equivalents, and investments consisted of the following (in thousands):
 
September 29, 2019
 
December 31, 2018
Cash
$
105,620

 
$
104,655

Money market instruments
16,081

 
3,557

Cash and cash equivalents
121,701

 
108,212

Treasury bills
105,454

 
198,477

Asset-backed securities
89,576

 
78,407

Corporate bonds
87,209

 
137,871

Sovereign bonds
6,300

 
8,101

Municipal bonds
3,533

 
4,492

Current investments
292,072

 
427,348

Treasury bills
256,615

 
32,760

Corporate bonds
167,998

 
162,566

Asset-backed securities
56,816

 
53,631

Sovereign bonds
16,000

 
6,316

Agency bonds
5,905

 
5,921

Municipal bonds
1,307

 
845

Non-current investments
504,641

 
262,039

 
$
918,414

 
$
797,599



Treasury bills consist of debt securities issued by the U.S. government; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; corporate bonds consist of debt securities issued by both domestic and foreign companies; sovereign bonds consist of direct debt issued by foreign governments; municipal bonds consist of debt securities issued by state and local government entities; agency bonds consist of domestic or foreign obligations of government agencies and government sponsored enterprises that have government backing. All securities are denominated in U.S. Dollars.
The following table summarizes the Company’s available-for-sale investments as of September 29, 2019 (in thousands):
 
Amortized
Cost
 
Gross
Unrealized
Gains
 
Gross
Unrealized
Losses
 
Fair Value
Current:
 
 
 
 
 
 

Treasury bills
$
105,254

 
$
212

 
$
(12
)
 
$
105,454

Asset-backed securities
89,226

 
359

 
(9
)
 
89,576

Corporate bonds
86,990

 
222

 
(3
)
 
87,209

Sovereign bonds
6,286

 
14

 

 
6,300

Municipal bonds
3,535

 

 
(2
)
 
3,533

Non-current:
 
 
 
 
 
 

Treasury bills
255,441

 
1,253

 
(79
)
 
256,615

Corporate bonds
167,464

 
584

 
(50
)
 
167,998

Asset-backed securities
56,636

 
195

 
(15
)
 
56,816

Sovereign bonds
15,969

 
43

 
(12
)
 
16,000

Agency bonds
5,930

 

 
(25
)
 
5,905

Municipal bonds
1,300

 
7

 

 
1,307

 
$
794,031

 
$
2,889

 
$
(207
)
 
$
796,713


The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of September 29, 2019 (in thousands):
 
Unrealized Loss Position For:
 
 
 
Less than 12 Months
 
12 Months or Greater
 
Total
 
Fair Value
 
Unrealized
Losses
 
Fair Value
 
Unrealized
Losses
 
Fair Value
 
Unrealized
Losses
Treasury bills
$
108,863

 
$
(91
)
 
$

 
$

 
$
108,863

 
$
(91
)
Corporate bonds
23,263

 
(17
)
 
20,713

 
(36
)
 
43,976

 
(53
)
Asset-backed securities
11,149

 
(15
)
 
8,093

 
(9
)
 
19,242

 
(24
)
Sovereign bonds
11,558

 
(12
)
 

 

 
11,558

 
(12
)
Agency bonds
5,905

 
(25
)
 

 

 
5,905

 
(25
)
Municipal bonds

 

 
343

 
(2
)
 
343

 
(2
)
 
$
160,738


$
(160
)

$
29,149


$
(47
)

$
189,887


$
(207
)

As of September 29, 2019, the Company did not recognize any other-than-temporary impairment of these investments. In its evaluation, management considered the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, the Company's intent and ability to hold the security to expected recovery of value, and other meaningful information. The Company does not intend to sell, and is unlikely to be required to sell, any of these available-for-sale investments before their effective maturity or market price recovery.
The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $361,000 and $67,000, respectively, during the three-month period ended September 29, 2019 and $283,000 and $17,000, respectively, during the three-month period ended September 30, 2018. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $818,000 and $103,000, respectively, during the nine-month period ended September 29, 2019 and $646,000 and $111,000, respectively, during the nine-month period ended September 30, 2018. These gains and losses are included in "Investment income" on the Consolidated Statements of Operations. Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders’ equity as accumulated other comprehensive loss.
The following table presents the effective maturity dates of the Company’s available-for-sale investments as of September 29, 2019 (in thousands):
 
<1 year
 
1-2 Years
 
2-3 Years
 
3-4 Years
 
4-5 Years
 
Total
Treasury bills
$
105,454

 
$
188,398

 
$
68,217

 
$

 
$

 
$
362,069

Corporate bonds
87,209

 
115,941

 
47,842

 
1,348

 
2,867

 
255,207

Asset-backed securities
89,576

 
21,425

 
26,142

 
7,633

 
1,616

 
146,392

Sovereign bonds
6,300

 
16,000

 

 

 

 
22,300

Agency bonds

 

 
5,905

 

 

 
5,905

Municipal bonds
3,533

 

 
1,307

 

 

 
4,840

 
$
292,072


$
341,764


$
149,413


$
8,981


$
4,483


$
796,713


XML 20 R8.htm IDEA: XBRL DOCUMENT v3.19.3
Consolidated Statement of Shareholders' Equity - USD ($)
shares in Thousands, $ in Thousands
Total
Common Stock
Additional Paid-in Capital
Retained Earnings
Accumulated Other Comprehensive Loss
Beginning Balance (in shares) at Dec. 31, 2017   173,507      
Beginning Balance at Dec. 31, 2017 $ 1,095,673 $ 347 $ 461,338 $ 668,587 $ (34,599)
Increase (Decrease) in Stockholders' Equity          
Issuance of common stock under stock plans (in shares)   1,434      
Issuance of common stock under stock plans 25,882 $ 3 25,879    
Repurchase of common stock (in shares)   (2,750)      
Repurchase of common stock (142,262) $ (5)   (142,257)  
Stock-based compensation expense 31,339   31,339    
Payment of dividends (23,283)     (23,283)  
Net income 173,849     173,849  
Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82) (180)       (180)
Reclassification of net realized (gain) loss on the sale of available-for-sale investments (535)       (535)
Foreign currency translation adjustment (5,078)       (5,078)
Ending Balance (in shares) at Sep. 30, 2018   172,191      
Ending Balance at Sep. 30, 2018 1,149,444 $ 345 518,556 670,935 (40,392)
Beginning Balance (in shares) at Jul. 01, 2018   172,032      
Beginning Balance at Jul. 01, 2018 1,079,132 $ 344 498,343 619,212 (38,767)
Increase (Decrease) in Stockholders' Equity          
Issuance of common stock under stock plans (in shares)   553      
Issuance of common stock under stock plans 11,071 $ 1 11,070    
Repurchase of common stock (in shares)   (394)      
Repurchase of common stock (20,954) $ 0   (20,954)  
Stock-based compensation expense 9,143   9,143    
Payment of dividends (7,759)     (7,759)  
Net income 80,436     80,436  
Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82) 522       522
Reclassification of net realized (gain) loss on the sale of available-for-sale investments (266)       (266)
Foreign currency translation adjustment (1,881)       (1,881)
Ending Balance (in shares) at Sep. 30, 2018   172,191      
Ending Balance at Sep. 30, 2018 $ 1,149,444 $ 345 518,556 670,935 (40,392)
Beginning Balance (in shares) at Dec. 31, 2018 170,820 170,820      
Beginning Balance at Dec. 31, 2018 $ 1,135,263 $ 342 529,208 646,214 (40,501)
Increase (Decrease) in Stockholders' Equity          
Issuance of common stock under stock plans (in shares)   1,475      
Issuance of common stock under stock plans 31,780 $ 3 31,777    
Repurchase of common stock (in shares)   (1,398)      
Repurchase of common stock (61,690) $ (3)   (61,687)  
Stock-based compensation expense 33,442   33,442    
Payment of dividends (25,682)     (25,682)  
Net income 123,538     123,538  
Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82) 4,827       4,827
Reclassification of net realized (gain) loss on the sale of available-for-sale investments (716)       (716)
Foreign currency translation adjustment $ (1,544)       (1,544)
Ending Balance (in shares) at Sep. 29, 2019 170,897 170,897      
Ending Balance at Sep. 29, 2019 $ 1,239,218 $ 342 594,427 682,383 (37,934)
Beginning Balance (in shares) at Jun. 30, 2019   170,661      
Beginning Balance at Jun. 30, 2019 1,191,640 $ 341 578,871 649,234 (36,806)
Increase (Decrease) in Stockholders' Equity          
Issuance of common stock under stock plans (in shares)   236      
Issuance of common stock under stock plans 5,363 $ 1 5,362    
Stock-based compensation expense 10,194   10,194    
Payment of dividends (8,536)     (8,536)  
Net income 41,685     41,685  
Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82) 265       265
Reclassification of net realized (gain) loss on the sale of available-for-sale investments (294)       (294)
Foreign currency translation adjustment $ (1,099)       (1,099)
Ending Balance (in shares) at Sep. 29, 2019 170,897 170,897      
Ending Balance at Sep. 29, 2019 $ 1,239,218 $ 342 $ 594,427 $ 682,383 $ (37,934)
XML 21 R17.htm IDEA: XBRL DOCUMENT v3.19.3
Warranty Obligations
9 Months Ended
Sep. 29, 2019
Product Warranties Disclosures [Abstract]  
Warranty Obligations Warranty Obligations
The Company records the estimated cost of fulfilling product warranties at the time of sale based upon historical costs to fulfill claims. Obligations may also be recorded subsequent to the time of sale whenever specific events or circumstances impacting product quality become known that would not have been taken into account using historical data. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and third-party contract manufacturers, the Company’s warranty obligation is affected by product failure rates, material usage, and service delivery costs incurred in correcting a product failure. An adverse change in any of these factors may result in the need for additional warranty provisions. Warranty obligations are included in “Accrued expenses” on the Consolidated Balance Sheets.
The changes in the warranty obligation were as follows (in thousands):
Balance as of December 31, 2018
$
4,743

Provisions for warranties issued during the period
3,301

Fulfillment of warranty obligations
(2,770
)
Balance as of September 29, 2019
$
5,274


XML 22 R21.htm IDEA: XBRL DOCUMENT v3.19.3
Stock Repurchase Program
9 Months Ended
Sep. 29, 2019
Equity [Abstract]  
Stock Repurchase Program Stock Repurchase Program
In October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of September 29, 2019, the Company repurchased 1,601,000 shares at a cost of $70,312,000 under this program, including 1,398,000 shares at a cost of $61,690,000 during the nine-month period ended September 29, 2019. The Company may repurchase shares under this program in future periods, up to the remaining balance of $129,688,000, depending upon a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.
XML 23 R25.htm IDEA: XBRL DOCUMENT v3.19.3
Summary of Significant Accounting Policies (Policies)
9 Months Ended
Sep. 29, 2019
Accounting Policies [Abstract]  
Leases
As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form 10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). As a result of the adoption of ASC 842 "Leases," Cognex Corporation (the "Company") has provided new disclosures related to leases in this Quarterly Report on Form 10-Q. Reference should be made to the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2018 for a full description of other significant accounting policies.
In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, and financial statement reclassifications necessary to present fairly the Company’s financial position as of September 29, 2019, and the results of its operations for the three-month and nine-month periods ended September 29, 2019 and September 30, 2018, and changes in shareholders’ equity, comprehensive income, and cash flows for the periods presented.
The results disclosed in the Consolidated Statements of Operations for the three-month and nine-month periods ended September 29, 2019 are not necessarily indicative of the results to be expected for the full year.
Leases
The Company accounts for leases in accordance with Accounting Standard Codification (ASC) 842, "Leases." The core principle of ASC 842 is that a lessee should recognize on the balance sheet the assets and liabilities that arise from leases.
At inception of a contract, the Company determines whether that contract is or contains a lease. The Company determines whether a contract contains a lease by assessing whether there is an identified asset and whether the contract conveys the right to control the use of the identified asset for a period of time in exchange for consideration. The Company has control of the asset if it has the right to direct the use of the asset and obtains substantially all of the economic benefits from the use of the asset throughout the period of use.
As a practical expedient, the Company does not recognize a lease asset or lease liability for leases with a lease term of 12 months or less. In the determination of the lease term, the Company considers the existence of extension or termination options and the probability of those options being exercised.
Lease contracts may include lease components and non-lease components, such as common area maintenance and utilities for property leases. As a practical expedient, the Company accounts for the non-lease components together with the lease components as a single lease component for all of its leases.

The Company classifies a lease as a finance lease when it meets any of the following criteria at the lease commencement date: a) the lease transfers ownership of the underlying asset to the Company by the end of the lease term; b) the lease grants the Company an option to purchase the underlying asset that the Company is reasonably certain to exercise; c) the lease term is for the major part of the remaining economic life of the underlying asset (the Company considers a major part to be 75% or more of the remaining economic life of the underlying asset); d) the present value of the sum of the lease payments and any residual value guaranteed by the Company equals or exceeds substantially all of the fair value of the underlying asset (the Company considers substantially all the fair value to be 90% or more of the fair value of the underlying asset amount); or e) the underlying asset is of such a specialized nature that it is expected to have no alternative use to the lessor at the end of the lease term. When none of the criteria above are met, the Company classifies the lease as an operating lease.
On the lease commencement date, the Company records a lease asset and lease liability on the balance sheet. The lease asset consists of: 1) the amount of the initial lease liability; 2) any lease payments made to the lessor at or before the lease commencement date, minus any lease incentives received; and 3) any initial direct cost incurred by the Company. Initial direct costs are incremental costs of a lease that would not have been incurred if the lease had not been obtained and are capitalized as part of the lease asset.
The lease liability equals the present value of the future cash payments discounted using the Company's incremental borrowing rate. The Company’s incremental borrowing rate is the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments over a similar term, which is the three-month London Interbank Offered Rate (LIBOR) plus a 2.5% credit risk spread.

Operating lease expense equals the total cash payments recognized on a straight-line basis over the lease term. The amortization of the lease asset is calculated as the straight-line lease expense less the accretion of the interest on the lease liability each period. The lease liability is reduced by the cash payment less the interest each period.
New Pronouncements ew Pronouncements
Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"
ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).  The amendments in this ASU eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity’s current estimate of all expected credit losses. In addition, this ASU broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.  The amendments in this ASU require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income. For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.  This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective. As of the date of this report, management is in the process of completing the implementation of this ASU, including finalizing the internal credit losses policy and the related processes, internal control, and disclosures. Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.
Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities"
ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium). The amendments in this ASU shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date. The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity. Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium. The amendments in this ASU more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities. For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020. This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle. Early adoption is permitted, including adoption in an interim period. Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.
Accounting Standards Update (ASU) 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software"
ASU 2018-15 applies to entities that are a customer in a hosting arrangement that is a service contract. The amendments in this ASU align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software. Accordingly, the amendments in this ASU require an entity in a hosting arrangement that is a service contract to follow the guidance in Subtopic 350-40 to determine which implementation costs to capitalize as an asset related to the service contract and which costs to expense. Further, it requires the entity to expense the capitalized implementation costs over the term of the hosting arrangement. In addition, it requires the presentation of the expenses related to the capitalized implementation costs in the same line item in the statement of income as the fees associated with the hosting element of the arrangement and the classification of the payments for the capitalized implementation costs in the statement of cash flows in the same manner as the payments made for the fees associated with the hosting element. The amendments in this ASU are effective for public entities for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted. Management does not expect ASU 2018-15 to have a material impact on the Company's financial statements and disclosures.
XML 24 R29.htm IDEA: XBRL DOCUMENT v3.19.3
Leases (Tables)
9 Months Ended
Sep. 29, 2019
Leases [Abstract]  
Lessor, Operating Lease, Payments to be Received, Maturity [Table Text Block]
Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):
Year Ended December 31,
 
Amount
Remainder of fiscal 2019
 
$
77

2020
 
307

2021
 
307

2022
 
307

 
 
$
998


Lessee, Operating Lease, Liability, Maturity
Future operating lease cash payments are as follows (in thousands):
Year Ended December 31,
 
Amount
Remainder of fiscal 2019
 
$
1,650

2020
 
5,628

2021
 
4,314

2022
 
2,831

2023
 
1,988

2024
 
831

Thereafter
 
309

 
 
$
17,551


ZIP 25 0000851205-19-000012-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0000851205-19-000012-xbrl.zip M4$L#!!0 ( >!7$]:_A9>0@@ %TX ; 83DR.3(P,3DM,3!Q>&5X M:&EB:70S,3$N:'1M[5MM;]LX$O[<_@JNBUVD@!U9>:_C!LC;8G/8:WM%#L5] MI,21Q0LE:DG*CO?7WPPE.W)LIS:<[C5;!XAMDD-RWIZ9(67W?[KZ>'G[GT_7 M+'698I_^??'[S25K=8+@R_YE$%S=7K'?;O_Y.SO8[8;LUO#<2B=USE407']H ML5;J7-$+@M%HM#O:W]5F$-Q^#FBI@T!I;6%7.-$Z>]VGKK/7K_HI<('OK_H_ M=3KL2L=E!KECL0'N0+#2RGS O@BP=RQDGWZU+.(49FG8*1; M,",RN!UU3W9M[.W'OLJ%@WO7X4H.\IY7\1ILG1O)U6-ZWQQ5&T1:"5R@-@W; M#W?#66Z?8JS@0J _=)PN>N%1<=_D-$:W ;,IJWY! ;$VG+RZ5^8"#/&!*UU> M?[Z]^?7F\OSVYN.'#9C>D,76V4T;O3,"X]@_=MD7J10XUV8Q=LADS%S*7>]Y M=/K?TM*2FW,<_O(F/.J>SK_>L)0/@1D82A@AWETJ+?NCY 9MJ<;87V@44^?L M5VTR%G8[_V(Z0? /6R;P!;092CV8N-:N?;0U>I'P*;I-%*5" K2K1N7[[:SG)^8V98G2(SLQNH&!M [S MNV.<.BN^D]V1M9?WISLA<>GMC90'5/)@7622&SN MV+=>$3>,&_ J1Q7*2 &IA@':.5+2IC2#R#+$+V&8VD+:6&E;XCQ"MM&JTGUA M= P"NRW;054+0-M5^KR^CU.>#X"=(V@^EPHIPGW>"0]WH.(B/!15JVI*2H%Y M97-:GQ&R&JY0F89X67FC9&:C!#]_JMGS;%CR>M%>H ]F\ SJLI9R83!Y)X=+>T3&Z+Y5\3M!@_2'P MI#/D0W*LF*M:!>CZK;4JPPEF%"2N=[!?[;HF)';XVT>%8L7U8'6*>P!)NX[K-"@Q!B,O5BLI_#''EI&50G(C20!9)6*?37): MJ;24''U(LCZ3^EB+ARED",\V?E+!R5JEXI0B4"S/Q$.2Q1E5RFY6&O@I B+$ M*([S09PN< COO8%'TA903P,J>GF 6CEES.%J]62S,KP0DD,I"#7( M."H\"4K0> =ZY*WS.D#8*5Y^\[VN!BA+/%1;= ME2JL&,^"PC/@2]@!Y%@X*<08CD!!X"42+,\K'"'(98'Y#),'J6P[10>R"*GI:6:Z0CZKFXL+: PZ=(MYV"5C,FG MU$!GD^3KIS,634X]/A9 I0DZB-/B6]_?Q/?%2_#]J\JMYMV3+BOJPX0?68B! M-7('E5HZCDM#3MBH:Q:LFFGKL)]N G$MBSJ:7"6QG253$D031O5'U#7C>"@& M?\]"5S!Y.>7K;<55RNVT"*1\X-$'PB=*KX\ZB8V9DG>@ZDN71_3MC56T$N)6 M.7]73ON-SM_SU]+_=Y8.G_U*P-]EB@DRV@]!DF)VTSL?XB7YUQHUV-RQ8LH= MQZ.%T\9.RQ[?@4MFF70.X(F,%&DLK&A<2.3/+[*#/HP)P%*"P7_%]4BGD1)_]SA24ZKB@1973+1/=5L03$1%TB34_@(^!W M5/-4);NO>OQAP]^(3RXZUT):?5BN[O@6Q'$N<**%:1A?BLKZB()3##U5PJ#@ M"R^+59@PX.DIUE9/X#)#0\9^E.-O=I.J85U:# M>L;DW4G^E[E 07V[N5Q.,%&SCQ&ZE9<\&R8><5LA(.RB'!&"&DPGUDKQPD)O M\J'I("1& T9(@MOG[UM'K>6HJ4'V:G&(15;]W \"(D^XAU7 2F*HWV M3MK^:S+K2%HQ_Q<+>[*>K"=+R[^_B14OQFMYY]_=9G6LK=D.BWOF'Z&P-UW_ M]S)L&MA@_NL[RS+IDV'V&YJ;4CY]':"72H%)]SF^F+:^R;?RO5RX;FVWM=U? M$4VWD72+QBT:M[;[X6SW[)'TDP$KZ8+%7T=>IA(2=GT/<4E/E-G'ZEG'-KIN MY=O*MY7O1Y'OV:/LSJ?J*V)SOWH[ .6#>RY95D"/O7WW-D R9 "C?I;M.E,PW8.I+.ZW<> MLNG^=/'Q_.8_GRY9[!+%/OU^]O[ZG-4:0?#EX#P(+FXNV+]N?GW/#O>;(;LQ M/+7229UR%027'VJL%CN7=8)@/![OCP_VM1D&-Y\#6NHP4%I;V!=.U$Y?=NG6 MZ;LNW5G%J$QC,-*MF-$WN!W=GNY:V=N/?94+!W>NP94%TU@F/L[LJIQ&Z#9C'LNH7%!!I MP\FK.WDJP! ?N-+YY>>;ZZOK\][-]<_YM;)P>3QS)=.[VNL_<\ M-YS]RJ,+ J.HLP@,+8# 8IG"''R8K#7?RG0G<6B?P&;0&9P2^5#+>Y!!)$T M&*:1+,7IS$.$C6,9Q0!YAE)S$Y?:M?>V1B\2/F77B2)72(!VU:A\OYWU M_$3^DC:F&426('X) MPW0MI(V4MCG.(V0;K0K=9T9'(/"V97NH:@%HNT*?EW=1S-,AL!Z"YG.ND"(\ MX(WP: \*+L(C45P5EY)28EK8G-9GA*R**Q2F(5XVWFBPL-$ -R(Y[SL(4E < MWR+M/&CCX^U,7) 7YESD@*R!V@:E2B=[5VO6_+7->#2]WJ N9,L.Z+"V2R%BSO';]!]J01T@@;++X$G72 ?D6-%7)4J0->O;54I3C&C8. ZAP?%KEM" M8H^_OE@,7UT$U]KODZANJ4!B.>V\VG4#[J ^*AW*G( M<#HWN #&N9&T/GHB%:1^'2JQYG&W&KL-*.X!5J:X.4CJ95RG08DQ&'FQ6DGA MVQZ;]ZT4DAM) L@B$?MLDM)*N:7DZ$.2]9G4QUILKI A['7\I(R3M7+%*46@ M6)Z)>9+%&47*KE8:^*T/1(A1'.>#.%GA$-Y[ X^D': >!E3_^0%JXY2QA*O- MD\W&\$)(CJ0@U'"+70VY&K>(."H\"4KP04BR<%&(,1R C\!()EN<% MCA#D,L/\N4/2HY 4/0#P0"K;SE"![$KJNA99;E!/BHN5Q?6 M'C@X$7.)+@XVR9A\1@W4FPR^WIVQ_K3K\;$ "DU0(TZ+[WS_,;XO MGH/O7Q1NM>R>=%A1-A-^9"4&ML@=5&KI*,H-.6&EKEFQ:J*MP_MT,HAK6=31 M]"B)[:V9,D T852_1UTRCDTQ^',6.H))\QE?KPNN8FYG12#E X\^$#Y1>GV4 M26S"E+P%51ZZW*.O/UI%&R%ND_Z[<-IOU'\O'U/_[2P=/?F1@#_+%%-DU.=! MDF)VU3OG\9+\:XL:;*FMF'''L;5PVMA9V>-OX)))(IT#>" C]3465C0N)/+G M%]E#'\8$8"G!X"=_[-*,<^B\^\I+-%Q18DH MHU,F.J^*)" FRA)IUH&/@=]2S5.4[+[J\U@[ M#0P&[CKZ'_AT@Q[LGZ24KEXO2@^9CK0: =4?*1^6#X1,F:$@R92> (Z.8UWD M)+X )'3\)RG.]A]3=2PKJT*]8/+F-/_+5*"@_KJZ7$HP48N/$9J%ESP9)NYQ M6R @;*(*9A<[T2]5!2(P*C) $MT_?U8YKZU%3;/'FYPK$%H<. M6NO''A@Z7#\4KA\ZJDS;".*+J&VA.:KVJ5[WM7,Z6;CEWT+P=Q;=XKY*']_% M(*PZVP:&9R'91ZSC^F"*TJC5KOO79K:1M&#^+Q:VO9VL[;7EWP]BQ;/)5M[Y MH]NLC+4EVV%VQ_PC%/:JZ?\]#YL&-BA?WNGMS]_?69=*'XRSW]#>E//I?8!. M+ 5FW:=X4VU[F^_D>[YXW=EN9[N_(ISN0NG?;=(?7;X?&8X[VSU?VSUY*/VW MC(!],F EG;/X4\GI*]: W_QAD *SBZ\[^7;R[>3[I\CWY'%V[U/QFAA7[&IV MJD[1MC=_D^QC\6QYU5.+A2/VS7[RM?R[J>T>P3SA#]->= /Z,=[IRZ[_E>#I M_P!02P,$% @ !X%<3^K/KA"Z9HPO=>S8<.^[[LQ%$ M,N9P]N[H[8D#E9IA7#0HBNS3<1$F GT]ZSVHU& I_ M&M-$@I]1(FD TYPEEW 1T/PC6%"K78]T1+K(V&4DP3:M-ER([".[(JL1DDE. M^Z-YQ#PF>T9QB&#&$JWGB6 !N5QP^KH2BD360A(SONBX+*8YG-(9G(N8)%W= ME[._:<\12$B,<_/V8JIE&U&61#1CEX $:6*8&&G;=>KE)]TO, M4A($N"!J4J0=ZS"=KU/U<=W0['NY5OK.Z-P].3YQ!N[)^!37__GDW>#4!7=\ M?YH_@)75@G?U2=VI@]5HFM5_E"8C1Z>K;1["^!C<-R.8 M#,Z/!J>C26W\U]O1>Q@XKNJQ3=-^F/7V89I+%BZ^G[L;49@F $ M(M.S/H]*47U$ !1Y![ *Z*Y)HZFDL4>SYWO6H=FUVU4MYM]H[?E>P^ZN1^=< M.[(*3A5(#B'#,,",R4B[,Z'^%$5418HD 8SF?D222QV^U,@ ST8Z MO"*L0CCE& $?(\C5U&MS&?TT91E5)[!<90_-JY05WEF-??(",(Y6]JCE?)Y0EF*2X6",^QH8PM9980;\( M!82$Z=QE-%<\<-9"\SKP+\38#+';LV>K7E.0UEQUQM>8813XKC M=7.)"CG?E DU!DU*E5?U]7S(H^SE/BKXYWOP29L4!&^!7]\$2&JE'S M!>^66 B53PR>M*4UV8R$"]9=>]2S8%1.NW[FK,S:Y& MX^X^^^ZN@[N[FFL6MS"Z4HKF$[YT"N/D%/%&D[ZJT2V; MN7_H"Y]*?X@[JW/C+79>G4O56;*VTCGD@K, ]DS]]VOX;>0&RBNN7PF_U^&"<4ZEW!*) MKVO1#US& J%"+F:=B 5X^GF(N\/=EW+IWZ\K0V7N'H_BE&I3KMA2;S"X+7); I: )6 )6 *6@"5@ M"5@"_G_K'NROUCU\H4JA??C(JA0>YE;]Y2[/('X9KUQ5^;8LA?.+NJ@\4M5. MB9#@40@HC6FP*A;3E6'+6C%=[I9.LU3D=$LA5^O>Q5IH1N# ;,9R"OG4^X!V M5$V>FLP9\1AG?E+ZL!L3QB[703WJ& MJO_N/^WIPO3^/U!+ P04 " '@5Q/8<4ZTZD% U+@ &P &$Y,CDR M,#$Y+3$P<7AE>&AI8FET,S(R+FAT;>U::W/:.!3]W/Z*6S+;23N 'T 2'F6& M\)AF)@W9X&ZW'X4M8K6RYR7CA+S:D+3;)FLFP5BO<^Z]\K$EW\Z+ MP;CO?3P>0J@B#L?O]P\/^E"J6-:'6M^R!MX WGKO#J%>M1WP)(E3IIB(";>L MX5$)2J%222>6'JIN<2%26@U44.H^[^BB[O-GG9"2 (_/ M.B\J%1@(?Q[16($O*5$T@'G*XE/X$-#T,SA0J9RW[(MD*=EIJ,"UG29\$/(S M^TKR%HHI3KO#LY!-F>I8V2F"62NTSE0$2TC5DM,WI9F(565&(L:7+8]%-(4C MNH 3$9&X;>I2]@]M.7:BVIIXP+YV.P1B$F'?=#3$SZZ]VQ^,FHW::'_/M7>; M;J._4Z\W=NH[NZ5NQR+X;WKE7SDR9S&MA%2;T7)<^X_K !#K *#=3< MJOOZ,MUO,4M($."$J"B1M)R=Y&R=JH_SALJ'](P^\\=UI_@16SAZ\KTZJ_2HXM89=_J5<>A/H#<;'WG#PV[AG,NR;<#7M M'1B/P'L[A$GO9+]W-)Q4QG\?#C]"K^_I&M>VW1\SWS[-4\5FRX=S]T(*\SB@ M,L5A4?/$;,9\*O&(*HUV7T0)B9?FS&F_ I0$ M.ET"=D9F#(5,"5T&GV.QX#0XI:!"HD"/L-;5V6VG\&5.)$:"+T%2Q%* 4",A M(W#LRI\P$]+TNFB5H/J( "CR#B!WZ*9!HXFBT93*EUO.CMUVFV4CYO<<[>56 MS6VO>^?$&)([IPPDA1E#-\""J="8,Z'^'$54>XK$ 0S/_)#$I\8Y$4M3[6[\ MTRT#O!L9]XI9&69SCA[PT8-<=ST?3M(O,Q:3V-?E.&!@;O,& M$UO->6:BP'E@,-/<@M7$JM[](EN+I+OA!>2N(J\=?"_ U16[UCJ_Y#F=J9:= M7_(,/1YGY^O#Q=KE_+),Z#8XI-)QQ4N1\U7MFY)=,N=I0OS\?/-'D 4+5(@_ MT8ZID*@:%5]P3I*4MO(?ZRJES3!T\,ZO @RDAH_?E!KZP40%^DN>UZ[89!#- M/]IYFZM5M=KM=>[M58UO5#D7=3K?+R1**XO]QX=JY$9\7:2KPX5L?M])*>0FU\=TJ=N M7R$W3S%V]Y2;OYA/X1A7ZDPO7,VR/=]%TFOT6$E<+%)9:%!A7Z%!1>Q^B@9M M'TL6^RPA'$;G6XE:B7J^+^:QTJ_VQMEF]ZO;A,@R^VC77F7]@,W$&X+RX.W$ M^T)>?VE7 !: !6 !6 6@ 5@ 5@ %H %X&\$^+_-''"_FSE0O_T]?W/G2;[G M?[W)$O[16.6%+,V3R?PLLR@-=;Y0+!1,*0241C3(TZU,;M4JV\HDC"5SF8B4 MWI *M7?G="<<1F!#N6 IA70^_83CZ*PVW9DS,F6F-R=,5MY5HA?\:B"NU=YD1G7# MS8U;\G2OITV6-E6K#>3QF]G$SSJ6SJ#N/N^8U.[NOU!+ P04 " '@5Q/ M_A1OP7L1 ">NP $0 &-G;G@M,C Q.3 Y,CDN>'-D[3U;<]NXU>_[*_#I MI=N9*);L)*TSZW1DQ\YXQHD]OFS:IPY$0A*^4( 6 &6IO[X'X%T$KY)C=:F' MQ!2)]9X>^J.'B^OKWC\^ M_?+;__7[_SR_OT&?N>//"5/H0A"LB(N>J9JA[RZ1/]!$\#GZSL4/NL3]?@"$ MS,5*NA^E,R-SC+!2@HY]1:ZXF'\F$^Q[ZJSGLS]\[-$))2Z0X!'=1:9!ZK'" M8DK4-SPG'3T_/S\UN%31E;P9WYT/!B>#DZ/3WL(F&3RHS-E MJ[IM/%"99C RF%TG+]>W\P[)\,>RC0_PUWL#+6%K8W#.2 MCHBGI/[53U"\A7Y[Z*@!";[L3S%>-"V"BM,C+!RM:E";H_ID MM? PPXJ+]17\KD>9)T0&RV6"1)-XJDDC M@*R<666XR9$00YFK-B$F@XZR)9$FT3AIHI046'C=3U"THX1AZLC&UI% !9=; MVX6DCD8W;$)$!*,O^@EP2P+40C0WBQC*7)68!6:,*X-)WXIN+A:437AP!^[I MJ/TQ"MWW9(),?OPQ#)SE6?310O %$8I",I6J#@R"F2"3LYXN/_I1G?%O!WMO M(>^.FN0ZR"85)D@!B.-[AHF;A,@(@W;;9ST)TO9(R/E/9\HEDZ9, 0AE=(]Y M\O"X*4\ 0KP]96+;Z,F7Q+UEG\SUIMQ"X+!)">#&0*\-EQU+5K#P M9J26;91UP<&Q,WUU.ZEL_)DH3+T=Z;=-SV4F\6[P_MW@I*5)Z)8Q/8A/:L/] M&E#VUX--O9"9U-7\<5O-'S28%_KE9$(<19?D*U:^H&K]&8I[&*>C)4@*CST] MZ_L @"^E]/;]5]K)A_8>(J8*160A0Y?V%S%E_0D7?4W;P<@JE/Q%<"F?F"#8 MH_\A[@W\(KK)%:;B=^SY1(*6?Y;%[8B82O-[W][\#(DHH1$%1)J6FDP4T(G M _FV-P<'_SY'(OUSW-R#3JL-*MW[F_&4TU-H5\SN+LZDF)IW4X> M9B"0&?=<(J1V/FK=7'GEZ,KU][YBI"4/(,*EL?\%!?@/*LS+?,O!V !WA7(K M!F>E<@_C-:N0<++MRN//+2*@'4VY"M_5'9_QO!LR: ^:FN@I2;!HPB1=0E4 M*B%;ZLR"L%Q[Q\VTE\:/@@X.>K2)?5<.M@[V"@W7=;&%&C[XV)Q.;A=$&-*V M=+(I/.5:'#8:IPG:3NEJ2<0=GM;VH5'S$LD/8LG'.ZJUX $2:= .2?&Q9 MD[%KLO#!&Z1[1+_J/O_:Q6G* M5LK=MZZLLMO1:H[Z 8/PSK$TF4HFPZDG"Q MO:(*$%8J+K<853CNDAY0T,5!F9'L?:7?5=#O6EUQ\8R%"WF7$M@)I_.W5VZ] M#BJ5G=L:4ZSLI$<4=HGB/I'I]*#^4%SZA2K7]\CMQ/KXFJ6FPJXHP\RAV+OC MTA 5+RYO;20[):/2E'*KC86F%-&EBXZ"1A"X,[-X,7DHHN]-:GG[8'BAW)HL M/)8A*%UL'!Y;%AN+HGOWUA;C@?.58"V-0P%@MS&->R.ADHCRR6*Q49FM2RPI0U+>H/2M"%#',I2%QG;(7XT">QE M",IW$;VS!/8B/7W C]931PZJ? YS8(GG"8K0@W=8Z(V\9A%P M>3$SL,34G HZZ9L*Y'D!M!UOI9$ PT$MNU%+DVA1 %M> 0XL@<*BBBZ&B"40 MSP6M+_X$H+S0^V -##%T-X6<3'&E;C8IV&KB*L^//U@]4XQC8\HK_:2#U52* M_69^:A.L/)?]8'51*5]QAVW*7=&IQ20%@YZ1ZY2O@_RN@G?MS M<^L.K\W4^MBCTV!;S1-SB0AWV;!I -Z1Z1_%!$08.IF=6;1VK[GQ[HE#Z$(%ROK&V85^I<"\:F5 1E-!2&K- MO;V1M.RNTE!R2SY%AA(0@"(*0O, &OI.3$1H30D9'3:6;U@(LYC20O,YV$HU MYG*76(TQK@[KHDF2DH$HST].+?E)*/<.IB;?R/.=X(S[X T:+)CEP=I\&2.L)W@)7/JUIDWR(!*6P=%KT(]7;*?7 M"JR5FLWM\K-K-NHF?AQU=%"N01K> 4GB*22NYKC;\_47PJ<"+V;;*KDF]DIE MYQ(\N[*CNYG^T'B-XAX/6B_1"R01KN^8C1X/1"RIT["ZWT$_E9:0*^T;6D+4 MM]E"$O5^L J#M$FA4 A=ONYR8BD:;!KL8 7QH+CSXQSJ)U>_C4B8-/1[RE&4Y[>VDR<-OKY!B-(848CRH)U #DW6:^H@*O>"MF,!JS35Q76:4DDG M:V67\X7'UX2$P< >-KS[23T4_\A[AT1E$,[V>QME]<@K-*DY:NU@#:',FN1J=1"5IVVVT]FJ0\XAA\M( M^CNATQF4(:,E$7BJ=ROYA MIT3F#:PH#UM>4=CV>P7:2#"A$%7G]=!X3!=A*!^#']X5.'*+3CHY2/RQ)'_X MP,#ELOXJ7@ZJ=&#H/?+Y@1&C0 &.#@N]T:1C$7#I.#@>VL;!I@HZ.2V85 4 MJK()=2!@CASSS3&(KG?=M'2U(N)*A1@AM%R ^:VY#V2VBP MEB:/!\-CVZ"KJTGT:W35I>'XB%=U=14T+<_);!M>#5S71-HDWTH#E*=7MKVG M!KJ+N91A//L^[.WD"="'AP'**^)"1>?I'[[^W.L%%PLNX E WNL_7)>$F*V3 M+Z>$3VY%<$8C_(1D=4GU)\(;:_2GDU9I.[EI_??S8II M77580D:5^GO?_QXY#MQPPQ5>^97,QT3T$,-SD@]\XYEA$SZ@)U"K0L]?Q'<7YSU]-?!Z4>HBN<]I-;ZN]^,,^;//[I\CBF[ MA@>:G1X*&B[,7J-'T]#U@^\&A)\(K\G&E#!G?DK]8>#38A?6P M((Z>>+WPI8+J7SQPSU"VR5<3B#UD6%)\N7(\7Y\ ?#&C#&^P5_S\U9A)B-_X MF.:#/HJ.*G.^QUB%'^Z%7Z.)(N**^^)?! MY3B9;2< M3?5EZFNPD8A:0>Z9& ICF69LHC\G-R/N%-0L+X3.@^$IDT&A@MW_]T,>?D@!EW9. !3FCBXTD MNG[SUS?LC5>T(=9 Z(AY;P+V@XW6 $KOGK26$>*$T7M;5 MBZ79!5FX.7+4\6#XMT@$C:%::1M4#?PX0._6NJ[ULI'U!:,+O* *>_KN:*XW M[<0RV"G*/0O-I8(;;W+YC1OW#>SHS\[([".U)FI3#)"I98XT*9;H"_357M21 MJ6UOCL%^?N*"\Y@0JL_BT@,(?CV%W(4[^N'.R/. YP?"*!=?,<-3DG9&.\'T M@J.SEHTUX&$7/^V)0_;E"L\I,P"F8#:'_J5NWJH9 M_&;*E-H1>ZVA7RNS3?,M]/EMGTGP]YHI B:G($.](PQ[&US6:?L:0;L1K]?, M]A:^3QXY)*\4(FN!V\P)8AM$>RNE&R(E(=E36*./HZS#4U,E,*GM^X&N(IDT M!WN5]+].W*G+"M83;2W%L &[O[*(:#J9I1%Q>8=7X0;#2()U&[=GF$*^<24B&W+AJJOS.8F M8IL O.:T:\QA&$?XQ.'F=2FXABM)72(R.JO1;G_-,PJ6BH^\;QW%8? =#X9_SX:A6BWWKV)\()X'YA@6A5 ^C%PH MD*ANK:=/LSS6;;R';-H/;]+;H(,IEO-UTB2T83-_%T[*) ?4)GO1Y'!S%>7% M>WGU&G5;#B]71#A4:B9&T;F04+L";9(ZF27VG]+3ODYJ;\O\[V9",;=M8?=H M][9T#C:%UN!5UC"@$@M]L2[V3;+%KE7G:\!3=+(K3DZ5W8@>-1J^?L%F/]PE M=B%![LTG@6*3=F["96OX+;R[P;9MMFXG/6OSI4WVS)T6FZP/:,<7_.V->$*CGCSPQ+,'7M/P"'XB!DQ^QK4&Y874!S''Y<-Q# CG"]>LD2;/B7 MSHS,\:=?_@M02P,$% @ !X%<3XMW>91F)P _I\! !4 !C9VYX+3(P M,3DP.3(Y7V-A;"YX;6SM?6EW&SEV]O?\"K^=SQAC7W(RDU-KOSZGW?+QDDX^ MU4%5H22FJ:)2)&5K?GTN2$J69(HLLA92GDEZ;)/$N+F;EI+[\ZR]?/J'@4_3NW2__\;=_^??_A]!_A1]_ M>Q//BN6UJQ=OHL;9A2O??)TLKM[\4;KYGV^J9G;]YH]9\^?DUB*TSO1F]8_I MI/[SW_P?N9V[-]_FDW^;%U?NVOXV*^QB5??58G'S;V_??OWZ]2_?\F;ZEUES M^99BS-X^Y'HQA?^$[I,A_Q4B%#'REV_S\I3M?[W_[=.JG6A2SQ>V+MPO?_N7-V_6<#2SJ?OHJC?^ M[R\?WSTII)A=UNX;_'7]UO_\-K+S*_^_Y'^7@.T4\)\'=?FNOG7SA>^-.4BS M*O2J<=5??RDNZV\ !#'84.-A^-?6!2SN;MQ??YE/KF^F@,;;@<2-9M>:QP'HUV8VGW^I8D*:KR:34M0V7PW M+^X.D;U50>.*?W0_'%[J< W;*!3I=/;U(-[O+&!8<4$7 LQ5\QUH_-?N M:,%?+FKL)G0GTP'E#MJXBQO7K RCH_GT8PD]"0S6X@=[V8(NSQ+V4GWL&EC: M%JN>F2^:92O;9V>FX<3:^N6O=E)[K:N=PM*UW"$;UT'^<42\J*JY6RPF]64 M6FXGD7<7-6 3E@N_;>"W8T 1_6J;$H;[HK'%1I?KTJ2#BAZNB7Y_I%Q.W46U M]>=W]:.%/IW4H'M-[/3#;#[Q<]N#V=(!B"$$& ZN=I9 BZR]B/C0_/?.SI>- M:S4=[\PTG%CKD0L&T6\3FT^FT'UNOOF]#!8/62[JCZY8-@V,B]#.)RUGC>%J M' Z0+5(]%^5+/U^&]USX<4.W&7(NL MO8CXKH9I^W("Y:[YM4^NE](/(DQ+1NS)-J1HD9T6]$CYGN0=1,AV5-N=JR?! M;H&_LV;21IH?DO8MPO7J^^^F#O5NI4/IUY6:P%^7U61WXC<;7+O,H27#;./;*0CFEZMXIZ;/[OMFE6"NA!;7DI M5X^"M1N1V]+V(L3O[NN'9E;/EM CK;3E%S/T(LY'!S//TGG%ZK)>633[Y'DY MQT "!66Y^MM.W]75K+D^1/,\KK2!&A*[RC6@YFY^"?RII3^O/+8I[_N_*#:R8S2#=ON]EZ0I%&@/3> MF6"5ZN)F)>232;H;/*V+'[ZI[>:/ XH87N0_W.3R"F;=X!8,@DMO2"^O;]9V M F1X5R?SQ>1Z92E\]XUY@O7\U\;64$ /73F0+/V!^-'=+)OBRIM5C5^)KULU M]\5< PIV0&_LR=N/D,M\[OYW"7I[]F3K2;3[R6P"\W8U M*8#.05& U>-9_V$VG10M=J(.*V5$P?MMP" -^6R_[9?O2:+^JFTW:+W?\!I\WR;U$_=P&6E?LOBU<7;IR ME*H[W[)YD-;+>B\MF/9[NL%_DVVI\-/5K%E\=LVU]\.8U9?^GUN0FMK<3?_Z M"]23'5E2IC4A):TPDI9*I''!$3>8(2=520NJ,!7\:5-7&Q:S9M,O+[5UTQNK M"VN5G>>KZV7+.;JT]N8M8*#?NNEB?O^-1T4C3#;WW_YU\_6J02#X\^Y81# ! MWX%RN;(JMZ!Q4/Z,T8H39PW"HI#(*<(0ESQ'0DLK%"E)0:HV&#QB9] 4;V8- M*#M__87\\N;K:K2M_KDNQ3;%#Z1]>K=OD^+MW"O7OD0$6M2#+>KO+([8[[-Q M4(4VC\:J/:3)J)2&5E*A4E4EJ@ 25%K.42$JIRO-J'+T7#DQ8#]M8<(14(W5 MT>]A3K][;YL_W2)=UN4!$\>>G!E7S-FR+)$12B%:8H%DCBM$\C(GA9:T*O'Q M]* _"3WZ1W$LYCR_2O?)^_BM_/YBER^^?XJ6C;]EL8-)!Y:4E8Q:RHE"UDB' MRLI0I$%A0 J7%34E(X+J0?NL)^.._U@^)T?__YVFY4RO/FRTR(9PW[JZ3Y[*RMJW F^ MAYD]$S9G6%06$2,L$L;S"I<.\5S DE<5IG0GM+%V-V/3H?#IC\GB:E)?U.Z_ MG6T>CO2.QF=?P:!X&$M!^P"5 %#C996CTBF.&"ME)9BUNB+GKH$/0YL ! M<-Z_(+ZPT]%6TJ!:N&8C:.BJ6>,^?YWY#_-=O.N[BJQ@K"*4$*2D7U"LTZC2 M9;%>6G)GN,D[,' <)7]0!IX!XN-P\5[2C=Q0L!N CGMKR7)#+7'*(%>!LD.J MTB)L_<<5/I4JG.[ R&$5O#-EY!"@CT3*!UG7LJ>S93,$*_=6DUEE2R:I0H3P M"N5E44)W674_;'-FL3R>EOP?DI9#H#X.+Q]$W4@.9L$ M-Q;2X:EM,PHBPQT M$J).4)23LMQ8AE@SA\OC62G^$5DY!.BG-Y^'B"]V0E/V*3."HEA>>]1*0B155Y@59RC$>P#3$SJY6SY MK&7WP11^<_/YYRM;$_H>4EX]QL,G.\H^[EAG9FE.92$*)'G%4&&X0]1J@SCC MFA#AM!5G?WAU M:UMJO'[Y_3GWOL:_-]6R\:OZOJFC'&P9XZLPITHD(X@TIE M"-*4@R6I%4::$RR5IDPS^]H,^-%W/W=^_NJFMV[-GV$QW5ECYHPAI6 5XI64R%). M42E*;_T7H.)2596V@VU[ZFWH@?C6^TK:5]^<__SQN*7W\^:P_-]98T9=P;BT M!;)",$0+5R'IB%KY^5"+E2/R[#U=7B__^^Z;TQO;QT:K/A^#^GK6+'P_^?NY MJY!?Q]O./Q2553BO*.4$$5YIZ,V*@$I40I60JI1$4F"%(V'TC\[; MKKB?7O?:=L&K5S_!=L]CC*C*/0K8ZN,3^0@*6]^/V.9@NR=K)IDFJN082"<, MJJPI$!=6()W#_S'I2E&T4EX&;WF[1OJC.XEU:5&%86!Q6TG$2@M:A&""YY)C M1\[>X:[?3GON+MP)K-'5["6FP(E\CBW,(4)PM4* )& M+W%8\]=$@\-ZZN4>/QZ>T?25=;*2&*,*I9"I"HF* MW#F44\?AH^04"UT8[8XGQ3B^J,.0HA>PQB+%\X"L=1G!I\FB!3?V9*3( 9F,QY6D4\GM<[O;S9'?& M#)O"5!J0),+DB"@PIZO"Y3!U%K;$+C?<=M WQO'3[)DEO2-V8H[\/JN+8VGR M/6^F'-5E5?GX I(A2DJ*"%,.%Z<,W"3FH?^6]S*CYO-9\<4$I65,Q5I&"(%,8B:HA!K@39'"D=8UQ80CL< M1(ZNJ?2RZ3$,;J[Q8J8LSRT8\J)"2CN-9$$%5&HYD@KZ1!#"1-'A M7%B^*B+T"M-8A#CHU&?;D8&2H@+YD2ZD0;G+"V0)D:@4Q@IJ14ZK#KK! M.,9LSWP9!+4139)[85>*E(\ZW+@K5\]7;UY[Y=K[QH%M?E'M<1T[K*1,&*:]IA6V0<\[;OF6=P"$>CU9,7DK>Q994@,[(L M%184*/Q!&O^D0\7 D!_(CNN1XJ@>_G'ZUC<)5OGV[G+;LF6&:DLD5&@C##.%9:X+ MVV&3:*3(;/UQI5^HQB+&ESJ?3*?>.>->[!:SRLN9,E<4 E. D!AG42G+"H$E M6R!::)53ESOBU+FKW?V1HE>@QJ*$OSU1^Z?*=I]+/TZ629D7 )0%8Z1@J*"\ M1+G..5(6%XXII@@_>X>6_KJ](S1C=?2'QMW82;EYW!04II55V-8J:9$[*YS! MA-L"85MP)%U)4>Z#%UCLR@)S6K?.*U+;U#=>*%WKPZ[LF454[;$&J-"*8M<50A4&"81 MTR8GTN8%IQV<9,?4'#L1H6>,3N/P^-$C?5%]F;L5(JV='9_ERP0%U5@1AP1S M$DDL8$XUPB&9EYSPJM2RZ&!-C*DX=N)$WR"-18I?9[/R*^BZ._K_/DFF&0%J MYP:9,K>(&:/\37B)G#&6&&NI+E^)LMBIJSO@,5:OIA/_DO%ODUOO";6P]>4$ M3)AUTW=/_[LS>C_,LJ!@[8A":& O-+948!F#TN.D-:JBI,-@'U,O[,2 WE$: MVYOYL_WV(&XKI[/=&3/I*JR*4B*B#6A IO!@2HR<8U17#F-I.VB(ZK7PHG>4 M1G5$W(C?JL+'-<$LV]DXQ U!*,1(X=JFQ%"["EB;(=CF[U:V%!7^ , M'X3CI1@8'ZP7^AWZHEJ]\+S5"?*$(IP2DLU+S^ET M]O5TX4FVG\U]<,UDYKVM&Z_VQF[]]\''HMN+R0B/8!#3,(PYC+<@"FD81Z$( MTB1@6H?QZ5P _!D!- $LP=L)X!_>@:H/\C]8 8%_8FY?1)/VA604![$(6)3J M@ G"0YV$21*%',0<+MF?( MB$P#;83A.&2"TC@( IJ(,.5I3#6+SWZG=@0Z](+<>#;;3>.*R0JZG1;:]V19 M0)DF1C.<1(F(16P D92SA#$IB*9G?[P_ @/ MG1FS6 C.:&0"PIG@@301S(!: G2&R8B(<]^N'8$=O2(XYCU2M^J1)]+'D_G: MQ044L ^-NYXLK^?M#@./*S!3)M&AXHGD)!*4&1V;0$GX+]( ONPP^SS:(QXR MQN<8!!L#VM$.$>RD]IK51>V][?QX:<.N';DR+ 4U,>.242G2- A#0Z4$0!F+ M! RQ7C:97SF%^L-O+)Z$R_FD=O-Y-+O.)_4*QO6K I<@M-_Z *B:38ATS* M+J?DXVR&CT#?\^R*\9SUGFYZO*M_B(&R<^^H5?[,!##V=9#2@&M8+M) 4$ZU MY*F.8T5(!UM0_S33Z!!(GHY%/[HS'T2B'[-GB>(!V$045A C(AH%84IB#NB& MB=0PMH[GD/F).=09R--1:(OS\T$3H:W3M3[SX#V9DO4XD0(:=8PM/19>-D?;_V;G6V/HA';0K,N&*,LCA,(JT%C"*3A$$@XUBDB8QB MVF5>HC\QP0; ]O0JTR9B^E'ZTB9OIK"BC J1&,Q 0PQ-*(B)$QP+!28X[G). M^]/LO/>-XDF9\RRR^J'D>98]4P%)DEB%8*(F(E LP%%BB-(ICH0129< 3_- MWOP 0)Z<0BLC\\@)Z'G^#&;=4#!IN(")EX=Q$*O 1)&.*"484.A HG&,%-#%4=42YAP1<*TH0%\HX(H-B1FJL/I(!G'P?ND M>T;'H7@ZYJP4M@=H-C'-]ET@;EM()DP**W< !BJ'23>F0(YV@=7>K5^"G 4%H-2X=J?*N[*!29I(#.V,, _!NN!!J&&&9CQ1 M&AM8ZWMQE3S!=-2I5Y_?;NT/P!'O.A?.E?,4\/)GX>_MPD?XN?.#;#:=NF(5 M"[ZM7\(1I641IS0@F(2!B@4'A!2G6D=AF(H$FR[$.JG39:^\&AS6D\U,+UX( M/V2>>K&03*0)C@P&E=*_=1'%&@YWC;_4D-W 52 V^36;]ZOO@X!K])'F'7UW-Y[R,\AV73I8Z(_,O2ZG ML^:CNUDVQ14TR;N(M0F*OS]SEC)&"#%""IF*D,@@"@P1B:!,RC!6'0X+3WM6 MV"OO^H9Q;/)X'VR/3EW.#R/.]HR9809# P$\+404X3!.2!0Q0K%6AJH.EL%I ME;/ I+1[[E&[A0*M\F5:81H2D MDB9<>'>,*#1IS'"4BC2(20=5B[]Z"@R!X%A31E)58+5>5,FW8N65_-$NW$6] M73'=,8$<4DS&DI0:)EDH,1>&P^1)-2RZ(E21 %.IU97X4][=&D5M'Q#148-R M/(D \>.C#T\E&S,6Q(^RM'@)9$>NK*@D%B4SR&"I$*VP0E;F JFRLI)K@K%I M%3IF,-O\B'OYEF#G+.&HXF4.15*!2J(94BK/!1<8.]/E &R564KD-PR7%FRU%YUY+SI^N?4X^)+S5H MD=/)WUWY_V=3OX7UZ,+L=Q":R1Q^BN%C?;E60UNH,D-5F_ M#_L:1\@INNXVY6O0E"7JT_39UAT'!_'5YCE6*M" MYSERN(*9J% 5TIH5"%-5"5HRJG@'BW,>6>M=_7"-6[N'6J> MEK*.DOO>+:[\/FX;-[L1IA8%*0L%XI)6/VL "%L2IX*Q##(/1' :. M8=:/CN9GBOAH"_V]3WVK\;PE=19P@P-HD8J8$2J,3!IAD>(8^W@@07SV3#I+ M#KSTELK1N(\6^*P!V3XTLVJR:^OL4:H,"T98&JHH#?P%UU2O;H=0K&6:^+O1 MY\Z?3GWS/(#9T;B,U;^;VUSW0Z4!A>^/R>(J @T/&M\DWS;.4?[&._Q7[M;Z MCR@M,ZE6":VDQI#$3A@F2D"!5"EI.8ZU%1'JZ"37D M3D@?].@-G_%FE;F#NKPS0@S4GLY6?NG[ W[OS)>E AHDM$EI3$62,"VC.,)* M,A72@$>O8%>LQZ6E3ZC&HL4G-YWZG6=7 PY3D#PHKR?U9+[PJ-RZ%@'A6Q60 M)09&D]81*&)8<,X-C)(0X @B*N-(]O."XVLARB"8C<68E_>D[H\OULK\;K7D M@%(RK@)--0LX3*LPIP+,C/ 0IE**/1SLW'<77X/Y,UQ_C!=FX!Z%C5/'K)[= MC]F=.T(O9\NB$.;LT#OI$28$-(_%L8QI*E6:2JW._MW9U\"\'CM@U*.;QW*N M)=^_6.[.F&EA,&@$.C22"(W# !J9LC D&&L1IQW<]L?QLWT-=.NU"T8,H;(& M;"-F")K#[NV?%W)D0:3B$,:/2%,M" 9]-(@%"02+M)0L?A77B7K;E>X*SP@G M9K>N^6 O7_*Z[N$(+';-Y':E=KZK00%=/CE!&:FZK5_>ZQVQ6]C)@&> +TAT M@DHOJFKN%HO-IM(>(<9X ^I>QKV!4)\GS9(0A_ _GC",14Q#@SD-=1PJ2L N M2EOM$0W=JM1.FO^TTZ6[J)[)WZJE+V?/B#&$T"1)"4MA;0(#7X>18J%)0*98 M=KA[-<[^Z?'=^<-[5[VC-=:2^TQ*'RW$+KRY?I%/)Y!(,RRC+F\IC+1<#T"EX? ;GUOMHKAN M39]%20JJKE=[<"HT-":*6*($34E"(\I;/5=TDCGVX9V4X^?9AR*R4',<1Q'T M,E8")ZD.M$Q"*;$43+^"L_&.?7O8A'LL;*<;&'??!_I'WQ=^C!=3.[D^<-(] MH+R,I9*&0B><19'@,0Z4#*$G!#7>I;/7;-ZYN5=?;-R%@ ME@549:Q"Q4A"8I*^]B6I/W(=,,FF_PQ3U^:N;WKKW8"M?':D_ MM2AX/YPDH%'"F))I$(M($T,EBQ(L, TQ5Z+#>^WC^(6]#JX/W2_G27,_H#]_ MG?7&[DUY^\&C-%"4@BXJ#O.F,M0 M_2[/M"-+W ^@P"D5*H1QG\1"8A&R,(HC9DQ*$AF''9QWQ_%I>T5\'J)#SI?1 MZ6S9G[9]7V"+_N21YIQ$H1!4Q#@V(B*:"9P H#*F'>;G<9XY?#U\'J(_SIC. MD+9?.D/:%O )F:2"4:)3+I0,@R A/$R,YA%+@RYT'N?=Q5=$YP'ZXSSI'%0+ MU_3.Z2>E[@=2)F%"XU33*%#>FS>D,L%2)3C@6E/9P=%9_9/8XW3*Z/NRPY\[ MWOJ(\\UDI$J^NQ(\^O+$7L7WDMSM>^_U>[+,1*DQ.@VQX49@X(^1*H9Y$OX_ MEK%N=0UKX-9\M%_?>X^8B9VN(X;YR\#-[9['V?=ESD24A"2@84A#+B)8#TC" M."&1I!'C1G:PGL:*_'),-VZY(=8K3F->25P)_L>L^?-=O7H>:7XX/5[.G84T M#;DT)HK34! B@M#'+0!=@3.I(_,*KL;VR8_>@!J=('[5G<-DO0HH<3!!7LZ= M)4$L#18D4FD@H+T!"U6<4,:5DHRI#@09ZP9KGP3I#:@15).'!7MHK>0W_^S) MX.6GR\6R<>^A ZZ7UZNO-@_P?/??7[\1]Q!H89WOU!Y3O_GH/NZI4 ]^L/=O M2,7+779.VR(R'2I):6)8& 3-0LI(8SI6!@9:MKNS=43HG#H@?CQA68&\# F MB0"=2*0FT#S@ >&2B0!K@3OXRHRC%_5/B=F)L!UKJ6R+V/Z#NP-+R@+#19Q& M3 DE19AR,*+#,,4I5P%+=4]7IG]ZKAT-Z%D2;,]IVL%E^5.9F(1@K801$280 M@>0R\>_:4:.2*#E[/>V\2'8$I.=(LSU'7(<6E84AF,(!0$U9($C 3 HC#@PA ML(!B;SZ?^UGL69'L"$3/DF.[]^@/+0ILM%B&E)N0&24B@".(=4)#2175$N,. M-Y;'.1\]+XX=CNA^CKWP$NTA^?!F@Z0#KX!MF77Z".(;:$F-XOU9M'OLSJR=>%6#QBM ML@27H/L]BN%SVIVCV;/MK'OP/\]"MVK(K=L5A;EM$5D:Q$H%B21@6 D"\BBC M0\R(2!(4'&!U2Y MK">/XP6,45=0EJN_[?1=709/-- M/)G;2S 2+WW4@/#N5S>[;.S-U?E(!/PLE\7B\;LR)Y!MZ('X:3$K_@QAR)?^ M^4]7SQ^[%9^HVJ&#-.VL_+NS;G)],YW=.;?I_4]7MG$_Y JFJT45_N6=F%;= M]G=7KA\(]X\3#1YQ:G=C_#+W3^:+R?5*77@(BS5_ N'\U\;64, H$'YT-\NFN/)Z2^/G MR.NQZQN\ET^#S^??Q-X&)P3^=7B^"H@"UQ[/KPVPZ M*0:]A-"N_N'E6+TQ,7#Q0]-T5D_++V7:S1K M;F:@M?OW#3[ZOV9^+K+UW3RI*N=GX?M?+IJ'AQ!@S-U.Y@\ZXLEVS1]$?)#, M"[KM+9$=]FS[0K**Y+K0N$"58R",I!RQ'%ND,%6,&B4D<6V,V3'1>$J&8/&< M $\2'PS30:5G@I1$YQ5&6%.&J.$8&:XP M:S^J3>M6\Y6/G0H4F#YZ!:@C1U\J-BLI*TM&&*H$SI$PE455J0&\,G>44Z4$ MZ_#X\3@[[V=$SAYQ/B=6;MZ^>Y(BGD#&!G2UB9UV9.>^XC-*A+%4PW#6RB M M.4?$Z!(Q7I0.2R?8^8?].2.6#H#W.;$5OHP:5TYV/LAS6$&9H;K2A> (.L,B M+3A%.7<,1G)IJ>5.VJJ?'?TAPX^>$04[07M.9-N^]Y1\\Q< 4DJ33#E'6X-C>/7>D;4 M[ '?LY"6BN2P0=A5#A:PTAC/W]5;?AMZ M.W]+E8/#_?3<<:7JC5U=]+VLBVIKBA,?/#R3Z??E=>Z]FN/)=.E/6E8B/GHP M;,=Z?6!)&26%XQ6M$#.J0++ %&G)!%*%X81+B^&_TQU!O-":'YKAGY,J#D=E M>SD9+4MCC2;("6%023A!%2DHXF6N3*6(5:Z#>3?.L<*@/)B-B^Y8"O36=KR$ MV'>;X%#>[2\Q*QFG%:-@512%1#AWT"^*,R2)Q%A@@PGMYTF>GYF!@^ \N YT M^/(TU*JY5S/8(.#_R.W<_>U?_@]02P,$% @ !X%<3PUJ[ /H00 ?0\# M !4 !C9VYX+3(P,3DP.3(Y7V1E9BYX;6SM?5MWX[:6YGO_BDSF.0GNEUY] M>A:NZ9JI*M>R*R=]GKA8$FVK(XL^I.0JGU\_@&Z^E"X415*4D[62LBT1(/:W M/P![ QL;__%_OMV-?WC(BG*43_[V(_P9_/A#-AGDP]'DYF\__G;UD[HR[][] M^'_^\]_^XW_]]--_Z\OW/]A\,+O+)M,?3)&ETVSXP]?1]/:'WX=9^<?''Z"']Z:=%H1_FOXQ'DS_^/?[S)2VS'[Z5HW\O![?97?H^'Z33^;MO MI]/[?__EEZ]?O_[\[4LQ_CDO;GY! .!?UJ6V/A'_^FGUV$_QHY\@^@G#G[^5 MPQ]_"!).ROF[*[QD]7C\=CA=%WC^,/UE\>7ZT>^J_HKGST(IY2_S;]>/EJ-- M#X9*X2___>']U1R2GT:30A*Z=1<65HS;S2VR*[_MN/ M@YO)MX 9E$ B&1'[WY4KF#[>9W_[L1S=W8\#<+^TU%R3W]WGD_C;Q?7>AVTV M34?CHR4\XIW=@-*0G*=HNKN^S@;3T4/V(9W.BM'TT89A)."L'D)3TB_CS.?% M52C8O+1'O[D;@'XM\K+\;1*&U_'H7]GP??@KBX_X=%3\/1W/LC*TLWVTFFU& M-]!=S>[NTN*Q"S(=_JIN(/@CB\UO8$6QH4?IQ_/8CW.RMHM[G!%@J899,RS)SO@G-PE]5N M^/:JNA;A>#(=4&^KPEW<9\7WOIHD7U]=E-IV.)C&QRB]Z/TRV@5R^^':KHN-^6W2?ZES(J'R)QWD_O9-'R=APXP'LU-BT5+ZRF\\;>W!U2U M/E>A:"--?#<)P_;-*-2[X->^=FU[OI7&5&3$GF*M-*V:%G>7:JAA#X$:>3&J MTIKO'FVZ"4_3W[,/JPUZA]72=,.KZG-+@4::\SYT]?UM>/E4@R_VLVD8:#Z, M)J.[V=W\HT_IX]Q2^3(>W2R\O]\FPZQ8.H.3FT6YBKVTT9>T)?9E:$DZ#C-# M-KJ?+AKR,9^8N$8W7\"=%U$W198]N2F9QMIQ,?LZZ0Z+^X.,>KJU=:2(#:[SHI@02Z_47%#,&X%UA6E6GTM";/\Q([* M]"8,)S?S78?'7[/\IDCO;^L+=5B]G0H7NN%P-IC[2E?!X!\-*L]1S;VA)8&K M#8K[RC72N*MI/O@C>%;9,*YQ9Y-RWD/=M_CKWO7<2H7;;V8UR_2 *MIO\I-M M[,)+\L$ M N\FKIR.[N:>PE/8R0NLRU^+=!(J:$"5+;6E.1 OL_M9,;B-;E419^*[2N)N M+=5BPP[0QIZRS31R]J7,_CD+=KM[J&+M;WN^E<94M%[V%&NH::O!;!3&[>O1 M(-!9#0;!ZXFL_Y2/1X,**U&'U=)APYL5H!5!/J??]K?OQ4/-O;9:I]WP:'-- M>+EJ?W']6S!PE[$*I<^&85P>QS]FT[QX-'EQGQ?AFU#R,O[(XYB>3AZ?XCR7 MWUP4B]B,\&<88QY&Y=K9K"3LJ1K5'*S5#(,-CS;2A-_C2\-K+D#L;]INPJUURR3C@>S M\;+';WRB(BF:J+P],8\0HJLF5F3P_J);FY@6@U4KE[\^;^CZ[,]H,OUE.+K[ M9?G,+^GX%7!;3A>M#@S%DTETWMAG)9MN5/@]AB/FDY^&V74Z&T]K-G%K/2TV M.+]+1Y/CV_NBFL:;.Z_]I[OL[DM6U&WKICJ:;NAMJ*\8S+YD/ZVAJ=G<'35M M;70@S6BQ./D^_+E\.K:KF:-KB_=FWZ;99)@-NWCST2?"UHV-35TU=IP/-NED MKH_KM/PR5\JL_.DF3>^#[6D(;'LO'??@PM2FK5DP#$@,;<::*-=L!) YA&4&&%-=>$ MOX1CODJ8%TO5G1Z/^51Q)!;S.A+.@*"*4V$EP@AR@BU#2W$^WFW> 61 P?S$>J?Q^,\S(;_NW':3'+GC[, M)]/0Y]QXOE\;!JGL)O[2">'6L9]/(97JVVA75]M2(A%..@N@E9)YACPC'N(E M*)0ARCHDTXYIH!ZY#E1[W@9B@4?S(^\= MM'^1M3ZBIR'I"PC>&$=/P\W?KCX7\Z#IQZ>)Y,,+1VH#T[87"E ; #%V2'D, M)1& 0["2DD-"NN3-)K?P>]*<1LEY2XAVQ9OUPKS.(VR5J;.S7,*$MD0AI1F0 MAF&"E:9+69FWP-5F#WK3[&D2U*X(-(_QU^G@C^P0^NPHE5"CG+168,PL8)!S MCM!23HZ4T;7)@]\T>9J#M"OJ7,7SS=GH9F*S+].]E-GP=,(5H0H2() 7#DH/ MC%HY2=)S1VM3A;QIJAP/Y4DH/Z3%']G4SP('U=2D1?$8^L(\&GG7.+"[9&(\ )Q8K)342 )+.%_* M2Y .-G7_'-ENR- L;EUV_S!2OMZCKLR62N638$%CX8''C$COB500N2?9->B? M_]K= -(T>IVMTUD V!=E>W>3&-S8FYLBKIO&9-"1246AS\ &L8(Y3#0/R5C,"1 M^HMGK7G)[?*A&QR?N/(?O[R",#3]C];C/'>&;G809]I0COHW'VWJH)=>>\$@ M(9);X20"SD/@&05 RC]-M*F4 EJJ!$(8*6T#),&/F.- G)>JRU6&N&L,C$$"0AKS H4XU&7P3 M19M65GO%:-/#$/LK@&_[ MJCS%D@6%0(091%)8JX1>(<9;5J9'VU&\M6#]B^RUD?TK*)-SX*C;REJ M4' CHU6#'$>&"," 4$M9O5>N?N#7><2<5E;U05&#AX%ZKN'*TF$DO=/"$4XM M LP1N9(2N",LM/,(.*U+G<80/=]H4P:LM$QY0X#WV%@*!5O)::VN'ZI\'M&F M=9G3'*3G'4H81E!#L? ,*P"TD@Q[LI)5D"/FK/.(0*U+GR9!/4DH(0\\1@@Z MCT);A58.KT=')ISIW[[92=7>"(KG%$KH( QVEF?06^Z=,,!XN5JH"W_7WR0Y MCU#3NL-" UCV8^=^N4L1_OI]-+T=32XFV3^RM%@GR*R]B[^OXL1@8*$2U$'' M <>: ;->(H8CG&"H +;.&0XBI#N"L4$%AYNZ?V]4NV4X,<#>T6[5RV>90<=8"\_:^)0&$ M*V8T M+9/($F<5$A8B*Y=K:Q1: >M'S_4D-K,#!C8-K10QM#X-ZW)(I+ MS4&8(G#PDSG"EGB_P@985O]$6T_"-]LG8-,8]\/]>/JK@7#A8(1HZ:A0@A#N M, Y]T:P08,J0^E9>3R) VW$I:@-XZE"_7XN\+'^;%%DZCG>4Q"NQL_C(T^T. M0=Z_XNY>A&SNW@AN)-05NHC;R+NSN*XDJ>%P0@0J@&F M9(F#T4!UN?S08-Q=9>W6C[L["+<_2=R=P8Y :)3E %D%G5*6KD"Q3-0W;_H3 M=U=5[17C[@Y#[*]0IAU+V%I(IZPR,&B",>$$ABLDA7'Z/./N*O.CU9BF6M#^ M1=;ZB)Y5W-U9UDE-;4Y\\9Q(@5Y,\ MS4%ZWO&5$GL'*:="6$:$Q][*E8/LC +U+=LS";2K29\F03VON#L$I06>:!QA M3+@U@>?J-+Y/'>VAG^>S5YL6GO%QLDF1E^?DVG7S^ MFHT?L@_AZ=N=&[8MOS&),9***V<]#C C2:%9]T)&79<7(K6RK59WT;P?>)\/ MGR%:2*H&@]E=O#YS\5BKC-[RSD0J:K13D##KC. L#$=TC;'5E=)/]#D@\'2< M;@;Q_K/Z>=^]*&+BG.S(L.FCWI@@80P1R"EI&98<<\O]"E]J4?TELIY$&7;/ MZ";Q[C^?5_UV)6D7H_2>=R;!YJ=>,8)P,/\=#E8=T4N,O2:J?H;2GL0M=L_I M9A'O/ZO;'9&?1@-B/.(Z^"XQ\;0RC#FU!#AVS]2ZV)Z*DR\7 M,)[UJPUA:LLX]O3; :RL57^BM0HX4>8M-II;&(19;?-XXW#]^T=[$A+9%"^[ M0/?4\9)7L[N[M'C\*Q?A:Q(%+0;CC3CLJ0.&(A3&FJ!&2SQ 2,A*"QQO(B:2 M0JR"16L4<)(*B:@"P'I((Q%FBM/C/12"K)$4@,.T'G& M1%;F1ZOQ9K6@_8NL]1$]JYC(L^!H#V+;$-98"T$(#GZ#E-[*U=2AC;(]3'YQ M&@7MB6T[",5SC7W5TD 'H0RB!M-50LZQ7DGI.*P?*G F<9 '^4L_,+C>)"'0SRUM_M/9.8R)IT:0#+KECRM-$0X=BS ML/C]PXE&@#.O9)AE'50P2.+%2BJO5?ULIH>;PCU;4SP:K--0P 0+ZR8O1O]* MHT+V#AO["R<.(RLXTTX AJ%G4(J5U @C9/J]]'>,&G6Z6[\( M(",.L"MX_A!@+3-U:2MOIK5D5[8XF5??:^&P* MI]K+JAONH-R]O+JU0$(8=M1 9(*ES+46$/CUUB\UOOXU/ZTMG;6@V48QZDET MU5T@:0S',7D9'.URIQUY:%6)5X'CP@A"K'?64^ 172*",;#U8_EZPYY,R'X^&L3OI M=)Q.!MG5;99-3_#&3VD1!+[-IJ-!VN*]\\]>?S4-_T:4+ZZO;L/;;_-QX'X9 M=3%]/%WH]JI5[ZO$9W_W<.(=U=H@"I#"#F!NK!=>@W@/FZ4*GC(Q[:JQ>R.M M7SR82..XLT*3X%\!20DP'"TETMR1^FFT*NF M[HT5W?A\XH)4E"(E+70 *&NDADO9#->6]7N;HB&]Y>TA];;8T,NMB#Z1X%01 M>W=W^>1JF@_^J!"E]^K9!&)(N+"*2J$$9=)I0E8R2>7JK_"TMLQXI&Z^"[$[ M#I'.?-_A<(YP.OZ4CH*/8]+[T30=[P^LVU4NL0Y0S(FP$AM-%+26ZI6L O#Z M9^U:6]]K5OM-HM,5$R[CX=A)-G1I,1E-;O9O.FXND%BA'&):.(8(I](P&(;( MI77M&:2U==_:"EJSNF\$ELZZ_]/"W45P\XL(0O"YXR3YD+V;! \]VS\45*TC M<8AKC"T4$L:X/HT16SM>R!+?OX6QAH>%EI#J+FAE$$\=9#9;_'RWF.!>+-%< MYN.QSXNO:3'<&<%R4$T)9U1+"IP6TIK@BFEI5SZ8-<;V,(JAP76'=L$Z@3TY M7]@KWY7E+-M%DBTE$@V@T9HASRAGA"& S'HHM:HJ#\[R:?LF*4[QI*&GU/ @5T MF'%LH!2.AU^0 BLLB>4]-'$[(]X)<>YTV%JTU,Z*8.(O6CM/YS7_[N(^"EVZ M;UDQ&)4[I[B#ZTH,%, ;YN/)8*4E(\$>7&$BH*_/O=9LZ$X'O1:Q[)1?E]G] MK!C\1\'B=)8K20WP'K.5U(:Y'AY9C&D8U[+WGRD+;\Z(5(8+2@+7K;$RE!% MH%LB[H&F]2/X^+FSM6?0=T5V.WH8#;/)L(PQ73N8^>*Y1%@//+22"@V]%U@K MJE:R>([JQ\F+WIM/89@> MC.YC[UJ-J5YI 'D 67!(9#RYKX1U?;?YY"73]*52>.YLZ M [4KZGW,IHNE_#V)Y5\\ETB !2%&4\F"8XLLMI"ONY$21RQP@W-GR#% =:7T M;=LY3X'P_Q5@"7R.)S6B'!>39]'S19A;)S?/C<<@\\7U[O,.;;TRX0%'0*S& M!#*'-0CVJEUW*Z*/2-EW]NOK/<'\U*R.D@7C;YR6Y>AZ-%BL\:V-2Q_4HR[, MNV64_\7U$P1'T/KH=R;4:!TL5$J)!AAQ;!58CAP^GC$_(@'TV>\7] 7T/A [ M2!/3$YE94<24C/,L..E@+OED./]K_ J'(UE=_X4)CI=' D:QU9HCK:Q>64 > M.,:.R+1Y]CL1O4"\[8-*5<_-G/ 83WEQ'?U$/\Z_=G-^Z<6;O]=_']IP6G5< MW&?%G-YMZN,A*SZE-^VA;8/]]#!W&Y_E&NOV;1L_7!E^)[YJ9&?;WE >%?^U?>-W7MV;%N11,5W>$8%9"A>K&Z!<(!2 M232E "*3. .,P$;R,%Y0CL-#$&HO+<: *"$[O6Z@^BG#8_6YEQ[MP'>.#!)6 M VR%#Y,(I0QQ 86FB 4HJ-3NB)PN;1Y [(H?AX'3V29*'@SE15.SX=X3*!N> M3H( !&D+G ,VC+-$,"U]<-"EQT8$)[Y_0>+'J^CUQLG1L'1XL&337+HWA_+6 M4HE15"$8[["6B J.)0-$JSBB823"Q-MA;/A;LT2:@_W$]-H[H^PLESBG;)2+ M(NJ)85I1*I8S*Z/8BS,U3!I1;S7*M /D>;,J6&?,8T6ATX928Q41A,1_&(.> M]M18Z9XSA\'4W1GJ,@OONE63HLG%^/T\A\2T&TNT_2%NA=*),Z")!5(B] MCZ?&I4-8EM]PZ<)/7YWRKIIK+KBR*O-I]7)'[ 2VN;?= B^:1*FS -6UF?84-O+TV<=LNH,5 M>\LF@"/G>/ ?I' 4>J.Y!]Y)*8VDTG6Z)E>1&9TM$3<#6A/'B#;0NQ@^18&V4A(*M>76*4^0J!1D MVQ^\:NTM5:DS\9P2S"S%6!/JI58>.$$#XZ7BE!'>$\DP-U"KX =0K5F7YNKQRS#-DJ#:_LYA )[CZKPB'!$B M'>=!3.>EDTP&[U\$D;UB I_I,LJQ^JR\O],L?.?((*&<(U J8)FD@ CI*3$4 M&ZJ5#=!VFFOPV/V=QOEQ&#CGL[^CA.&24^4AUA1PK8)CQZ'EW M@!>UA@LGC M551A?^917D#!A_2:0P4?[RX?N6O/\V[)=Q!B%KU)<(H M(TQ,PRGC6C-2G&#%M/5Q)YR@'N:-.HT%W 6ZIW":+ZZORVP:3Q7.[[#>[42W M%#1Z,9N6TW02SP@M(]Q-,/.+=+"\5:(WCOUA[OH3Z>+*":0$!6-7$NVYYL'X M=8Y"BXA2N))SV;9LU5WKA4U/3!"$>(J:R'@;+.3H5##2(1-A8C4K"3U"O-_W&QRKMJJ>1SV4WB(?SLD![9P&Y^J BF#;6BJ# M)!ICPTCPL.A2KC!LNBY7T8]U0"NKJ((#>A@L-=5=%M-GJ@Y_O59S^"A9>2E; M)O?7CR26,OQQ+.8%,8+H;G#7@HO$5Q+137MYZ1= M7SEY:YB\%8WW:EH^K:)/H&#WV^4NA8:O$TI",P%QTF%!H='!95WYKL@25O^^ MB,:GV&; ?ZW)PS'H1'/_]],_=FDN?)U0)I'P''K,A0:(2.V7,91=K1 MW.$8=**Y7_6G79H+7R=2&2YAW#LRDG')D !JM=(GE0*U-==X9O!V-'XYL *3QC6ZU8SH>O'_#>>D;L=S1V.02>:^W^7O^_2 M7/@Z<8 'RXQ"[Y' .@STZ(EOS %86W.-I\9N1W.'8]")YC[_;G=I+GP=1.94 M @J=5P:&/UBPI5:M%L!4RES239KH=C1W. :=:,ZHG9H+7R<,(@B=PMPR+'B, MCF$KD0D7H$>9F=O1W.$8=**YJU]W:BY\'5H-J?>8.$J(XEA K-9\4U+5CP9M M/ MR.YH['(/NCZ#,0R,^YA'@=*SN8AKF2COE&\HE 2'L@:.2"F>M45Q+LI25 MQC. _?'?V]U!/QZ;4X3+7 UNL^$LYO7<^'5,W+A..>A'DS1TD73\*2_G;_?I MJ)A?"M";@)9RW:3W!X6V;"B72 L-(D8S"Q1UVB@'XXW.!B*"% 65EC?:D7?= MV&?IZ4J=CH-VLJO;+-N8'6 5@O0Y-'>=8^#9-M&^>)GV7IIP)0WP%A,O#35. M22ZU,"YT0F,@/V*R;RWTYBB^O#[-V!=@_Q3Q/(PRS007UD%#O6:2*H,X, @I M$)<5^AK/TP>65,Q6=A#"9QD*PC53!&,A!/""8VZ8<2R:Z00AQ.';.LU269^5 M@T6:A>\<&800 QAS;$&P.C65@@+IA%9"$^X]['33Z^AL94WSXS!PSB>8B&(0 M!55""8Z#):NU+UI:MUC<6PKD@!D' (Q MIWWP+Q7UD@+F#"52(^\8K!\ZV'+040]MCH8P/B6+]LX:VPLEBL2;8J1V!I-X MFRT!8CUU8N[=F5H>QVNU DW:@?!Q3.$'H>AO-/) MJ+(%TB5/#@.H*QI\*K+[=#1XV3ZI4DV@$DG*<6 M&T6M<"+,RM@AB!ASQ-HNW>6*-DL3*LT[PFL_:P8WDV^1"Q)()!=[,>&31 T& MQ2Q;MVBKQK<_G 3O2R(*B9/,4\29YCYFB!624JD(KQ_:WEHRL08UVQ@N)]J[ MJ;:JO7@T.&@*0Q6Q ((ZI96$@99*"8J"9$=<[=W!#DV3"ZU' M.]JM^/TB^C M\?SL=R5]/WL^80(P2+'$0IG@4$F% 2048<>Q#YVC_OS>6O=N6^GUT3G%QMS< M36KOLJ,UPA^R-&84:/=JI8UO6W3",)D^4\SR^Z&:KHM<3"[CC8/Q/DV=EJ-3 M9\5;MVM7\Y^U.3SP,9\4+T1X7V%OLM'W)(H&"P1X 8-10CT$"AO$@YL=/M#> MR1,>V&]"SLI;E\>^(\%*:\.=-"#,&(!H'?.7*HV Q\'H$%V:PSMW*D_$GFT[ MFQWCWNN-S#4H^G']ZW^-LB(T^O;Q?4QSO&>9L5H%88KCS(>)$L P.P9U*:D0 MI9C'TPJ LR[O"JNWZ-@=:;;1MDF N[(>-TZUWXNQ=^GHH'H2"Z7 C!*G(-(X M&,]0"1< 4E1Q(N6YWM_4-!.V$>T4&+]M0B("O5," 0$3>YGTW(."MR?5G][J81J$IQ)&A.Z\H BD1Q"SJE' &-$ M: ]7.%O2XS:V'(W9*;F!:G%C62KQ3 .$$'"&BJ,E9AAKT",YHZW3M0_L]7: M(LKIN%$/LU-R ]?B!EY=LH85 @X@ZIP/@Z\6U'-CPLRL'$>&U[]RH?$SM*?G M1CW,.N>&?GR&C"^R?\YVI)8YH'1"I926Q'O8K S#I9#8"&"XL0@))8^P1KH* M .F#+]80NJ>T>]?MKF7MOBJ=>""UQ-PQB(V)@338JJ5#$-P!\P:'6[ M:$?QA(0YGDDAD 6,&H4E(H*$?A4^#5U&=#KZU#>0:NNSBO-]'&2=D65U[N]I M>W*?3;2Y1 *U\9@AJZ TE'BE+: 6(.4Q=9S(^@>]#K>9S\T.:@31KACSN4@G MY7561*2NLN)A- @H/#M ^GR?.S2LW/S5WDFKR=HQV1(A6*I=@IB@$-DCJ-$40!=&UY5YA%G0 19>; MR15MN=.H.F\/U*X(]-O5YV)NT3P>P)[MA1)HD0G".4$YHR+8.H8A(#0P$/J M9)<9E\^).HTAVA5OYJ:Q3@=_9(<,.SM*)482I*E$A@?7*OA:"EO%"%5*">&M MK[]JVMH*>R^8TQRD75'G*G_(YG=.V>S+] #R["R7( *L!LHHQ R%W HK %9Q MM]P"KE#]@:?Q5)F]HD^3H-8_WW(3EUSBK+GO;,OK!Q.@6*C*8RZ'V1E#L:J#X,)L$<.[3\6YF['H\8?'T "=,,.PHME;K M8()Y#\*D:IVW]1VAQK-Y]H(?#6+9J27RM+']=&VB^E+.CZ;OLT=VE4TP9MY* MH*6FG#*E!>9* *HL#4,B]SV\D[0?P>!-(]O9F)-/LLIAY%F#.GP]O#2*56S*77AI/NP:1FLN=7LD:A>[KKCT;"JO9_%4JR"!R"#)+1 $"H]E,$1M!!! MQVQ,;E!_!;C]4-B3FCVMP'OB@:I<"?78R&BUL[HD^!+**,(P(3:,X,$A%4)X M0SP.SJCK8QA)TRJO-FXUB6)7_-*S,G2PLC3YW9?1(CU8%"?TON"QAM_*4=!4 MNCAMOA1N![UJU)9@!0$2T;;4AA+"):34"\6),U907C\BI;5AK65VM0]BR]D4 M-@9:[1[YYT/];Y/\2YD5#]&LG(>NAZ_SR2"46B2:F:<=V)8BH<.(O>-%>7]( M^H$&7Y= H GS7#!#15PYTMP)@:G$#FEH51\RJA\O;N5D! V]*@D]+?0^2B@/ MM@F"7DA%O'#(026),JS#";):3H*34&I;..9IM-#K# 6K*4 -_CD;+6YZV)?Y M='.)!#D,%;*(81V\;R\%P)R!,",0:8-K7O^,5%@3*M O@UV M2>\)P09:PH+)"DTP927"3"'M0I]5_?\NL MO:2E[2BU.9!.<,JZU;Q75!GG/37<.D<=9UH8*@57T #@\1&WM79UUOK4-F^*?..8^H%DU(3#&.*(!O' MY/JAU5T=W^Z1:=40R&\GNPB%GB/AG"/02T'L1P8(N,)8G8B.C60S:9--AT&VDEM[(:SV03+ M4E(/!.$ 4"F1I$X3)(Q%C BB>WAY8Z/ZK)/-YC#(3DF6WT?3V^\F_O+ES%]> MOHH,7$:_[#L%T,K[$C$/X.(<$J8I($(;KGV\1I-RI.015TJV3\=>;?^?4"FG MC!!6P_^9E=-%1,%6YNXNF&A%I*300>89#8Z0PH8PY#$,HF-'ZGN.[4<$]X&" MC:);>W_F4_H87Y=?#]9!?H/G07[;-FGVE4NH5 C@>!L;0U1 J1S@UDCI2/C) M2?UD@>VGQSTE.]H ]Q0!ERU?7_5N,DTG-Z/PCI?7X;7^HI.'@489 D,?LN'K MIKVO$M99H7@8>M3\K!TQC%/MK(KG')"12@BFK)*G"].\&MQFP]DXFY]PWB;( MO@#,ZI4DR"AK*=)A#.94,*#C3JUT""-%E=>V-Z&5C:KU=4*(MO#J=1#D#EF# M[YW^3UZ8<5J6^Q-A5JTE\< $G0!DJ-)AXO=*"8NQ"VHS1EK=Y8+$0:NK;?#C M^^R7+<'8F=>Y78*G]G],[_:'LAU84Z*8(88(88Q6P3.!UC#KF8@K?8QJ>+;K MJFU0HCKMNH#Z[7-3>^"("?K VH>)20IO% #.,2^)0T"DHQQ9'<1%Q(;^Q#%W1^P]MK?@ MU98.7]]PW QDG9$B[J3G]]EP';SX6)4;NTLF/F#'G'<^GC^DT$KG#.52A1YG M';-=WK+2-XHTBES]8.!9.+&R>CNZWY/KK6+Q1'C(J$<> M6FXH%DP8: @S2%OBHO?3PZ6GEGG0(GQ=#1L7T]NL^ Z6'[*KX:(YU'I@POY:Y&5-%WU>-)%QX59RI;PG ME.G@IC(-J7,"..$LKW1W>F\LC^.7@QK&JP<,48/![&X6!L)LJ.[R8CKZU[:M MC_J5)40C@PU&AD,^/Y3!H88VN(7!'01 ]_$JR1.QJ!D$>\"KC]FNW=7=!1-( MB3.$8L\5I\)CC9W5FDI/D(3NB,NV3F'$M,J7P]'J 3?\+![(>\YO]^T^FY15 M,G8=4VUB*6'*Q54II2AV0"M-',-"6Z]Q^/6LK)Y6>=4TECU@W09A+K.HA*#! MN'Q?#M+Q/[)T9[#<\;4G@EOG";;"!94!K57HO% :2;"BWO(NM]6.YV"#-#E@ MCFP'ZGY2]&/V;?KY:S9^R#X$U_6VIC%?H>*$F#"*""(D1)P"A27U)C@VQ#LJ M@O];GYBG,-+Z0LPC4>XG)V/G^OPU;XR*R_H2)4SPEH*7I(6BA',AM)3!G;(6 M,4'Z>.?)&3"P'K@])EYX_$L.R\ M;,->D:\&O/VEG\]GS5F(JPH31Z&V#',(E(LI=@7FE@-KK*-$TR..++=V;\N9 MD*\&NCWF7GBV6>Z%9Q,%B&=((R* I&$^$!H(#CRQFFL,4/W3%*W="7,NW#L< MW7YR3UU/LZ)Q KZH-2%:&$X,$AA3"J00W$#AC,$4*LMD?1;R/S$+CX&XY<#Y MC3&2;8:R/\1#!<6HFW<\A84^^W 1/M_%ZUL&\WV6EJU7O^A#'T+YN]G=_*/E MR9"++^/1S6+C_K?YDL_]_&3(Y&91;O%P_C->7G>=%W<5LJ^WT0R;76=%D0V7WZA!X-%H^MA] M0Y:?V%&9WH3^ P M>VRP908HA3VW\8Y1'Z\85,8HXBJE\NM4ZGU'CW852TBT183PRF$H@P4$-11+ M:;6!KLN<73L/&S6GMN\#69M"I\NC164Q?4:<\-=KTH2/DJMIZ+?Q#:N..QJD MVQ)>[GP^L8PI 0!DB! )A)+8^Q40P!T1MM;R,:%FM)LW#U%-A[.:VA>T>M[" MK8&P1W>;-:2%O"$H MVE2DFQ7Y?;93C<\?B?FVJ(8TIMA'%AN/-3-K0A/=HV,GS2OQ"" .4V&9#7Z^ MR1]^&03W=UH\1BWRU1]1B?R9$I.^(5]1""%>40 MHUVFL^Q4<;4AJ'WP1Y6CU'T;C&?#T>3&W(XFZ>Z3/MN>3Q"SA#*/O-,2$0J5 M"\[&LKW"'1&+W_@.=<,J:Q"5KC98E@:^#Y"LCAS%%%NK8TAK2>+B=_AO^#G] MML-UKE%; @04D@3G4P$EI7?*R?6<$MR,3H\75]M0:UW!#>9CJ:/OX^&V;,5S6<*<:$IQ20=KY119>VL=IV) M!YX39Z&-N1X=,=)";ZP7T%KF0;53LNW@]+1C=*ATY4:]5T\$U.#[$D =YXX' MR\< 2@S2Q!/AC*66H^#>U#_HT_ R7@<,VII(Z'1X]VYA<"G71;&4:L>:X*9' M$QA3 D+.*(DI12!42C% #!;8">*/\#XZRQIT$C+DC<+:ICNZ:4+;M8BT]?F$ M:N-P$,8[H0%35L04X(Q;1@#43I,SRP1TO.Z^)T'[J)T'53@#3C#+%#2<,L,T M#?Y@@)!8:Y&UY#1,V+'>V $1#L.DMJ]\-4TGP[08KAJ2/C5DM].\MV B)540 M2>*,QU0)(*&-;BB!-'")=[N*O-][;D 3>8OPU%\,N;\?CP;S6>[J/AN,KD># MU=1VE8_G:7SV:+IZ#0F4#$AB 2.44ZVON(32O5_3/JZ=KZVT',IV-Z+Z\>F1912H^AJF MLRJ+1<=7GB#K+.+!^(6&6 : 0,IZ#9W$U& K3QB*]>1([A6SW"9G]96B(]^1 M(,>!D%PQ0;5&D,8%_R6.PBO+0U=1C%WK >MOX\7 MCSB"H$=><8&@8E*(E: :BRXW.FHN G6FZOQX_-ITX>=MVAE[\.R)A%JLL">8 M(B>5C#==&K5LMW1&L/X&A=7 _K7FCL+@?'38NZ66[E37G:< XA%!3 M))E=<58&(>H'_;2R('*TWHZ0O:M%CL4L'EZYYRZ-%\\EE@ 8K4J%' PSOR!> MHJ4L*M[YW*$>S\3D:0+'KCA1'YLGZ2;#3^-T4NG>@C9>EU A",%> B^ML8QZ M;_@*60<8[*=Q=B1+7OMR_0'V+^HVAW"O;-(WP-C3,-7=W8_SQRR;KXM>W$!(8Q"*, :&X!H_66JPP/NS\QF.P+&K@FQ=\9ZU6$(A8@A3RT3 MP$'(%*-D)4UP5WJZAG6<8K9H]RA$SEW/O;0I3J'>AL),?LTF69&.G\TGL1V[ M TMVE4F(5*'9P%(J@VU%>9R25OLYCJ >GJ:H"WS>#B2]\4"VS5'NG[/1]/'= MI)P6L_ED-K\(YO-M.EE(7OX:JIB6[R:?LF*4#]O8<3ZP"0GVFELCJKL\6=U7YJY:WUB]^S>+=:-E0/8>2XR>9?VG2:K2]*[T'' MV=O&Q#IB@6"8!M,4(,*Y5\%418 +@;06/5HH_Q/UK*;5UONN]W$6=;YTO$KU MD([FZ>1\7LQE;Z,G[7EE@I0*%H3&0D,([!ON&,UJH?<\ MG__S]ZR,21P771VVP>T-KPEFL1">*!MF9D8E,]8;MT*2ZB-695K+^GZ.?#X> M^=J>H/MV/RKF[5R\.'2JE][,-G=P;\'$$^X]I$@'U# 32ANW6ILT\::9VMQI M+6G[";C3"I:UV; :6'\M\ME]&0/51Y/5XO.G_'XVWG;YX0&E$TD)!]P@ZP'5 MEC(;_>2E+-H=<8U):PG53\6+5@"M/U2$\>DN)E((\^QU-HH)?B^C>9D7OTT> MPN"5#9=F:?CD*IN,\N)#.DD7 &T=18ZH,S%& ^",]%X@[\-OAOB5W,@=L6K8 M6D[TDPTPW<'<";W4>/PQG[1!LLTU)\&(M,1B[+W!$$+/-5F/O]Q(5)MJXL], MM4; KDVX=Y-!$7-SOYML.O(SRS[GE]G#**"S1:1-6YO-5)QX3#F+5V@KQC3T MA&F[0MX*A>NO7,JW1K>NL>Z]L]B?5<>:BU3*>06T]L(1JXW0UH4A8*D/3US] MRXTA>$/D/P_MU$]T,%_9J2!7N4TP]RTK!J,RK@N]FTR+T:0<#;91O>U7)AP[ MQR&ET+CP'PV0B96%;E$8<>IS^BUM1?5,#<>1]X@^^?>YF;1K;&[C-0DFQ@59 M<%2;A!IR(%=;X-8Q>P1)W]*N3@^@[SP&=)%N8[/0P8!?F/5S^ MY.7T8S[]1S9=IA#X5[8K.*"U=R90&D>PCI>\.DLQ(XKY-<;R&'J_Q;V9ONBA M_G+"!@&^[!'@Y5?3Q^?M7AA(UWFQX>:C[Q8<.GAW8K"$5$J-#.7.,NZA6UEB M3A-[1'3+6]J;Z:L^.CM -YYK/AMNQOY56I5-)^LJ59!@C1'''BOB.),&>>17 M,Y@35!T1P?F6=GM:!;579L'G])O.)D&ATT7JHT,HU\P+$B>PT!193#FEC!%- M/5ZAYP@\(B;U+6TTG13T1F?W[UK[>L".YDAITOM1,%/BI^HN7G9PR"1>\Q4) MPSSF20>>4:NU@IROC^DX8$C]>#GX]K:J3@9[RXG4=F88>Y;QN(K\R_ECM+@& M8 ,6)\Y8UHP0[ZODNF_V38DF'EF)(+:64$M(&'4P4QH2$HC$5:4,[2WM"#1, MD0,RX#?WOH1IPSP$!'(4(Q6T\IQI%&8*H1!WH,O3P[LSX)^*5]OSXI],"UTF M/SNX6[R;A!$V6U\I]WXI_IZCISM*)=0QS9R!-LP>5%*@.8#0$R6\X CQ= M*?\R*[/PKELU&=KL(1OG]Q&)I1NXEPD52B<$6!5&/T5)0,]P+"2$B#.#C$,* MP_K9!UO;QFV'%LUC53\B(!N'AVZ6Y\5#@]3P+N!;3F/4_\-VM5VDX-E%(%.!D(-A(U 57J%9 0 M>8XMX;3+.^BJWMK0$U^\%8!/NNHXN[M+B\<7QXW4(/24T?1QYPIBR_+H)W?0H%WDV4<<1AEUN$[Y0L %R&5V; + "^S^UF8X8(HGXIX MC_!=QZ\[]3+S_("\&:=E4,'G& <^*Q[G+:VT=+R_=((@PRY.0Q(II*SSC!/G M@>'"28M0)1.[)2=B0[OW+>EN+9,@ZXWPDBH"L(I24JN6<@KL<)<)^G8ORS:I ML]=N1$/H]'JY=#YU?=>/]ZR6;B^4($P)14 :1H7$Q$B^!ELHZ+MGIN4W'.XZJ+S$8 M::]#1^'6V.-5\'IM-.(Y=9Q#%>>;L>UYZ>J3NS5*DT@9 1I*D&,*;C MM8PKNAHVX]9"_2V2U@[,=#_9M #DB>@VM+-BG4]M,1Y6I]6&P@F%$A)K,+0. MA']D@,"NI&;&U<];U=H)EP[I(CY=MO;37GUHL4^RK;W== G7K:G MRN[)MB*)(\ "'KH[L]0Y:" "!A!FD(?&0%MI*Z$3*?<&P&]X//&4&\8D!9!+ MQC#R+@QN"^DDM[2^#='T'=U'J^=U5SX>C5YOC.A9&3 J2S4(XV$YJA!#OJ5$ M0@E@'!,;#SQ))IC@!*Q D4!TN<9Y6/SX41K.VP"G*YM@4VOCKT6V_RJ;O643 M@AGB3 *O1>20DZY7LJL-#.RWYLB1VNR C.:P.O/P95>;I#TCR)-K6;-TJ!% MD__\?CK\>4^4YO>/)F&FU1I1IZV%PD/"$+:K5H;)MH>W(C6(?-XH.)UYAZ\F MP?U73V\ID0A&J'9*2$N515[$0,.E?)HJVM]+J)LT YH!YX3*W[_=O:U,8BQC MP=@VTDN*M+%$2[*241BM^CWM'ZVY_4PX"J>WR8E>3N_]H4(O*+#WD,[&YQ.L MM:9" >BD%P12201=R6:4K+]\W%Y$Q/%ZVJWY6LAT;>>;_.[+:++,9Q ZI)L'&(:<?(\>M,+>+5%7.6 MV7#*S_G2=E[)E)6_%GFY\TKL/443S[B$S(3.8I3GAB*N5^:WD1S4OV"LO1RM M33.D88QJ.X>K=DR_;X?-%@S=YBQ6*!I#"SWR&-G@)2&BO'(Q#<-<"NNXJ7^, ML[UTI4UINB6,NNK_=O00AJO)<%='7S^3(!&&*A"C +W0P$:@Q$H&)6U]/;>7 MQK/I'ET7C*X5&B@9O>&8$?]SKK-/Z6AHT\+LVV*-$X6IT/ L\D6)Q,+6J0ID(MB?*:,,2D M\8 BK"7C;.6.A8Z$ZA_L;2_=96L#2>-PM1YYL#J).[J9C*Y'@W0R58-!#+>* M 1/Y>#08M7DBMM+K6V_&Y_1;V[6?^,3J(N=!:$GP:2*TV63P^+Y"M,7.:9<9SZ:IM&W MJG+/KLQ!]23(V1A\II73,*Y<:N"Q!3$NGFD*J>UKR$8#E'B=XZ)%W+HRO>)" MY<6U&N;S? Q[EVLW/9YP!YUE 2B*.7"2: ,)H)0AJ[!QUIYIVKZ6U)MWC^@Y MD8E %60BH3_"T!FQE2@>*H]6I\6B8E+ASG=]3DB5P_#JB@GKP79Y-&+Z6"G) M[.L""?=4$QTF>DL$]5QHQQ4U1%-'"*6ZR_QL)YYL&@'H=.JOF,/S^R*) UXJ M;F08[[RW4FIGS&HLE B",YU=CM7G7GJT ]\Y,LC( *,S CA%*>%(8Q) D00B MZYU\?>=[3Z:4KOAQ&#A=J3_,HMGH9F+B)%H\[K4D-CV>,.J#:!H@$YU'H86A M6@1&0\$T0Z"'R?N.5U+>."Z=K0$'R!4E0#(1P.YE6, MMG(>AD&RPWW@WIF+-4$Z+15J3/I/Q1( @T>EM2 42BF41@BM;!\"#,9OQG0\ M7+>5Z-(.C.?,*,,-5I1)RP"F6#K%&=#6>&:Q$0'U,S$EV^7+82!U18?+["&; MS#*3W]V-RHA;5I3OBFR<3H854LGO*9L )B336%N@*05(Q3,[QFA@@(8N?' . MQF8=%7Z71[Y9H+I+=)!.L^<)T&-J[(#-(J;R=C1)]T,% M^YL+(@WQ!%I)&1:XAQF:6J%*2WAUQ1AW?9W%]-_9&IS+($\,GY@,1N/1(L_Z MU&'@'F1JH/?8T8H@E1!L3[$82E,$P1/&%'H6"1!8S3\9$DW%=]X@ /(T3P.P645/$82!2$0<%] M86'H9_6S%K8_VG7.PH;![!,-MUT#,2G-Q_5NH)QO.+9'R]01@ M\N(^+V(L[0*)SWF4.9T\EFNDEM]<%&O(/A7YPRC:O2W?:#&7IN6K/WY/XP76 MT\>++^/1S1RP3M]E;N/MV>6[R8;O6D9WPQO;QOKE32HO4_!U\S:3C@>S\;)C M;'RB;=3[\LZ]NEX.4/&?+V$P_,]_^_]02P,$% @ !X%<3Q;4%3B4XP MKY,* !4 !C9VYX+3(P,3DP.3(Y7VQA8BYX;6SLO?N3VSB6)OK[_A6\/1MW MNR/257@_9F=V \\>QW65:VS7],ZMV%#(*69:4[+HD90NN__Z"U*B4OE2$B1! MTMX[T5-.IS.%[WP'^,X!< #\T__\\G&5?)_Z3>O,EM0/0"PQ^^;!=_RH*%ZVW5=H-&ZA__\N#G_\#53T,IY8_5OQY_=+M\ M[ ?#Q\(?_]=/K]Y6=KY8KK>[^?HR_]/_^"]9MJ=C4ZSR-_E55O[YZYN73Z*3 M/Y8_\>,ZOR[Y_B7?+(O%V]U\LWLU?Y^O HSJTSYL\JO'/V*UV=SYA)(A63($ M6O\#>\;[ M+@S=O%_$#S^R9\S[CN;6BQ3]]_[']HR]7\A)>T:QFZ]Z[AD//O))S*ORIUZ% MKPX_6'[Z&?FM&C^(ZLD'YU]V^7J1+RK1O//1V7+QSW\*7\UNMB^NY_-/,QN\ M_SF$DL_YRZ"TFRI$;=5Z\2_YXCH$,W49_FFY6^9;N]Q>KHKMS297[\,/SB]W M,ZP0\(Y#(20FW!N!%0242J(ID9"*6=7D+%^_^/5M#;#Z5G\0*/<"4VHM5*%A MY06E2'@ J.0,.,/_%,/C0P]M\FUQL[G O8SN>W/^QRWJ[ 1V-E\OL@/P M[!9Y=@L]^ZT&_[__Z<=;2NYXJKA\K.M5D*_FV_<5[@-[ 3\4/^:KW;;^SHOR M.R\ / 3R?^B!YOO.*RX'==[>%ZLRY2DVA^%RIU>KS656;!;Y)J1B]2_--Y?/ M./WP$S]>%B&_^+1[< MY*LJ/=U^6'[27U^&S/AC'C*D75[^>)V[ZJ^/?=B;Y?;W=_/WJWR&%(%(*:^8 M0M@C+'!PVT%>/"1VMCM&W'8:DP8V=$0(I+A"U%#!I&8.2..Q#CYPU)$82=H] MD5-$Z])%5AJ;_;DT]R_9;Q72I_5G\I[O$%BF[_0^XE"+-TG8CPU/XW:! M"4>SD8EI$ORFX+NFL?* T.;;Y?6ZPJ&^++W(Y#04L:L11:^]JZO2V.)C4,J9*EWL&160(2VDLT"X MPU"A "+336L.C0BK ;;"\W*^P1 74&B*6&B,2NV &4-M]M ZZTU3&MLJ3@(& M>]"G%H*E_\E']\GV_"B,&4 MA=AL 5$28X0@Q/6(,1[Z&.%Y[/,#9(*T!?G M8G<<,ODBFV^/BWZWZ66<]K0BL9GLI.8O3G&:4)?]MHE"ZS2$ MIY,%17^=+$YNGICC5>D59%99+B1WBH>9'(%2@^.(P8S%R,ZY=HRB"D%#!)*( M"HXE T2K,$P%1B(TG%A^]M"R([:L!M=JFM6)T&82-!27<5+4FL8DZG.&HS,J MU >STU"C7BPI^N]WO:C3(0%S3MGR\RFBGABF%:7B,)P8Q5[TH$]UJN< \UA1 MZ+0)0]4J(@@I_\,8]#3YI.S,T&HU->M(:R>52L!H;SHURE3M+$_Q6A7)[Z35 M*M:69GK5BJ&FBO4FW^;A9S^H]<+FG_-5\:ELVGWYE*^W^2&38U9"$085]4$; M+=52,58/,(80B=&M)NTI$\9Q, YB[ZGV6CK$99B\2F19H$-2#NC<7U2 M/@VEZ]6B(ET'C5,]7VSR,%LU-YM-OK[\6N\K'MK4EBO/C-?&$6:8Y <$PI' M5%3MR?F6(/!:$P:)"5/B(.HJ_-WA,%'FW"K.5&*E.X#+:G2G=0-QLM:1T&:" M-AR7<5)VCL:19.PL56<$K!^*IR%=/=E2I.B$/=;=O0H9RVSZ"V"]F;J-@+C<3+7&]G#5YP=Z6M;+1;/_S0TL&^C8JJTVG(6KXIUBZ_7 MM]_[.=_-'&<2$.&D\V&BS"U0I%Z_9I;1ED7$3[4&.'*.8RND+O/M\92'QLI)+P"'@@/O@<$*.<8M@TI1YIO60IYI@0(OPR=Q MA,M"-8@T ,HZK"AU*LS+$QZQN@65U:A&.SWU-$%G1E8/K$YC2/5A2-%[CXL; M1&_#E&UYM;R/\\W7K+C*3@!GCXR^N(2A+\*; M*=@(7,>IV3/<9K^5(+,*Y<#:UHRZ,SK7,_?3T+R^C2J2]M?(>=/QN.CK*U-\ M+%?;JRE!=9@F7YABN]N^_3#?Y.7='HM?YE_W!T]K@78>E"M<0!F/A>5A'L=\ M-62Q"1F/4$T3_6XH#!&02JT=UC(P A0UVD.B-1)8:99P/_[D-'<0S5/HV0%[ M5H&_R"KX+RK\66W >"? ._%];@8QC".GH0M#&7M_[C$DQXUSJK)!739X"DEM M-F&T5 4,^NOMCQPPJ3_FF\7K3]4*Q.N;77F]3WEMTIMBM?+%IOS'F?6<,6@E MLYA AH#04!STQ1KNHU:Q$T$TUD.NM;(*$\J9%U8['K[!@=&"Z]3E517D;?;G MY3K;?2ANM@%@['[=6+YKF,Y-WVV1Z=]))+@3,4YLRMY_?2QB9)5A%]G!M/#% MK7'9;Z5YV<&^H1/')$XZEVB.VRNF$8#&)N%^(CL%GXP0L'Z^V6_W4LJ 0$YQ MK"U1V$"!CWJGG)M]NG<_W)#2=\ (E.7<"L:I"!,'A#7PPDM.-$!$,JYC5.^^ M.8T%\ 361;:MXM=H :NI[P:/50D<-HDP=9'M+?MFX],>_C"A*;(3?'=1*=;^ M= &IE2>&BD5_#3^XV[Y<[R]PG 'N2D222VJ<(!([3VLQ(\Z@(2=-]Z YH:0J M+P4TQE+-N$0.2V0I4YI#I5.?EJO0Y(MQHDZLEX8).0D=-%Z\V1M5UCKLS:KV MX=3CYH''1VQ>7O+[?; MFWQA;\I#+(?KJRMEK/[Q@,9]R3>7RX!TAKC'P$O(!'? 04.XU[5D64SL[/16 MWN>5*QZ 810*ICFRTI=;P"$:!QEU3/@P%00-#PB?N8_X69$Z0FD90A)PWC!, MC$3VZ*&@MNN%^_)I>2CK M/$8009 E"E&NK8,(8T]-O4WK"'$B4KB3X]6:*X*H 10BBA74C%GE/8+ EG7T M++G.'R &72DV65XB'&O6T(-SAYE(#.35T0/*B9W[8\"WEHX68E*[+N%\H[]N M,Y$ -AT^>IZ5].VI\79JF, 2&@B-50$AD!S:>K7?(6GY8:>F?@EEA&5_Z0GE M0F-J :<.(8D\5X+K, ?@W,BH@UUWC4FR2S-)51MWS;ZI![\/U>I@?_(U^SA/ M#*5*ATE%>>GX :<'P$D!O)8!KS$"R3#A/ZB2@G[09?N'Z"!!G".L%=>*&J<% M \KHL@;5,F6M2[QR?P*HO"BRN,HV^:=B4Q5.+T)^/TYRWL*)PR3C:?TW^FI. M:=>WN9'\P#$)@U+[3O!]!*4.]O<;S M 6[VN<)[6%BJ &>[HOKNA");?SUAF( W2B<8+P[NS:W7GXZ=J/SV=Q DFSHS M8>SLO3]]'R&U?UIZCK2)_#;"6M7?\N7UA]*6S_EF?IW7FU"_;):7>5D>?74H MCY8&8,2<@;0\.DN-"A.-VQF'&NN(3%/X$"J#',06&4\Q5A)(ZY4VWGLC'4M] MOV<-\T5V 'K<,,XJJ*,5)O?F_L$KE\?P_$1*FVO3G^A,HYWW'-Z[PZRU]MW5 MOH\@G9*@=*NU:7PYL< ](TICC*1%3CMKI<%.\(-<>Z+DN(>$SB+7Y=,($ "N M':5"$NT\9N7VF0]3OO#-_^..#G7S\Z3"/NHU[TO]1H;8Y M*^/$UTBO]194MU&%\&).KK_ M$+MM?[3JVPJT_7FT2[ =H5]](P%W#&9B@^YHWALL\!Y/S30R@EOO /!!CH$B M$'!@%:O5F%K9;^52O]")U!HX29@2Y0/>7GK#A*;!&H8XTJF7GT_.DTT@ /?L M]8%B\'@.'S$,/W*L[7N+Q%%^31F,TW2P[R0>)R*G[Y"3.>=WWB9'B2/4 M8!%,0\I H=U1KB&/>O]B7$ND=9Y#QCA5D K E%*0>&VQ@)AX21/'[,?/!@X0 MOL?M'L,L6$^G9XRWC-WHA.&W%NU3^GW,XXF]],=O)!>8!E=#'VOLT<-3VXW& MGBCJ%8?"(B(059+41\=]N<<^XD'(L[A="%94:$E("$Y,$>4I]4(@X(5B&D0] M^_3_'X^<^I9B4V]_'RK:.RLC;2G&>6V$8Y=GT4-0WEJNE2;A?Q)+3N7A\G(+ M!)=@I,.8YQ?D-&9&4$"P%X%JI#T1PC*J*-'0P?&/:!Z+;1_/6*JM?PPS M71JC:XPW,;ISL.6[FOXT].,PAT5[Z4G?1S#NG95T!TM[]-K(QTV;9AC,(<=P M^?Z5)AY:JKB M09KRL@$#J$V-@69\M9Y+;&'5(682+VA#K*>('\[/'5 M[[>*MYOOAS_MVG>G_#YR@J'(&N9D;!H?#Y5!J,5B67XQ7]V^BG?[U!U73&-! MH0/*4TV,]LH=)VD B"$3A/-(M:(4(B6,,)XJ[342T'O I%- 61OUS,OW&O\[ M^GJ8\#Z+WKK?!\QM2@Z9?7HH*B*^?Q[S M^^CE^:.DGRAZ*>AH1H5 U KK"8>.(./#'*G63B.YC(Z3 ^-W'"$*F(7"6VH\ M5L!@K:5U##"%;>HG6.],6.K@V"(V3LWK$1'S&W;X>''T_$3WZ0QLA/ ZK'^? M"[H3[6T3"L539>BQ #U5K(.&[:<7\I^R!,Z(X,(!$PSAD!F%F!.D%G N1?PE MC /C-\)!@CG2#&'J/-:.,\\TWNHFK_;"=Q^*FVWH*DWWPR?AV/,9P;?FTQ8A/M/G M0[P^A/C#S]T)\76$?V(G'#;9"I]>EU@4ES?E9U;-?C==XXY5<5VD=P-;E$B4 M=)>YF002R2HS&\ !CZ1:4W+[N+G3I)@HIC860!@]!:C#SP M@'L+9:UW#M-!3P<\C=)@00)(AY6F%! I 2PYM5)@[CF(>A.[A]*%P^F[T>[4 MCO7A,$5]P[AO(H4(]U+<;ZN6[TE/#7.,O67OF-!BP+@\I#NJWLDS@TS53S9% MCO/->ZB) !:&D<,LY("7U5O\*(><-*O3&PJKXH@Q3)7%7E&JA18J?$V%8N6E M:L(/O+D?%=@FX\\!9ND#NW*LF?KIY01/+N=\8[UCP G[P+VDPZ0]VZ] M97XW)=J>_-RG0V^95[VE./26_/0JBV-O61Y[R^?2XA]&GL,_[Y-4\_@>>\-W M,)?ODXT^Y_.]>VDZUP(\98\C@!.%B55<86H<%[0^! :%$'I:-P(\:86E@B&B M*8&8,F^EX\$=!B-'E#(L]9,@#4LF1EDJ2-@UAEE*F$:O^!9*(N*SM$FN2+1V M^*C'_;MVPN]C16, G@8_Y-^/9QNG C?OM_E_W@24[G/XS^WA2<\QPU@[Q#F& M@'@G >$&>2A,$SXIG+<]O,3JN414K;'--[!Z"?(.:)FS6W;2*PM-:SL!%>(RP%9I+RT MYK"9P@Q!7YS(M&$NBE*YC34IK,51;]=K+OFE%]N\MP692'UC&"& M.!. 0N^%I)!3K@_M*LU,U.4CW5L;0890^:%,EQ>W5*1V]WG8IA M=C#-ND-8I'JU(WNZ.M;2G@:*UH6I9N4>-_/PM2E^>+5;_/!3_O%]OID!"[1& MU&E;WBX!"4/8ULT8 R/J,UI\>/+960DI"Y@NLA)5S%YY&ZJ:E#XD9BEV-G:7 MH.RW/:2H(P!MF(HI TC,6,M]^VCF&FZP/[3VR1WQ#L1,80N["_RBIP[2;8DK M_'*5A@I&J'9*2$N515Y80N2A-4T555U6N9JV,?1"5PFLU6RT-8GMUKM2\-=Q MR:L)=8,L>QVXB5CYBF5S&FE<9RN>6?]JQTH'U3FDB,8R1H UTDN*M+%$2U*W M)XSNJCL-6QE'>5K-.CM0V5I]$K#8B_Z,,KE\DI\X#8KD=+(J%&O'\SK4BIF6 M2G3(M;#6F@H%H)->$$@E*1_MV;=EE*0=5*AA"P,K4"?-:4I:*[U)P%?7[;W( M:5$2F7ER'M4/C9.4EU@;SDM+*T9:RLJKY3I_N05!"RRILW;*;"!Y;B4T:"KOJ31/VAM"<(SO-92>>T$DJ M3PLSSHM/6UYB]_M,\?']V#1/PUU0M#Q7*^K.8S/U&Y3".,6K MH96G:0[@LEMT%UF%;UB=>XZM,]K6&]'3T+/^S"D2=ZS=W#-FV^U\L9 MPM0CCY'5&B&BO'(>'IJUCAOAFA1<-R'BJ$*-/'B=0F-&K.46B_A:7L]KEYY BKQ?;&1(A M]06&AS B-+#E:H*H/U])VTCDXS\UM9K70*J[?0^'W+-/^69_;4CDF[<19#7+ M0-/P%"?71PS#II/'9L_DC?'T3"-!;(&[Z-HQV@W[(#SE$24[W^7O"IW_,E\N M[/SK3\5Z]T&M%_^>SS_M=.-/MB.$Y:!B6ZI/-DO-<9]G)=9Q).EYTAIH5H_,3TO4 M^C3L"=7KG;OH;.@$P>NK-_EE8/<^ N4U88A)XP%%6$O&65W2%E0:F5;Y4@_M MCB2,Q56VJ?"V3*GZ8#PRZ1J8['[$,?#\YCS/:=.UYTEKDM#U2/VTU+%7RYY* M"GMGKW$]RBXT6.GS&*;11YH!J4HJW $50HZ*#TG7C$"I4QYB4.-M!RG M=R!F>XSC71\3Q^&YVHQ$WIC&0$YFW?U*CJ0L-AW0KWV_WLQ7RZNOY853VW_)%]?Y]MW\RPQ@:!Q@S#)@%.6&$H7JT0V)L#$9 M4"<@6$,3E$T3"2V5G LD@16:4P8XLR9U2A0@9/G557X91OTZNRPW/J]6Q1_9 MAPI@7#Z4UB'-Y'8ROHC3W@KVXZ+[YQ+Z7\H5\2/Z[!9^-M]F>P,NLF#"L+K< MA>PS(CV(#Z>AV,.86HPP1OK1\E_7FSR@^'N^^)=B55X:^-?Y M;):[9;Y5F^4V_),-?UU?_Q(,*!8E4@*@(90PH0D4"E*G,#PH"F401=U2E@(? M)LP)@D69:): A"4:!L@."6H,3WT1T:GR7V4W1T.RZV!"]N=5J3IE3)A_GB]7 M9'9 MP?+LKU7/J'X_.YB<[6W.]D9/* 9U\%N+T#1$+YEVQ!J$@8:!;#AO=(UOOMCD MR^NUN=EL\O7EUZK0*&NLI-YP(FWY]00 HH_@UAH< MIUHKJ( "F%%.A31*,.P<$4A1JE)OG-^-;%=[*[++@QG[*O?5X3V.Q7_<["-9 M/X$LG3^[1;%)N++W$':P*JO-RD[L^J:"55OWM(A4R7O"M,-4>O,;QJB!_- T M0/VU*!9_+%_L&ZW%!#R/"K#=.2@$Q0"3,^^A> MK2"01,&&:A77J"7<.>6U0SAD^=0+QC66W%DM@-72I9.B&F?U6,0MTFP/]>3! M[=%6R*.8/*,::3PR#4E(9%LQ1)^.W.JZ_) O;E;YZRN_7"]W^:N@.@_05/<[ MO\N_['0@Z?<9%M0:JA0E0%@EH!=$'(8TU-1%E5"V:I]*:S5!+#!"A6'*.8BI MU9I*IJ1*?>2GAEQFC ]&>.2![13L-]QL')GXR W'$\[W>%]4@!^1V/U]\EF) M.JM@#[T#&4_LN5W(A&Z:AM8FM?#^;F1R-F-UMSB'Q-_LR@CPL=CLEG^O$K[R MA9SU-K\'46).K>.>"(HTD=Q@9&M)8,3$O2#7)S"%K>6>*?*;P\XI=9@35E9DIV9D!SO:R?@PSHS3]\GY,97PG_7G9*)"'^YH$"X& M]?JTXLBPIC\18$;@OVGDKF^WOZ2;ZI7V8X3#"24=M@38*$F+"27$AYF MZDY@"IK6Y#_Y^1I!BA"A0B-'F?02&\6) T A7AJ43D1J2.5JWN'9[;%FWT^Q MWU5@;B?/2KO MI?,<>$X)I6$@(<#J0:6\C+O!K!4"@BW@GC(%L0RT**W"R-9.,PN%"Q*3. [5%;$3Y[&\T#Z#JA%G-?M[S.4_[5%/)D^* M8K?1_#F%MZ:AK(EM?'(.G8[1III1AR,-]^Q@18&"[ M5*=KJP,N,:F'Y8^W:%L^#-L?^['9S9#$M\]HNG&>.(5YAL)&:4M?;IB&,B:P MZ\GTI%_FFNJE7Z[GZ\OE?/5R'72YNNYH_S2(D\X":*5DGB'/B(?XT!IEB$;= M+]&VC<1:>(25W>)J]4)0:PZ;:=P0],4I6AOFDFC7$]2<4:JN9$Y#ESI;4?3; MQ>(TI[[T=1NRP[?YYO/RD>!1/#<-W1[' M]&("(R!UR97JY6D=L-7W%'MO)\(J3 MJ$X\-A.HH2B,DZ<]>^_OLS>2.)WAZ(PT]<'L-(2I%TN*_OM=Y.9K\3FOSG[: M_'W]!"=7A"I(@$!>E'>C :/J;0OIN8M[;;?%YZ?>4*TA926FYT=/?[PUW"!- M3%GD5F@D6VDV/!]2JT*6T]8=XZ19Q3@ ' ]+$I"UG4Z[JM M&DBLCT=,;1*T=HPUR\N2DQ4GE_=X&BD)>XR4,[E7)PZGD7)U,Z'HL4_U7\C_ M:KG.7^[RC]L90 QHS%U0+Z,=<-($% <,7!/>=S%_\Y83R\^]NJ-^M++^(XOGII])O#$-;4QD6XL2_[8,QIP\ MG'G.+(("&"4A8- R>11J Q6)>AFDT0>FKDT(&"(+$AK1T$RF>F<@3GW.&I_L ML.2Y.H$8/J8Q_N,@/W*\,=+>QA.I8IU__6F^^3W?^9N0:*F=F6\VY7L5_S9? MW>0SXP'@Q&*EI"X?J2"<'UHE2"LGH^94'=M*/;TJX64?*WS9\K;\-'*>U970 MAE.N ;F,G'U5-.ZA916VBVR^RVIX685OX*G8>;+.S..F[[=0SMCV,]L]L]%Z4N#J^*//TP3)H2SS@.S\AC*F],0RB367>_/#0IBWV+Y\^!O ,0 M"IFS0< Y!=(J:)V#\*CBF$;-?A,TGUA"7Q7KZQ?A]SZF%]$8SOO5T41T)Y#2 M6Z335--;?#T(:@NW?%N:VL; EK+:FLNFREH*Q;N@$R]O96*F?-!J;HV2#CK# M,=#@<%J;8"-$U)UG;3X_L38&3E]<=DTQ6_'63/Y24Q:G;[>1Y&4#KI*HV".$ MG)&I+O1-0X!J%, 1W&1U+U7;B=?YWI6_$E$$FH+=\UHT!6);K/,]N#*VPIN5*+. ."LA M[__61,R&<41$N>[(#FE7SUL"OGBPHGV1;2O75)&E7)Y=E:ZY/V/I6@ <3]@C M@24U]1,H(4YI73%,!XY\CWIS/5\?WBDQQ7I;K):+ZB\!Q2^A,]>]_.16H[?A M._G'.Y<3:P2@?&FNO-S_H>ZO"QNUKOR3>--L0Y?7AY:7B_,AS"L\NW+]>G/+ /"3ZM\ M>_OL */$*TB]15(JP#R2$!QEQ]FH"KU> $F*K"/>28$)5=:KH(.8*>Y F$T@ MG_H:M&!#=A=ZW%Q^&*>@U"(@Q#=BF;WGS62UOI%.,([VYF6",<+2]L0MN9P=XKZ],8S/V:=/_X M0_]\15V2=O+BC$5$2,)YF'F&KP%5VM2-0$WC"F_B/CIQGJ3>OG7OWK:X^2R" MG(8[O.EXB5.?^GGUD43F+@_G]E[;$38-X6@+_K&;RMIR$"<&AVJ68ULAU ,+ MN.-<$H,$-\SZNBU.X]XY:=?"0"5W\PKR=-SC MY5D%:6F1I+]%,2<>PTTY1DQ,2IR!%&EN@I<;.8LM,(>R\!X0#@IR43(3) M7=VRU#IJCZ6/]A*+Q0%BEN\Q[@LABA)F5A]$V2^\QDE)+TPW4YBA28X3GIK? M [R*W@I@=F^U=EA-:D#:&:GJD_)I*%BO%A7I.FB'':,9$M0"!;%2#BDFC92R M7K+2!A@69#"],9/XV-0H<%Y6?KZ*I]O\S?+ZP^[UU>_ MAORIE,F9PA JPH1 5GE/+:%6U&U2$/=\<;>6$HO5$5Q6H;O(*GPOBJL7 >%^ M#A$G5AUY;:96PU$:)U==V$QSQ.L<46<$JQ^"IZ%8/=ER_ZA5CPPUU:R_%L7B MC^5J-;/"*:VLD"3,Y9P#4#EP_'@:)T^-/S2Q$M4XXN2F.27-E"4)&W$B\BP1 M292B;O6,*$1S,XWQ'P^[Z-@GXD:U7ZZ7N_S5\G.^>+G>A9ZP?+_:R\BV3'^ M(%9IZ:C1EGG)*">\;I2'N5O,6._85/*-I1K289&EQ5RI*YG-5&) 'N.T8P_L M184L.^&S7J,9?,)TGJDS8M,3Q=.0H+Z,*9)TPSBYLOE5OMGDBW?S+\>F3NYJ M$]@* B@AA H#'1?0U(T:KTC4Y9,=FTHL5S6Z;+F^+#[FV6[^)79'O"N7S=1J M0!KCU.K(8$!V*E%E_659!KN_-D.M5L4?\S#.QKM,\CR#9U2L)^JGH6)]&5,D MZ9Z1RS^W>V0G;84L3F@(/4/(&6F0E1+6;4$CHW*M=BVD7NZIMH;;;&&U)*SA M>DYRKB+7<>[LH(^E.H^RZ:DMT83YP^O7BK]\M7+=R_=VTS];+.W_Z+>N']Y_IS0G$X[;W[NMHAZZ;,G9&JGHG M?1IBUK]9]R^R3L-;"T&\?V+<,5T6#UGC!11 .QA$^)A),1YUKJI#,XE%K[[O M8'6+,/*:B"X41@M:2O9:2]CXMT8\S5 SR6I+Z^1$JK4A3\M2-VYB3Z__,O]: MGN6Z+67$6F@F*4*,2&@,H?6NG(64XC;GUB.;2"Q QR/3G_:PVITUCZ6MX:PL M/6.1L[2:K .BD<^5W^7EW$2N&Y'3D)FN1CQQBKP3)Q'RLKG)%P]E;88X H)* MB)'&R#L(F+3']I2(JEQNWTIZD2F!'4]J18M,6_(:Z\P O$5+34798WG.X&KS M.#OG!:=KOHW<@,$I]$G/73GWVH+(*U;CR\Y">Y^6G Z63DI\N=CPN M/YV9B:WH>;._-J:\G"S\;7E[6(QAZ"2UGBO((>7 :EQ?EF$5PZA-34_KQH:J MZCEBIR%A_9GS1&E/3SRU.]M5IW%?ZT8-Q8@B#;1U5AB"&83FV*A741?S M=&PJ=;G/_?-(1X#/C[DDS#;3L0%)C5.Q+GP.<+[K/E/G:H7ZH7@:^M67,6>/ M>'7DJ/UNV\PK%30RI'M8",,%8I0?15(R@V)*BEI\_"#E1?7M&B=[;%VWV)[G MK>W66J^4==]2&WL?+6K_K#%WTY"6+@8\NU\6R47'].>D M)SRS$CBACL&=$V M"%E]I-Z5A]QZR( B6ALQ"6I0VIN*XDZI4")V^\N&1JN9?HZO^)RH!=?3T*X> M[6F6&;5F*G:EZK@T=J*IY8DW;@W3S%@E0TO*$(1XO3'HD!:TS4)5V[:&6J?J M?OJL-9MQJU)#$-ER4>IV"?WN7M[@QV6?X:K!DE17EJA\?J5O]/#*=)9AX QQG-)RCIVP8["Z5#<$;0^VTTL9V_V M3V]D5\6F@Z+U2G3<['!HCMM-&[]6!!]QAK\OU_.HPA9! M*8#RCNC;74^L%]2[\-5S;&H:ZR$6MBK6[L\ QS_\_ MRL^Y1:SNI$Y#<_HPY+'K /K@IL5FWDP(RP#GGH2))-><4TQ5W0(15K?1!V<[=A4XBSDB"ZK MX%U4%WOE%]D)Q.BG?SHQVTQ$!B0U3E>Z\)GJJ9\S3)V1H)XHGH8J]67,P[=] M^N.HJ7:=N6$ >680%40)SJV6R#!2WVOMK611%T]W:":Q9KW],-_D!V3UK29Y MA3#RW'\7)IOIU$ DQFG4*:C_5E]$^-DRA0?/Q;KQX616V3=.00^. MG4B*=X:C,V+9![/34,M>+"GZ[W>16VN+1;6)-U_],E\N7J[-_--R-U^= )DQ M2:FE4H=4TA" N(>ZOE'/HS 9CMIJZ]Y<8O6\19B5#VB^",IUN0<9N>G6 [$- M-^&&Y31R4^Z6SA)=&0@.^"ZR4ST;>*/N6Y.750KYPLTWZZ">6W5Y>?/Q9C7?Y0N;7RTOE[L91EARX[$$F#,IRC_J6@5O MO(^:MO;07/):JCW"+#] C).S/OAL)F<#4QDG9T<6:W39GT_P90> ?QE6S9YG M[(R:]4CW--2L3X.*9%TSN@"J;JC:K@SZ^6F3?\C7VS!_VE=-O"JV9;'JZZMW M\R\S#I%D2"JNO=&($0O,8?L" 4MQU%&>OMM.G;^=#,>BVK:_/ 6U@ EI#%]GL<,Z1I^)]TR@J/0UL$8'9LB%L;4Z#1XN,' MJ=/8/KFST75CXWGZVFYH],I< V'JQ=8T,7B56[ Z=B]-]:R5!WDIN)TJ#\QDG4 MX\]$3.MMB&9U:-V8G892]6=.Y!L0D3P]IV*7U^LOY1;%IV(=8MOV]969;S^4 M_U^V]GF^*K\9<+QKLDE?;-X&/&_S MRYM-%+.H=\H!XZ)@&PBE'(*J'OH,DZEF3SF <,EQ)*HWR MCDH)A7 $28J=1^$/F/J&\+V>9* X82AP!>JSTCY(!Z2&1Z:! $ @M)9!(@17G(*<.-9?*/&>% A3QR1A&OJ@=,.4"V5I1I@ MKUG">JTCOE*>'ZUL&.\L9@/FSA8X],G\-(9PSS8]*(/HG['FJ=?AZB^[W%ZN MBNW-)K\]*2J,92*,?$05T\ J1?X1AMT9S@Z M&T2[,SN- =:+)0]"8%_L-!U,QQ3\V/2;,++OKGJIG<\#F?-5.>IO N=?[_SP MC")'+#5 (2:T(QI:ZVMD)/+4WQ!X$L]J7AYOWZS?0L[FN^S7'][^D%WM<6?; M&GAV66P^%9LR:RY_OOPB;FHSB/^:B>;47!)5\.#JSF6M M7F-,$==>"F8\1P*B R0GL9!]!XO60%)O29>X[MS4?#QJ5$>)]_DZOUI&OBR4 MUCG]18)!_)(J!.R=5^XN5?#OW8 _6>E_BO..FM_9E=^.V'S$%\0E$8)Z#0W7H@ LH;FD8BZ(GL00(GE_H#O MF.5GBQ-P_2M\=__TI_2#NB:5XM?^N_]SIX9,6/F?\T''"-";B[^=2-"?R2TB M0L]\]QD9PC@&VL,J587%:(^A?Z&+K[D_2^*4XLWN4_[/%.6*)O.>THQBV<\^W(;AOC M6@AL:PX;'8QKB$!=[D)_XC,".$:>@+GU%)95J3OJ0F6_,OK&/1\FR_*TW3Y>EM] MUWVYS+?;\ MZK]F'_&O&-7'<&N^9T@YQ1PBZ#:L"T423@WY!3B/T5==W9\6G MZH7-!+L%_?JUQRV$X7V9>E^AM.C%^]*D[-2FBVQO5?6;![LF/)6)#;F1 ELK_--D5"3_09I\R',#C##[CU_+(4Y,->N>>$ J4T ^4%* XI3V - MB& #$P6DEFB&B3S[:QD7I_$G_QQ__B*E5_H+)RD]D3AN[*&7-Z8?P'\+A4B/ M\]TQ''1TXK>C^UT-;2'PO7#;IY)7\J06_W%S.#8R$YR7*W4!@ -,(8?"'*B& M8HAK=&M44@")=YDK//UKXHP"W]M>W([WM M36PANAWY[":WY=F[Y?IFN;Y^_2G?5'BV,\TU51P1#YD7!!JC-#@ \)IS%G/Q M:(_-1DEK_!6D#ZOZ^]#9=@1W4=?DW*;2U D)Z&,<1LMF)T=,62R[&=9((GO@ MKJDPEM?'5+?'W![)VA[/9%$-H0#""X,%9-Q*!7EU-P R$B**&H[4LVT C*F" MWB#K+:7.2R804Q 2)CET,.%YP]N;<'5L7&VW>77/XLE%Q3_E\Q+-XO7Z37D?UR8,=SW?+N]?\"(LE,++P*?@ MY:*7+"]C/PQ"J5C4I*]?9,![2)$-T(@K[R/0$G"(A0YD(L -2CP;W"/?'U,X MN>6[!E\=9+L=XL4ZFV='<[+*GK:W80WBUF;:.EV/QHGQZ0U:MUZ[R)YS.?C]+KRXYH_SCN'X:H6(DVY^\KVMX#T0G> T _;HNWF_SS><2U\OUIYO= MO3*,V^MHC!-6(V$I!YA#X0#2M7B%?^ Q,2D)0 R 4LQ31R"@T$H!'': ".ZI MT<:E?GC\5,$:RM9%=FI<5EEW;Y(8%Z[&<7SDC&"J/F\[D^C3W:,'LA1>:C*3 M&:-33".LC4O!4S.G\?S1^#6I .MD6B<,LSHS@EH1-8^RU!7__ M):(N'#3O[]MML3DL#JZOJS9_F7_=WP];Z'*/)5]^SA?UC8+W,DU/I#"> ^FD M)M@HS3@&"&H,)+8\;A^Y(Q0FD5=2 4,0H]18S8B5'CJ*.488IGX+?(_^(COB MSRH#+K+:A+( ]7VU6E]9<7%[%VC;1V^&\F%3C9N,^V(U<0C/)=+3+IR?U=]! MG#D5O1[&V ?Z/B#',?$@S^^"JK.VKT\)"& "0X@=9T!A[\KMI#))LL)AHR6* M#0*Q[1M59F2>A-3,4<&X(!("3@!'CG#D4]<2[2$_HA]'W+>*$2_LO3NCN9J/ MZ8=X"6_J@DF(=B2USRAU*D=-1YZ36?B()J=ELZD0ORGKQV]R'^BH+_;^VW+W MP=QL=\7'?'.<%F!MPP3 A9F YMI1$_[/[C?SPS]821J.][Z:2S?&#PBSLH,< M[]3/_@@@LQKE://:ANR=&<9]\S^-H=N[547:7ALW1'\J/E=7>[]SHA@K[1/0P'[-:E(V$WC MM.]>@S,"+"*8 >VD1P8:X+&O6X&A_5E(J9;%XNUNOMDU$[O8%F*&VWTPC4>> MGH>_7N;9O'IZR889^L?W(>_ \**\14+$*5HTA\W$*R5Q<3IU7YN&%:-[/)S1 MG;:,34-B6J,O^NDWG81#+1;+?54R4H1)IZNW@:C6F M,#\V5[Z%$)4JM&TF< M'+U<7V[V.W"[(EO4HV-SB-QE:=IE/959Y)^*[3+V '%[=EMI2QIBNXG,179$ M-:K>'%$T%YYX.B>I0"W,."]%;7EIJ4G'/RZ+ZW7Y0CG&C6MQYT+W11F.J\]4&!T15'5'(>3;/A/)4!+?2IU2D]B14]93M%M^H MBO60K>;2U8'I26I8%WO.BUEGIAK=G'FOT<,]R.8F?&]]^=5]N:RN*+@]+COS MGAGA)(,,0*"L!Y;A&@.&)O]*TG+K"]G!A>7Y MK]U?O]UP^PK$>/G)6]\ MLKO*7\U\#3>K\9Y<"#"J R*NR1S5$>TNRNS9(VVTA44,KO56$?>TA&WD7?F/F-.:^$#^D__5FO@D#9O7U3?ZIV.QF!DC"L1:($:<\$@QJ5?=B)6BC MRM]SGX\UHU@:QP6T5!F@<%EB!RB&1(60F/HMNF/7/N+*]L#B!WTT<\W'?TK2 M6DI!8[[ZE(5[/#RC$&U9FXY8M+;@$=WHQD:,A/Q2SYEL>25J2&>Q)5)20 RF MPD,+83T,A(2-7K]\^M.IP)Y+SI ,0XI*HHQ0%"OKE-$2\JBU_B[RL4>5!5A9 MB2M>/2)):ZX=Z?AJJ1Q-J>I3..Z0\(QLM"-L.J+1$O\CDM&%B:AIQ&:^WE;; MCP=MXHXJ3#0E%CBM-2"4L4/WQ]I[&SVEN-\ 1PP%H 3"VEH1'!A- RS;:LM M"OUHL.G%$5CKM".>O(AY1TK>VLY!&E/6ZX3D'A//34[:$C<=&6EOPF.3EFY\ M-!$3M]XM=U_]APX*U13$7GPP<@8P+Q0 MEG-(N43*.4*)%U@J$)+\U+N9>SQ9"2C;(VHN&O$D/2\62?F)$XD(:OH0A_N6 M/R$*K0D:7PS:0R]ZZ""Q@_]-?KTLUSS7NY_G'T/"HB#@$ )--484,^81K?NV MY2I2 .Y]N);* 2L8#U-\BK21T"!O-9#E0KXC%H2594Q&'MO ?"$0G'IJ+A,G+4X2KE^M%_N7_R;_.D$.: M86R=$1YQ8Z@/*R2<58NVA$U%+EKC?Z 7W9AHM$M? M5S[?')?GO QI"W92<$JQHIKP8Z D@IFFFO%D ]X1(!DU7(2) MO$-2,^LA<9Q0ZZAQJ6^Z.N#*]L"R$EF+I M*HOH2MWX4M+=A*+'KA2_X'G;E@_?V(^*9M&2ELQL;\2*RWZ/9MT40P-( 0P'S3AI&!1;' ML8 P;"6@UQ$HQH%._XG%_7!RV$CM)212!L6*2 MBKMNC[P9KW;?#7%(LS+(6%,DA#KF( A AK,S;%RP*G&^4.3MC3!CAO& MM2_+SYP7TMB@85R%L:6YYL,LC-[!>)%5*$-/R0Y(LQ)J[%II1XZ;KIP.1V^K M==1.S/:WM'J6I;,+K?WP.[XT]6K-@T78/EEJ+F/OYE]>+H)6+J^6EU7+AXUE M;QG5SF.I$7?2E:N*Q_P=:=.X6/U\*TP@9X4WPE$=,B^C :6: !GT67&6_&'[ MPP K'P>^"Z]E-4AK,ILJU1 \MM*H> K[$Z8G2#DK25V)G(H8=;;C@0SUPTQS M 5*+1>A>V\,?KY;K',Z\AL(K3I'""A'DE>&^'B]A^$1N)#_6 I2<2QC&(Z:& M6B:T#VU:QP3P!'"?NMC],&H.D"[J+[(27/9Z'9THM2*QJ>BDYJ^5X,13UY_@ M/$+(6;'I0N!4A*:3#0]$ICLCT0)CPI>O-^^*/]8S(B *J9, ''O&J'-&U$=" M,&:N<4W\4Y_OG&)ATJF<"+80) 7Q)BBD5EY!2TCJ@WCW1TB)K)POE-A:"DL, M>9&RDHBW;J+2B++>!>66BB9RTH*XB8E)&PN>DI+6;$0+234U>[WY95-\7@9[ M9QH29 7D@%@#J2>8Z3K.$H=(NV3E?B-2<@\4%20$=$H@$8HJ;XA!R@!AAZJ1 M/8Z/XQI$#;"EKD1S&2DN*6GLIC#-&>Q=9NZ1TD1KVO(X,<%I;<93JM.-EVCI M^:78[N:K_W?Y:;_^Z;Q$A$DLO%0<("*!K@>+U#ZR*/_1)J2TFB')%5"2"D\T ML!H::C#CF Q=":S!Y<%=*V6D]NQ&"DYZ0CL)CA-N>M=;NX0TD1LVC$X,:EI M:<130M.%DT;UN653FWQ>?;PE3@#JI-)(,LJ4!>08A26 C6OH[GPHMUHP S4) M?N1(GF%X@\ M^& (M(84,D@HI2JD/TYY*Z61FFN(H4D\N"L\604H>N@0U M?0SV^Y8_,>!;$S3^H&\/O>BA@T0?T=M7Y.^O"EBNK\L)2UGQ!IFP'AKHJ>WC1 MY_9:,MET^C B:TF$-'\]7B8[U%*SDXA.K(XOKST8\;#$WY]\!)3'!<&[/QR MM_R,NS#-*8>+)XB'EL5]V@CT&')354?PRA"7"JK MN1124X"83_ZDY[%HZPBN/+8VK\=1? E<.R:;RLX )+:2G6C^^BQT>XR29RK< M.K$X%=GI:L8C-6T]\!)W9='&S'?Y=;'Y.@,6&VV(*R]D#(T!Q\,DX"=1$#@,(RP37VP[]#M M*TQ9#2I6&B+9:BH-Z8AJ)0T-.>I/&N[8?U8:VC$U%6EHB?Z!-'1AH;DTN(_Y MYCK,B?ZZ*?[8?3#%QT_S]=<9UJ%[ RJP$HPI*BA1]>D28HAL?#')N39D. M)>2LJ'2C<"KBTM&*!R+3!RL1>8^/6PU61&K, MG8^F&E"IO&(TY$]2LQ M3JP_GX"TH6DJ$M$._,/THST'303A;7YYLPG-0/3^W7*WRL,4W&@@J 1A\H,8 M[OSJ!LO6#SX8!A2=PF 98 2*DAY=PHS' %/-3&2I2[CJD"4K_=!].?W M?\EJ>,WU()ZIY]4@*4EQ6A#+3Q]R<-_\)\2@-4OC2T%[Z$4/O:2Y#+S;S!?E MCLS7C^^+U8QXHCT'05T0(@2$Z382Q_U$21OOS-[]U! @E64&64,P-=X*; Q" MPLF0Y@"A4R]7'L!D>S3-QWTD-<\/^G2L1([X9H3T,=#OF/S$*&]'R_A#O"7N MHFN'B(_Q]0O!^_N8!0QABG#'- ]?4\GL<3TM)!4B-L[?^7"+!/56651^ <*' M>^F@<$(1SQ1VJ>LL:TRWKV''W:;>CK#FX3X95W$"$$E3GQ'_E(%GHGXKLL:7 MA6[P'XG^'7B(*-4J/GXL+_XH+G]_^V$>^L[KF]UV-U^7^C3S$"DB!1:$>0F\ M%](?1X!R(+9@ZUQ3"@*C0I+C#0U!U3-)B;- < B]5H@.=)W0'F)68;S(]BBS M$YC1Y5N=V&VZN# 8L:T6&UISVF-)UQF"SA=V]<'L^-+4IS$/B[SZX^@YV:K? M=_?SY>;?YJN;W"ZWEZMB>Q-:?9=_V>E@\.\SJ[35S%,!/.880H.T=HQ;AI"B M#H,FJM6L)80M5HX1!2&C9?V"UIP9CY@3!GN1>M.U!)=5Z+*?\GF)K;Q_KN&V M:T]HX6F,DZ@3!D^09;^5V+(*W/^.D:=:G:[FV_<5KH/]I42)'_/5;EM_ MI]0J<:)5C8AZ1*KZ)7AK9EB)%%XS3*?5YO@Q_7^6^V+R=K_)#9K?,MZ8( MVKF^*6ZVOZXW^7RU_'N^>%54)^ZJ5_9>Y=OMNY#]O?LC7WW.?PH__6%[M&"& M)=.**V<]EA8@2:$A&D$O1)BL4-?HGL>Q,0ZAC9]+)!?9JKRI9Q>09A!E'RN< M<1HYFA^;J>NWX,(X73Y:].*JV+S8!INR6Z,NLENSLEN[LM*PK+;L(GMU]/K> MNFQOWD5V*_K#:GLB-YV)"F-WC&G$D]%9**8U7(>.81#MD:K+RYN/-ZOY;O]C M,ZFH*6_,):Q\AHPS(1T]XK6:S];Y=?7# XE@6YR-9%#N9?#4I,9J>*)Q(7'9 ME@HX@9#6VJU#!;6D_IQ 6 N>KT/:B8G5SW]K@>T)5R4-;5V[Q_<2W#KST'MX MZ\:6^QHMM4@.,TGKAG' 2=HQ MCI77DUT'4W9-[U,8FZ3D 6TX'PX?SN[,S4K7[\W[%F=I9]V4))3UTS&^]4#6 M$PN]A;$^O9(^B-7!MD9Z/^@2X:E7C"#,B' 8:43T :_71(%ZEO9NB&C6%6R+ MJ=J[^+#VR'QMS.C6V<.IX]L@7ATMPAVG::?1[5N=L#WCJB11KJ_N\:W'N=YX MZ"W2]>N9]+'N-@H3XQ'71AC/F56&L3"MK)$IXMUL5^SFJ]3AK#F>J(G8$7KS MRN#R5[*KXW1LJ- 4X9#402B-+X8/-]_>O"GM'"G>K]]ZG&AA<6\1H2W;;;7? MYN]WM^A.XL]?-P'578PZ#Z,J?S?_,M-:!1R4^?+V&6YAZ-*VQF8<9L\-X)!0\CQ=TY167'_2AQD;VO M;"G?S1LW.+3B/R(\I/7O- -$8IN?"1%#,-XT2+R]_) O;E;YZROW\=.J^)J' M +;YO+S,J_ID/=_FB_)\=;[>5D\-JE7ERO#5ZZLW^65QO2Z![I]J-\5VMWU7 MVCFSQ@$F-*>(46F0=I*I?2FLP,ZYIML :< Q;9B'@$".+&4VT,J91I0QH1!W M(.69HH,]Y4GBVJ+L8-*^VO_%^]*H[-2J(%9'N\I?O+4LVYN65;9EOU76#5R# MF\1#9\1KW!XQ#3$;F8-B2F,T3NS*!EY?_;4H%MLJ;_LIKZ[VMEAZ!J1$"!-# ML?!$P(-:$0=PHTOWGVFB/'KF$$>:2DB-$MH SA6!SE$K4?+73$M4>^WXG*]C MERS:LM9,XP<@+$ZD:ZXJ2!?9/L'_;0]K8'5]G)LS\MB1S&GH6U?YF]S5>K\IJJ?)UOYBNU7JC%Q^5ZN=V5+\9_S@\-8XJM9=XAJ*RTRDFB M?3UN&(:-KMB.:,X1[+SBABJ,*?5.$TH0EL(!@P%"J<]='4!>9 >8%]E\O>WP'[0]/P4%I>'<$%$LE*\IMS\8C\)R!RW%"0PJ B6:>+2T+[29-?+=?Y MRUW^<3NCPFGHRWM_!>0ABE%B:3T8 2.-XDDJ;)IX%*(I#')!J"4D]';,E(:$ M "6Y2GX)>^]S[-*TK+*MH:J.YO5FV?>4'1X9#Y]P;:8VF_)FD%+QL_=?[W2! M7^9?JV^K/^:;Q<7=7ZNF 8W\G23U[]DQ9^8,8W6!:4PV1K.^F,9 C-Q2W /( M%X_C)2LM LID9J1;T" M$B+/L26!U6Y/)61?(\O(N'-;/+S9ERE!6>)2/)^T7K4]N@O'& M,2>1PN1-4M7&G@%I,>([HLCV\N(#0E<=F^CX@A9'3F?OLC2ZWYZDZ MHYX]<3P-,>S+F"))/^PUN_[K?+DN"ZR?$-9\$V9Z'\-?3G'2(*3&*(V=(\Z% M' RHPZ@T"MM&KS^E0^>)18Y:I30/.#43 "OE)3>,>4!1ZB>D'L^Z+K+2DNS/ MI2U_Z35G3N&_7K+FD5T7)\0-O#:Z-/?.=_M<.*%OIQ$ 1K0_+A].[HFF8>9O M^?+ZPRY?J,_Y9GZ=_WQ3E@Z]OGIPO;^>;Y>7,RNAL\1;X(STCEE'"?<:6*LH M(]SI6?B4]T73(-)OVS$JHR_W2\M&+[?ZUBR+V!9%$ MCF@6"\;S0)S.USBS ]!LC[1[*$#"3"G)(J4,4.$:YD R1 QJAA+;E%D?D0D4R1W30UX%]T(_2'D _(K?9+>X) M2.[SY,:*;X_NFK ,]VEE$T'NG=6.">]3>&9E 0X1R!+H!!;.(:M6(: M&IK"L"=7<7OFKO'SIT\WJ[_^-/^/8F-6\^U6?5EN9];0(-?0..&,8$B&87L< MN0!C%/48:D2['ABK.$"&*DVA\TH)B['32ADCK4Y].<@S _?]UZS"FU6 L]]* MR)'JV:L3FLGG6/S'Z6>OU*=Y9+4YCV M?\QM\7&^7,\4,\00(8S1BD,"K6&V'L14PZA*B=BVM0>.F& XUIX2(H4W"@#G MF)?$.9+\G9ZS0_KBSH N46>_[7'W)ZGM/-)95I,[HT]I;>.'H?7U,4+;:6PG MUTQ>9[M9UUQK>V"QJ=[:\BJ2Y?N;LK;W3;D L3U<2<*D(.'S!94(R3#/9%B0 M>AC+ "!&6)]L1%)FI-<0$.DH1U:7]U,3"TQHASLK4E>2G>#*UOGNCV+S>^2N M57O^FLG@(-1%5G*=LK;'--*M=4^1KXOKKG58%:;A;L:GS+V&O=.]/94(P&9#)2DVIDV2VTD;7I M/%?G)*HGEB>B5'U9F6IT;4,YF:[*S[FF^/97;5>O,E7U1'O[8?EI[II M@C4%&K#R$4&"B)3"G(XVW/A2AJ8-"@\9]QD;C-$[+CG3>7KM07KEY!V2;&S=[8SGB\H4QV&YW M]4(_K#>[@Z$A*X_$B"2D3N#^A=Y-*A)VPLB#K+L/^>;!#'_?8GDCM,) .*ZX ML@(0#$P]U&28[D>=8CW3CL-4&HB0LE13YJF #O,POHWWG@*4>L_\YV+]HKJK M;)=G\^M-7AVBB#W'VH7&9NGM4 S&A8,*U6/;W*.DM6/NIW2XD;8TE[ V//4@7R?O.ZJ/Q6:W_/M^A89Q)BF"% BA#*?6F3#)W8] MH01IM![9H7FBD<$&H_^/O7?M;2/9LD3_2GYH8.H N:B3Y.PR' MH7$K-(<:6D8U-A( /7;![-,'6$]Q99.YWK0/%KXI&,\KAJ@&:/V&90JMLQ^"2<9T'V[I M'&486OY^?[\M3X=W4V1??=A5*_<+KT5,H22*4PJJ:)A:F,/ PTIF2F5>!F(I M8:H:\TI1[(!6FCB&A;9>X_#EA<_^!O==/0BP[;L55X5?[:Z7=\5_E,MM\?MR M']\&_U[\U1J6;VDK@S,')TC3^C%OJC2""Z=6Z!?I[Z??^;PZ>W7/:&IW[<_- M;XZI[8]@WI7Q6/1-O"-=CX>Z/]LM+XK\SUGTKG].GOESV]QPEQ['+;'B0-_E-_V[_]9 MWGTM?]^L]Y]V"Q"22:H\ 9C[CTQ$!Y4)@0LD&NYLP,48I1'@@@)$:= 84F] M,0&2=U0@;<<^=S.VRJ=3/X; C\KZ%-H>#2AJ"XK:A#FK^F.ZLPEZ;S_^C%K> MW]A!,CZ0XW$4/(:2]__<+"Q"REL0CQQ#""@'@+0WAP5FW(PGW"T")0S3T'*L MA:*$$VFQ2G M^NIG5.!D&P<);S]&1]3;T%G+!96 " 8L !0XJ@'ATO*86Z. OLP7!;>: DE4T$1L!4A"'#;WK63 ).D*O(](3@* MM6680Z -+;^=J-Z+/G-SO)DZAN1SUU\(\:LVIOD MKI]5>M.,'*R\/3@=47C#[RXLX ;IN'U)";6,"'PX>R!9^'IDX8T0% CI']*( M""!IF $(#00'GEC--0:(CR^\>'3A[43U:,*;F^7IA#?\F]D+;_C=O,*;XJZ? M5GB3C!PNO.F>CG M$.<'1&=3Z'[N^QEENJ>E@[1Z"+N="Y%\*;?+^#3V;^4RJ-1J^6%UM]I_7U@? M1CT (3H8@X WB,87BS4,:;DP#HJD(B3/M*$!!%0+B"$DE'@OO(Y+,!A)XYU3 M8R_R'F 5%:ZKXH LL0A)7PJ[">H4[*6)90_BQBD[\C0S9]1M*)?S4*[!5CPN M-9*%E7Z*4Y7G>W/[]UTM@PNGE6&"4L^\0)1)[2%M!XW0W*4E@>?;4I)ZZY54 M4$#*B-."0,L4X)(HX6A2?;%>:=YQ(-W5 VD;$;[:W+ZZWY7%,H*\Y(AZQ%?G M<=67YSF.KMZVG!UCPQ@:&-O-_78;WV=TL02FQR2,9>,1X@IRT0XU0A =,M1^ M:,PJ ;6,0YF&A(40I2D2P3AJJ45^@M>_?QAK=RW$J^*Z!CF+Z-40EA[$4IF> MXVCK;TRWD-:/HX'C[8_ 1--N"* >"* X5-K&>DY '%)"Z>2@Z/94>XQ)$6\^ M6ZT1]8Z$"$X LHYIIX#&\**C;GW .8N!=Z0M?>SUH'S6PZ^//=U&8&^F^@U" ML]GM%SP^#&^T8XY;Q'C(9X5O1IW$3B;=#W[BX[TTR&M#:8C8U' IPT@FU!IK MB52$^LFFLVWUELDLB;H[JD&7!6 M3GIPT4\_WBZ_5V5I%Q1(RXS70'F'B7(!$22V$1UT1"ILG'35F:..$82@%@:Y&" 9 M%<0PW'9Y+VC2+>7DQAD'Q(411@ST-%9-8Y9: I$P1"O#R=3;<2WDHL%V-@2C/4$1-D/"\3VCD7RNB;>>CD>.:=S9^R\YA% M=>N2%>T/WY?;SW !O6)22:8(]P(BA04_)!K8X'RJ^U3C5#GL+'+&84\U( M9WX"Q1UD7HKB#N>QY\97_,_K]?7F<[E0"@AM.' &<\-A/#6BVY&LL$MZ-N'Y M5IPV2FDAB92< JJDD+&@F%-2 4-%6CG<' ?)JA%:@QMTEBR%R3Z:.!:) \6O M$W]3[ T>Z>F^)]B#TCFJ5B\[SN\!]F:FJP[]>?]A5_[7?4@MW=>X=/>^_+;7 MP<3_7"B$/7"^>D.)6XHUX,0Q;AE"ADGG4G3H^5:P\$YK R@@DBH1Q980' M? M,>00'+NRUQ%842-+TYX!['73GFF(2].>'S@K_HJPB@K7Q$5SG^7GC/@,YW0> MXI/!CDWNWI8F/J_7L9G-]GNOU\5#6R@XX,GDL6\4R&RJL0C;&G30 B)"3:Q^?+/[0LPGQQ#]_?#EOZW*;?CWG[[_ M5GX-COJVBL^3&AW?KC-0,,^Q85*(@[ 8D;1.UK')\.DLS,<-@!10Q+F2"E&* MN? < L[&/G9RHA\'<+5BJ'\/L]B L*_*#V0Z4<*G([FW/B?S.ZX.GV6LB\CF MH7QF"IK)J.?D,2=GR=IWFB#\",-NXG[IPL*0PS-*G()(8Z8D5(>!2:1,*P*7 MU#(BT#LE$!# 40J-AMI+PET(!D03,7;1S?,CM<;85POS,)\HB9.3GE,97^)[ M7&WL0ET7B9;;_PQI?G&[V1:O;X)O5O'MM3KW+WZI+"C@WWJ* M91^Z$Z5Q9*;["N%540.+1T J"HN_:G27TL$?>>JB>@/8G9G&#;'D.44;S,X0 M_4)-BQ@0X9SUAC#NM'.:2]0.*"Y]4GVS<^UX)@ 'B"!A#17&2LRP5P K[SPQ MPHRL7W^N/JY7MT&?-B5VZ_55D8-MY4KE$&N.K/;7Z[&(#:7 M7*$9R17J)5>I[,Y7KI(MZ2!7_=@9(E>X:=%)R;#VRC@7UP0E1I(U1*:8E BEL9DD8AL1' <&,1$DJ.OEYV@JLX !NZ9="?W.3] M@DEX35.O7I2.O4OP'$_=M@@&LSPS%-R>=89HHPBT!L=ZA%H19BEF( "A2(]]F>DT@7AF M.&;;"DBFNO\&P)@L]\_0>A(\V=K_(]825_S[(2YUC[,O[_.5O/XF==G1 M',;7E >H?UNMR]?[\O-N(;1#0DO@M&.$6L@,T/6XU8 "EE0N)"\R12$*\4% M%9]2A$!A@S@'+OR%]F[T6B*G0[W9"HW'&4XL:A7@IMBLSQW0K>PJ_HJ6%95I M%SAIG>#P1*&>G:_[*_ID;I[MD>R#1T8^EIWN^9G%E&EM'^%X=E\/=(U2-;0# MTB64*2TP5P)092EB MAONQGZ*M ?[/-.'/P&$W,9^6OC2!;A\M/#E@.(.;V2\R=D9 \[$]#U',:,]F MK'Z9*%Y?EZN[>*K$;[9_+N_*/Z-T5NIJRP_[XW=AUBNT(5 #HUUN,/X MDR)IDZASHX@ :3WEC!- J1+*.ZB1\01I8QT8^XD&OUHOU]>KY5W]IE?(E_;% M;1R<7Z./$A4N&]$=A>X2'*?I7012')&$K+3%_.IVLWVU"Z@GEKJ.G)U3O-RT MST3XLIOU6/_&X:WS2L-F6ZX^KNO;X=??S69=B6ZERD^(\H(2*YE7Q&$LXP47 MCD!S4$XCZUW:,<3$MHV'@B(NM:G."&A% % ,.\@M<CJ0I?9?%Y=%Y_* MFX]E/$G]S^7VIKAN8"?6L\A.?,E<7.3V4\47-/0(\//B<7*%R%"=TD^!+\Y^FP"W: MX@3N57'BD >(3U1Y6OGM0>H9]1W31?,0WU$MW$S7X1/WD4*K-ZN[^UAEX;A: MZ[Y=W]W?E#<^L!0P?KG?5V#>W+KE-KYPLGM;;O_\M RI^>?XQM0B#'HE03RW M(VVS/]S_WF M^C^+S9>(<5?L-\67\(N?XBL;RV#>J]:^H-V?/P?1WL5?3]R7FL9Q'3>M9N>S MQ!W\$_PG.UM%:T$1Y:(XL2'6+&ZMB._Q%94=5T5MR<2[7SG(/[.V_-@T_J[\6J[OR[J6)N$&Q@F!)GHS.Q+,$O9D<14O/L71&(K.0 M.P_ERV/*9H3.UTVG=MO]XL^@C-5]AU_+SI+OQ WD[+T+349:F/BEL==&;8.>)UH3O'NO, M62*>$)@\Q%U663+9L,G9E1*TI/SXN*7FPJB3('PZ8\Y[4]U/\0RU;4%!NFM) M[Q8FU9*D6^@#F>N@)I.0-D1-C+5DA1F0D M<7&I 9+GVG4G27AH^S,ZT).@RP_^OL W@SM']V'N[K>;+V5;>0!YJF%\SXTA MBXW'FIE#5D)TIV61Y \=^P!(A:7[ $\CY.7A/1H7:8.[AC'AT#ZU^YF!W8N: MRP_K?K W [M$MR%]'5=4M]\7YH\%$T:P( K:8T>\HAY"T&H%8K337E?"QXV= MXV_+,)?:%N;3:KWL-II3N#@_CD>B(6T$FW][_8?J,VYWY?6_?MQ\_7\:*^+0 MY>TW<>3RDY%[M/2),=N#ALN.UCZ -[U=WG&$?EQ_6ZC=:EEODZS6'ZLNW:@! M8I90YI%W6L8"Y\H)W+8E',>=!NV@%D8>QW6Q\8BNXR >1M<+XWHRIA(S\0#I MJCB JD7OY=B=D[B;S?5]G&M6"^$S(/ !GK&)?"2FT&S8Y>TZ6+>'?C@5]L,<&6V: 4MASJRS@;;.*.)AA6[A[8Y?;&OZM M;WFEX02?U^N+<)LFW0-IG7*S^+<.%8JR,3WK3>,>YG3;..[+4U=%:YJI3]K4 MY^+_L=I_,O>[_>9SN3UH:[R8&?YW\W[Y;0$$%)*$UA504GJGG#RL(4&IDPIM MC-'^R+K70$X3ME%X[J9UEZ8X3?Y:L6O.(=9XBW\&P$6+^#0?:T$7 ?6TFMB# MUC,R.::3YJ&?RIO[N_+-;75@42]#:_%(8[G>54*OMMO0 M^^N2I?K[\7?>+K_'OU/QKF%]> @Y#H3DB@FJ-8(T+N]Y#9W$5'B%DZX!38=J M9"UN#8EI4@7SU8>(LS@UICBUIOCP_<$O-A85E4G]SC1.Z.)N@C]/[Z:%@8D= M.TJ$R.:',W%C>E_/(YIWI =AXO$-+D+#=FV8@\6/[,/F\[(Y3=A>V#> M#.D#B:.W?;_6XC#;)Y@B)Y6T2A&CFD^7SHA.65_J9TXS@I-/62;1TG$4C\!( MKW$\V1'*$ZO/C>5$7F8RFE-1/Q[/O:SN,J)_7ZU7G^\_-Y\/%= .,@L4X00R M9SUMX[T, M)IBS;]4T<>U0V8[L,YD9.7!_1X=*0-Z0;'A">E'EC^S+#NQ\[E M!W9/W)NA_2)A<"^_G7R^P$9AI0'C$$)-D62V30=D:*C3H:GT3QU[<-=@$@9W M&B<=!O=H="0.[AK'E(/[U/+G!GO@G]<4K J!E M "CD8)BV"^(E:MI08>K>Z1Y#OT\>>9#7*V413:^GAA-9ZK:4.1Y!:<.^.S?C M%+XXI>',:F _NN:QHM<3^^."$@,8Z+RGTWN][XAN??,V=+ _EI_+YOX5%8(0 M["7PTAK+J/>&MU =8$DGARX"<&1UST4?!F_==RSF;O+TO0R MS5OC[+Z,P.BYC9A+.G >"GY9"AYOSUS>'UWCB?O\Y6[SO2RK4FIOJDIJ33[+ M,$ ,"(^@0 !QQ"EJ\UEE95KMY?ZMC*WL#;"B+B570TM3]@$,=I/G:+O0B\?/\G-&,8=S.@_9RV#')G=O2Q.@5N6JG%E"#"P$SF%@"*,0"G#0.(!H MTNG.I \>668BEB*"Z36[3:.HFZB,QDZ:CG0F9A3E."7AC%CTXFH>^M /^B9# M7^FG DVN0^)3M,A3RP1P$#+%*&D;,8GG#1,_>CHEZ#6/3"4J30U&X*BW'EQD MXM9YRM63L7FI0BKX9W2A%P>=;AK_6J[+[?+N)!>);3;Y")$J- B4#*ML"PE7DW(H;#&5G[N]P]>.'JP6]]+T-/XG4?./:7!J=L1N;D>/6+46WROU[O]MDIA=E5A MGO>?ENLZUNU^#1^QW[U>ORVWJ\W- GO-+9; 6R.U4R#B/L!7TDT25W*#'GOF M$=$$.?IEM2YVT:#=WR8*(=F].W*@N:1C)PY'5T6SNWYB;5%7Q=H'>YM)UNZJ MJ$TN0M^IC?Y)0E>B*\<(<&/UII\\#(Y&2ZY@.:[?YA92_U&N/GX*X4%]#=/, MCV7U0[OQ:L*@?+.YNUMN M=\67(+Y5@)YI?,[05>85P*?M)3]+A+\J6EZ*AICZ5XI(S3)!=#04ZQ?+PKEBVNXG:S+3Y6DGR_OHE)P^,MG,2W MS"_GW9'S@2D=.WEXKXT[U#;:%>I!!ZDL_$EB] M^&B/DYNH:/WD$S49#KH"8 MUR^CQ[?J/_]>[N)C]'6(A@M"A?!$V3#[9U0R8[UQ+42JTPZ_3@ILY#C6H(GS MW "G$JF+1:Y>?ALY6HWMLLDC5+WQV;K]IUH_?L(78T2A(2[_R2//(--S19OA M_'P\ITM1@S(32QK5W,@QQIM.!F4Q-C1P% MC@ /@2!6::[G,S?+[PE'^3+0VN%0Y+2,IHGT"9DUN.+-[: CIADH33@B.2VU M_DA -ND/6 :DN9C2N\S9WNC[7A%=58I_M2[V MG\JB;&^@?CF 3-"K7"QWB ,7(#@M�+0B$"-"S7&(O#'=^WEV0X(2Q<@.E^ ML>&X!/?Q0;]^HD\/#1#=.'DN2F1F= :A(K=%F_'Z7\I$(;[>_+];*>XRR,T0 X([T7R/OP ME2&^Q8-WK18B^6Z_7]\BXN,S4V%-NX@1V7G>X;,YH,;E>O1566 M%)\/IJ2DS:/ZKTT-NS"M5?UNB+W^?GII2) MSUS,8T@,)G)U-3N&4&P7,:.S=3=_B1 JVZN_MCL_X!%;;8 M$HNQ]P9#"#W7Y#!GY$:B4<)M3RRS#;K+N[MB4QU*:W/FCCM DWDQ<_"=P(&C MA^!@0Q&,F"P4]W7=2 %Y A=.%I;C^%MOUJ\N&IZ?)C1'D![HJI\L5 ^UMF_ MSL)RI[#]>GV]+9>[\O7Z=*//?8M?EO:^?+]Y5WY=[?EOG[!^*GAM5H_ M.;R*F^#1,/2VC4?+Y^+X;FA4'DSL(-[N^1I2[ MJ^*I:XD3'<3QOF"GO6!SS_;[E#.)^;@B/WLI_\3.G8[.0Z=CJ)%SM- MJ.MK%AULV#UGA/M6;J]7NWA)X_5ZOUVM=ZOK&B['SG%(*30N_(\&K*+='[/"+ M#^O!M0OJ)_85!P-?B(XSZP<),_N?I3_TF_,W[JYSI07#G&IW^HM?FGZQ MK/I%NSI?GO2+1_HP=!5@1"<\MSXP![_/8.5@%C1L9C8>4].5 1G7OU<[%\>, M"A/CPO# L2RBA!IR(-M2Y]8QFYBB3 ALDK3D9$7@\:6'71$W@5(#U)2>ZYJ< MS-1I/1*2KOG(V72DMJG+%'T&/DY-/&;JZP')1M=J_RYL%E,81K)F& 3#%C"CF#WAEM^SA\BA'3B7^OMX>L PX M7'!YGE)?>9RU(Q//"!Y>B:R->K G<(K[JCA85N<5NZN'^4@T+/S.OOA>[HNC M;1=Z:#*WB\ZL^%^^6\QC;7\&/#SW4.:%/=/MW/H38#^\ /;AC_;?3S'66P^W MFVWS5U4B;;"$5$J-#.7.,NZA:_<9G":V^QFY6:"=:$N]:+?4FRH!^TWQH2RV M+TO<7)W#['(#^#&'OQXAWU1;LB*>P3\S]Z;I)RB'[.0">X!C^G+I-Q]/Z M$WCFV?/\<^H5,YC:SXN/S5S'[PB+ .^7WW2Y+F]7>Q]<\L0ARX436&B*+*:< M4L:(IAZWX!R!2:4=)X(T]D[!\EO(\^O?T#V.(+%R?_.++^L]LN[ M^+?J\^9^O5\PS!50$GA&K=8*:MGO/A.3@J1\!X:G?YQ)O-M*0RICBQIJC-F:M3!\Y>Y^#<@9/47>/D MTVWB!SG<]N4A6RPKLP;?&<_'<,ID^W MR^M];/_7[6:W6V#-B,0<8H0 M_'E7&8"&<=EM7C89C6G!\S3T MM;BJJ!@O205HT\Z>SI%T9DZ4A=MYS'3RF+(9H>^ER=/AE,QOJ^6'U=UJORIW MOY?+W?VVO'D3E?-^NUVM/P9-7>W^OMY\B&&]/I/[Y;Y:B$5\<(A!Y4DRHQ= M1/)X^O&J.#&I:&TJZMRWMJJHS+HJ3@TK*LN*AZ85?U7&_;]I6CJ]X[OI[ZQ] MGJ;9%W+W*(J?VRUGHL3%>L \(LOES-_,9"0FK*O]^N^K?P]SU !I]WI]_:^_ ME['"\L(K2+CGG%)=O5))*0&-%'$) %A\+;FC)TL=5J;&IR=-<@.>H@5T541(Q5\UJ([A M<0A?"8L^X_/6;_FF#W_=%F&>M/BYY91A],Q@862@ 9ML725!2\VGU7*[>5]> M?UIO[C8?@]K_]IMIFE,D>!,*Z*$QFCBMC%!-WQ>>^.Y']\XU0KT6!,0[?011 M:X7&##EBE&((4,;'?D&JAE:<8BL"N#X",HC*#K([%8N):Q0S(3!!AZ:/'F"! "39CG@AD:PIXVFCLA,)78(0VM&ON9J;%F]-' HK+P M,L[??V1'.L: M?#&3BL]G_0!K]Q#7[J$5K:'?ZVO!%G%H 6(:$0\8I)29@\PA;/BB/I;PYWZY MW2>&O*PXA>1"",XA89H"(K3AVN, EW*D).0IDO?8I,[JI\N/J_4Z*MN'9?C! M=>+9VPMY,#%0S=9M_2/5B4G5*X)/1*3=HY!T]6,8.YAVB?*:H[BG2Z"Z2'>8 M6:2Z# ?/A:H+>J1KK#J)I@?8ZN9_W^_VU>,54@6E(D0[(Q7%0D@D4"-9"AF3 M5-OAA::T(E)2Z"#SC")'%3:$(8]A,!8[,O;C32?HKD[J_A1'A&DA9"BQW6+! MA)RFB?H .D=1Y?-$G9'73 S/0R=S&;,9I1;(M*A0 .AGF&J(!2 M.<"MD=*1\"SBW';8$IB&UEW3- MCVW2="!W?K2W;+X<+\+,_7=+A[$_[!:GV>^VQ["2P0]MY&0C=@9 M[";DLV4S1M>;PUJ+TH8JH)FGW$@,H6&L/3NA3,C;FK46MWXA?HR+DF$E /+Q M^I^ERE(MB>(4:Z4T@-3A])66UJ#.HSG\@RZ++/__1'NP$^>10%Z8@TDFVFD> MZ?P\5(B3%<#Z<*$TCCLK-''4 $D),!QY#:S53G-'DJ[2)'[TR!/I YI^![U3 M>>HV3QZ1HK3DLCL[X[S]\X"',V+7D[!YJ%1?\(\?MAG"0;(NN/^Z#Q(4+P)N MUN';G?JVVBTH@T82H2RSS/B@2)CSMDUI#.DE$[U:&EDU:DS%$53Q5X355SSZ MD9FH):/SF"8MR12.JS!/L=-%< :Q.C/]&6;+-F4WGY>K]<*% M5BA%2EKH %!A%J=ATY;AVB8E+_U:F%B-BK]J7(ERU).];C(T/G'#Y.=ESL:I ME/04+6=T9QB-\]";@38\+DN4@9'.Y08VGS]OUG_&)U6:XZ<00\*%550*)2B3 M3A/2MB.5XTDU!I(_?61=J0$5%:+$6@+I1'63D7$Y2I.04WJ23XUG*A7PF(XS MTM&?NGG(Q@#\CRL!#&2BJURHFYNJ/.;R[NUR=?-ZW50@:-JT#E#,B; 2&TT4 MM);JMDT!>%)9RF$MC2PC1W!%1/=JM6YK3:6)RD ZNPG,=$RFBLX2 M=4:&\A \#TG*9,MFC"Z8)E7ORGU(F\H;M]S&)N:,Z@QDE9@+75_??[Z_BZ>%WNP_E=LX8=N6G\KU;O6U?+V^WGPNF_8=XAIC M"X4,61G5&B,FVO:1)3XI+\K6ZM@YTA%H42$M'D M?CM7A6QLPCMF3A?A.C&+ M>F->%VJ_WZX^W.^K0_K[3*O"+EH,$\L=XF,GM'"L7PS M#Z$1FN*2NZ_/3Q2]A#%;,Y#L@9;\?P>X@!6NL\3'\O>@GFJ*392<1P$#PIM3:MU#D*BT]6G M1R.7$9ZIYT"/:3D[!^K-X3S&R1 #?I@##>2B\^AX\F$2M=V&7E1-PO3WXZ\T M-[^JARY/1^[K=?U^R0(*Z##CV$ I' ]?( 5:C,3RI#VO:9&-/7\*:*JX7UV& MK +:KCK[=7/WGRI;O&Y;^7V>A5P+@P4P!OFM1!$:0F2W4>\:;:/@5VU-L_I7&LS% ?0%CS[GDKH1V0R27'?E5]")_\4A?\43"W\"\>\1\Y29[F2U #O,6L;-LRI;@5U M,C;8:4P/J:ISA/>#LO;/QC,0G2"B$S \0#5/T#V6SAKA!23R+&,O:6(>NFDKUO6W@5%+I^P=:1V MN*YEY'0<6;M .=H7^>HI:FEKW6K?OD5=8VW>GHZ_4,,F4A@M* -(2:P,502Z!K8'FB:]CWIQL*,? MQ0N=X-43;\>7W^+7B37(+\Y6Y_M=/Y%7T_3\Q+1XK/G1C;'B>&/LJGAN)3A6 M)V^L+!HSFVA0G!@Z]46S<3UV[F#U7#K+/ +2?.CXX<;<7( EA4.[^KJZ*=8A83^R;'-TE\=QA?35E];5T MM[?E]?[-[1_E/]7U]>:^*EG[-N3LUZLOL69DK5IO;M7-IEJ!74 NI!5<$HFE M$5IXQ]MZ!EX"G?00PH@P1LYPCV&A6.Z*91%^]?ZN4I[]I[)8-BCC]^K/OQ=A M3+!7@!7UM9_B_?);N2M>A6_WV^4K%VS=?R_>;Y?KW6U TES2VW]:KL-O?(VE MA+>)I\;'=&\WS9N)9],$\@BZJ%%'_P7;E!/_&)R]XLGSN4 M.;[KYB'74QCZ^&CG5-QV#01_E/M:E.(MX(4$6!!B-)7,N;X\K:8]8.>,3/5C M<1[*TQ/[)D<_2M.'YZXN_WV]+9=WJ_\N;_YMH) M'+4-\]_UQ],EX(#YS6W(?Q8\@ +$:DP@JXS0R7]O]>$]N>1LB:YR<3"OX8[GP3.RX>*^91QBZ/ V;F8WF M/,$Q(GM77M\M=[O5[>JZ/EA\6##PP0^Q6(S?;.-H?7-[-.& EQJMB124$@TP MXM@JT 1S#SCSLL>"[>7 3K/X^]B&&/!B^#LHX2\Q=OZMB+$SALZX3E,%S/![ MY\-HGH@Y0:<8%C)GTA'&BID_](^3);SJF;6J@%/P?_%GTRM.H^P?=2(UF^ X MV%D]HN-T'63>X7%"'CK&QZD]DR- !C3EZN/:W&^WY?KZ>[7\O;RND*]OJN_N M'MEQ (NI$!8PBJW6'&EE=;L4YH%C+*F.U84@CKS>U2 OKAOHQ?Z(MECV?,CY M4MX<'M9FXLCL,:UUVG<2[>8:S_D[J&AF?*7;0<\N((ZQM33"G4Q]&[=M.BOX,>]HTI33/S.O+="5U M'L-WL!4=Z\NDL3*@OHR5&&E'F97(8<\AH@RT#2DJ9>K8Z='$Y,/FYRHLTY6^ M>0R0(0:\7%@FC8NNP^+M=G-S?[W_QS(6'(A3,;O:7=]MXN.]._5A%_+UZ_U" M6"*M\R&J:4J!MU8 XE@8F@@!'>)=Q]2X4UL0:8\DU9912"D3FB((.'7,8L8T M&K&"60.O..(K3@ 6?[40)Z[8V(6U,Z,J*^GS&&=Y3=J,V$F'C,7OQX;?E]_V M.C#PGPM+'5(,.0\(Q@P9;0AH1R(5%*8L.71HSBDI@3%:$2VH(T1;"*3&)+XE MY8(DC+Q\T$(KWGRX6WVL7PI/6RO(06D?<1N=S4'2]OU$V(J_(L"B0GA197N* MLLZZ-HCO.:K:,(/.:EH&KCK?AFPWM)HUW^.*KRT_[']?[IOO_K':?UJMWZS+ M_RB76[]<;>L[*08#"U7 QT''&L&#' > L\H@!PE+;".#&5D)83%]P G=,+B MKDQ^)F5D)W33QQGQGZ:=$=Z9DRZ[ZJ1+@_][^.E=)23E3;7P^6>8>MV5AQ\7 M-OSDJOAG96,1C"RBE5=%M/,2=]&'.>6,.D_D[7DH]U3&/KX2."7'+RG^])^=#P:S=D184#E;$O:_ZI,;1D*(*&4=3BLJ6@]P7M3E%L*?Z M?M=%_B_LV)O-]7W?BF7P?VR1C M';KD?KNLEGV/F/ZU:VH1O1@3!@DDDE6ZD-NO3R0.%^LZETTA+F?VYL)#=JRT MHD74X M=NGR$$!"NF-'(A8P'26RXX?* D HQ3F8Q'-?(R05ZA<=-+C)X)G=^ M,:U3QD\QCBE%FV-$DR;+,C)X>*Q$8UI/]\LU?EQ8. G?5W6.\?GH\OJ>3/B- M3<@2JD3BP_V^^% [/F08V_IOKTY2E4ES@!^=$.1F/\\9M.-W"XJU=%0H00AW M&(?$Q+3-,V6(6NPW^^7=^6"?O=&D2'[ UUE'_&&\S^G@T?&[WD>,>E#\,QPF MZF-6TK&AWKQU'HYW=YM_QGWNT+S=W'_8W][?-94G8^V L!+)L4!;; \S$(Z!Y23^?6U^>[\3LN<59<=TB;8OM[HHCUJOF MAOO$I2B3B#RGF*,X9":R.8YMC[5S1 9[W 1_N]R^V?ZYCZ>-JPSJ;;FM;M(N M"'!&(ZDX=)HA!K1SJ!W!$'&35M6R2XO&A.80L<)J1CFU$JD0)#2@A!J"=-*; M,+T*5)J3E]*NBB_+E]*:\;CMIHY3DYJFB0V;?]9LOJVO'M00ZW6!6*VQ?F/G M8I?OGZ/MC +F)'T>NI?5HNU"W6__U2??%P(3#P7S'DE-0X*JP0G MS?ACQ,ND!]#.M0.(I5YHQ944E!LMK*6 :ZV(T6&DCWWW\:&>U84NBN4!7F]= M2^KHS.= 2E6M&Q!$\:*YT?@RNW88*TKPIM[?;;:MMCI]8W_U;>?%RM/ZKK M\*/5HY(+[^.$:A&W%S1EV""MH8#,8&\!I4)KXX#2+&5L]4?A.26868JQ)M1+ MK3QP@CK'PV2 ,C+VDM 1>'&"O+HCTF OCN ?EBZI\#]_NW]J;W7+*.;AJ+1\ M8SP?C?,:7E^*SRCM^&Z;AQ9/8.?C%_DF8G9,/?]MM2Y?[\O/NP4*+5LGM70R MS$ L50:I6B4L76*4^0&/L-OP&:$6TH M*B,F$/<$UXTG\.-X;3*1[^*PV2C]@>O,:I_NPY]7\7O8FD'U^S+<5?E_7WY; M?;[__*[\O%RM XBVOLF;VT>%SOL>[W[>/BZ3?'"$7O]Q_ M*?:;Q->R1G)/-U6_O&?2U+S!6QR=\_N)<_SCTN8GJ*=5\%Z\GE'N MV<;-E#T_3:%?']X->A_^G?JVVBTTBD]H*.F-<5!!"+07&D%+/(!>JZ2-DQX? M/[*V'A$5$5+Q5P25F!7W(:V;*([,5YKB)5(UBIK]2,@9J1K WCQT:(@!FVP] M:8B"F+;V3'5._??R\X=RNW 86<&9=@(P##V#4K0-(XS0 $7IU=QD"A,FC,YF7_WI0.0$ZO,4/9W5:!"W6U@Q!C@:D[-)BX\#B@F9'5JD+V*D(K7O=]0W((B=UT M:B+^TO2IIF[_B+KBKQK8Q%+U/$-G)"H#K?.0IAR&/'Y:(Q+^S4!YZJ?59@Y_0XDP,S>"J:08C-EE[S; + MH ^ON:G/(1S$XX)FL]OKY2[,I[T*(4 808CUSGH*/*(-#(R!=4,N@@YN/$FS MTR^$'A 5UP'2L(<&AA/=+8F\*,>I6\<='A,X^L"<\\$D%W-?XO),$CJ:6^:1 MFHYGW@L7=C/SF$E&KT.0OK^+%T1^W6YVN[^OM^7R+N+Z=;E:-^4!X^NH0#E# MA.0&.@R\,,J3%IN#@ ]YTF4<1",GR16VXOX KO@8T U\X64DUV11XPMX90R) M/II1U!X\&E)$2Z[:ZBJ3OVV=A?_^LI[9OS^%UN>V.2T C,+XV%$A/K)]Q&8< MILK$V]*"(NLQU)"UV!@#9K$N/\8/>3]^<$@#UDF&9"U#/]C0/T;^G/G^2 MA= 1=*6?PWYN7>EI"-QEI:U/5$0[XAK+K6M$M2O!ZGSE+0^AG2N6)7(3<(5WR_E M>EQV((3' 6S):/20B0YT1(2P9@<^QIB=5OTE5[NJO6I(^;"?8M?IU=%M[#-ZZJN*[ M\FNYOB]],-QLUOOM\GH?GQ8U][O]YG.Y/3;O/9=A9 9AAE@"1YU#N!ZJVIDP MUTQ1Q+/10Z.) Y@CK3UU3.FQ7\]J<,9B<9N/ZU5T49H0YF.W MFQ!>A-@T(6PYC4.M:$%6KR<6+1.8\1-=B*'X[E MYF"E^W1JMW]S^^MFG.8-IG8?ZY##DAZE,)FZZ:E"UA/UV MN[E=!95C6FCD&8$0(>*99<8WPX9PC%C*^:[3SY4""&20])AI&EH0 A"-J2?6 M6.45&/GH5KU+]'FY_;A*G'LDD=--4\;B)4U$:DIJ&-,JQHG]9R2B#TOST(1> MR#?#^TCJDL6N#+_[*6B,#;'W;O,EICO-0N6"A$0=^)#EN* T%@*J &N[.F&R MTT/@W5H"F )C+#7<:0HTE@P;[6$(THQ" <>N,-2"BP\#';!=54&U7 >U*,MM MK'M0UF@3#Q\-Y+CK:L54]*8N4=2X*BY/D+VX&#[2DL09ELZN0^1@=Q["E,F6 M'U8<\C'4^0IC>1=^^K%9W0TMJYO/J_4J3M5BZ8BV<<6@5M8'K90*>$M]O+70 MC#" 39**=6P2. 0=9;%R'*,>HZ#7W HF+ ]*S=G81R8;E%?%QQIGK63+!U![ MBEDNSKNIV@7H3I.W ]/MOE,D^B'(RRA=-^;.2%YFZN>A?;F->GQS<@S.NJKA MFR]E;&;]L5Z[BF>0%H(AI)7!H34BJ 84:=X.0VN02)G(/?7Y6BA$A$!$6TTQ MH*2,^HSA,!Y2,T@"S;YNE.:B#RJP_5^NUSOEM=QLS:>E7YXKA%*J( $ M0&L2E$O2>.BD'2M.VJ1=[)1V,::(2!V,]"B^6J !A#P,5* T(%2,?;RG+7AW MJ$88[Z,4O]R='5+CD]U-F"[%N$MX@ 1I"%S"B@.+-3MB$6&=RI?T:DA1:"@ MD D2GW-AT(M8%Q%Y[ADP$JFQ]^Y.BN7UR<*&<=CUP,!$]*6>&C@P5^.Z*DZ1 M7:KBUX\6A6'E.>K>\UF)_.$\']IW)[VD[=N\%6A:T2I^*59 M[TK,T8:2V7&^.!V/B5/'BL)39(9.C>CS$/Q/*0JES&/YYDY M.4H[+!C3M?:XXFI]']IN)KV;=9/&U;\7DKER]_MJO8EUHU^O@RH$>57KFX>? MXO[K/OSX]W+_:7-S4D5G$2N_*DR@Q%0S#8PQJMV[#_]E/&4];$K*J]-+8ZVMAVAMJ"H33@MR';5!HF*B2JKO8['D#?5\GC14G*)H[&3 M^/#%X[;SZDGSB&FS9.;)8\$SP]@CV@9D35#7Y;J,QXL$HEH)C660284M-Y2T M&[94"YAT4?.Y-D+V0)$WVBI@J>-20]A>_J%$:9N2>S_\9&FY< BB, %'E' O'9&" PV!MUQ1.7)V', T M^&0C^RYC$ >F+?Y.@N:9W=+;?Q2:/=VW);O11M5W?W^_+F<',( M4R$]P$!1$>;082:"A#FL%$F:M%OZ4EL@'DSW!%'+*-6$2,8%OI,>C4O67K\J0 WU=WL65\.K1 M]/^9%ID'<]\M0D])>UJD;I$5 5I18;LJ&G07NXKX EMG!"L7S_.0L&S6;,;I MC;E7ZP*>!DH%:T$X4EXPX0SRT$H%&'&']#BD .DSBY36%0+4*"@9!9YJ1Y00 M%@%M!95,6I26&Z1+8:PW>UW\,L75U5"ME* M8X5Z;JM0CT@=M);4UT'S4,X1[4M>UQG&Y, D>Y74F8?S=1,U3.S/^[C*R-O;JN6=V_N][M]F*3% M-]3;I)(RZCSE80*EL$/"8L<. PD E%2=/KUQ2Y !(&0T4E$0[(=,28\!@TA1 MS\:N8/6/]'GLKM@<[4B1NZA;TM2OA5HT6(L:;*R*4<,M3O!>?D:< MRNP9\1S-2?-0U?',VTS4VZ.!L6;LDL_-;+J6UHFWH)*(RC!RTPC_N89MHFT] MQVP?!@<.V-,IXBF4D+YIY<(440"+%8I_P'8%F@G&D@[=IK:MH73&D+B5!RDR M5%$(9)@,H9 3$,''?A7\,+&;T[!]CJST@3N8]ED/W>'6=1N\F5A,J%\>TO6J M4+==?5W=E.N;PXS++'>?WBY7-PO(B"-06\TE\$9 K0^%GA@6,.D"3Z<&C7.0 M"4=QF.Q1S;GB0&DFB"8>@/#GR ,UXBAN6G35&DPSPZE&[K"5F3R,=YO!3$YV MVJREAE=4^.*DI$%X=;J&4_DBXIR\=OF+S)V1R*S$ST,7\YKT8[WRW'QUW\<+ M"OMQ]>&N5+M=N=_9U>[Z;K.[WY8G+PI8)SAW.A;J%4IPB!"O"FDC: R .FWG M[N7VB)#&DY @.26H<4A)R8P,R9+7@$ ^_OG %F)18TS=I\O :->=N6G)3-V+ M>\1C<<1WP7+D'4@[N]>6C_)Y*%M6BW[83\O-5LK+--OR4[G>K;XVQ[#_*/=O M;M\OOQW6<+SV+.09'"G$K(3*8&]"H]8:9*V2+/51FJ'MC:QK]1V^ZU.@ATN1 M=W49A759E1+>+[\E+E)GH;MS5C%VN^WJP_W M^_A<4['?A"1O>\F"\1U8/9_P9?/)/%0QJT5//$^3EZV75/'ZX_K;(F:2MW>; M?^X^E3RR>A*%*^6J5U#51;Z/EYZJH[:7)Z\!W#&)?&1ID<3HU)+()&L M=/J4S89.PS/L!U C@CZ_@3+Y>NCOXJ[5J7U%Z M^"__A0)4_?4O_R+0W]I_NUZM'_W3JR( _5)>QSK/=]_G(7-#_=M#_";K4O.6 MQ.EHZ"B4$_LE1Z[\KKR^6^YVJ]O5=3414S?_^[[.^>(=#?7&O&Y>.W]S>S3A M@):!:O !8MEB7'^/[P,.3Z'%Q=I)064OHJ4F=1?0Q_"AZ M40(/LOI+U-6_%5%7@_SM-TWAXR"2A\LQ\Y"[P<[HF>Q-TP'F+7@3\I"0&D[I MF:&2=YCEADENG..>R/(!]2'5W6PKBX\;,LNSRPUY5ALF<_:PI8@Y^CG[ M.L43RTM'.XNCH0^W\1ISG]G.FT= S.2^'F%QZHXS[^ X.1L=0^1EO-1MS[(I MZK^/1?WOJN"]/& ZKN SX+A'PC!F-%75TYB'11VCK>N^A9FGO9$7/'YX>N0$ M;G&"-VFG,Q/3738^IR:B=*GMU2 MS4OH''98,UNT&:_[Y5M3>O[)&+6^>7]$^V/\6S"+!=4&.F&1Y0 0CD #UA,% MU.)KN?VPR;$K.R+(E %]:D_V"#6/!'D8VSV7BR9P[[S3X:E(2%@HFLPG60^1 MG$G)N=/,:^"GC29*)'#3B M,9*?8]&E(^E##Y9D<.?\HT16:_L<*%MNNP% M\BY%TX>T,[)>OX__Y$F]SG8UY64JNPGO5"PFKF(,NXHRF_LG_>Z=="9^'O*7 MQ9+N]TP2V4E^5>2IBW[>$FZAM(I+I@F6%$%67WJ-5YNAZ?6TR%,-QO'63:0FHRQ-I4X>%YG)]>#G:3JC M1%G8G8<4Y3'EN1='AO/358S^W"_W99RCO[F--S]\O/EQ7'/42B@")$320@"X M1TC4)480@91UO8QZO@VF!002 2:KR1I@^H *\;XZD)2 MA>QB!_#/T71F4&5A=QZ#*H\IFQ%Z7_);/E5%DNTFUBFYT=__OBMO7J_?M"^% MJGCRN=X[;H$8+RVQ@'D/N<1><.WD8:@1Z5/B?H_FL0;*&":\8H!BBR7T5DML M+ _#7-C);I_NZG+TQP=TEP>LB7>7QO!!-[F[,/UI(ABG.'7]I 9N\>%[\4M$ M7,2#K ?0Q1'UQ00RG=@SLCFBE^8AIF,:^..34>-RV55XCUL.N_>;=V5D:G57 M/GC1ZOTF718THX1S(92VDB/F.&]D@3KFDMX3& 6@HQ!8 *",):QER 8=00A! M$= Z$F@=6;Q/;(H+(]O6JFJGH-D\"'\?O[N.2O/E1&DR"/UE?-XM%,S>W6G! MXI&G#P85QU?]VE=EPH]_EK RAI/.!)Z+]HEYA*;+4K"9T1A-G:QOKO_SS9>X MS?(V#,SF7=(%@UP!1+DAQG$LO/&(MF+%/4R:.SS3A& 20FL1L-A3#KWVTBL4 M&G86*M?QYE7_$%.A>O5A&?4C;G8$3/4IF5YO$_>EL>MJQ^@,IJYS!$!A4!=_ M7Z_V18VLB-#:AXJG7N9XBI^S"QR#")V'Y TUXH=%C0R<=)4=6WX)2=VJ/DI+ MO(,."B@P]C%TSPTHQ_T389^DCCK_AR/?OQWU<2;V\?E3!=6ZOB2)L% Q J^F@)L MV@Y/N49)\^?S34G@."2*.> 4!=KKT!B BD+.+ _9V-@SX1-T44-6Q^*^RQY% MDH?RVG&..AVEB;/-1VQV+SD]SC3Q+$_G)GQY")Z')N4RYO$D+"='G77K^GI; M5F?6'K0>-U\W]_'NQ?KF[;;\O+K_O'M]O-2\ )P2A!W%0 $SK*X@7]TD\N6\#%+Z>0_Q:=0I.NXKU20VFJ@;):8LN'BVF"# :9E .024\:H<\-4JE*?*Y MEA@"7E G/6"6:B$D=@PA(!VAQ'K0;:-V6 6B)RH-Q5>'8BF&*N7LJ;:#^.TF MJ:,3VTLW?ZTJX=6[%O&EH8;(BTGC&9;.Z%\.;N3O>6ERI>]WJW6Y MVYG-YP^K=:6<9K..NP6AT?#5;G73% 13VVVLJE.!,56!G==1<.^K TM/_Y/? M5LL/J[O5_CM<. <,PU9[B00!4!N =3LT71BG*9/KJ3 +K1T&6CG) ?4.*<@X M]1(H@PD6:NS-A'?EU^7=_2%QO3[@C5\> :?)YVS\W4V*?T97I\EZ:V%Q8N)5 M<41Y[_Z;"5?S2(JRJ6[<@B^/]G#,TCW43YV7FSDAX7N;G(<"9;?KQDDYVQOJ+ MG[JNUV+>E=?EZFN\G+J TA*NI0%, J--T%W8'F-GP'O>:M_[I)N$+[>K+&<* M46HA#:( C,#6 (,T 9AHU_$0^T/]>]]C#ZX!%L^A-LB&"E\?COOJWEB\YI2] M \7O7J9X(M'[D;8DS1O ^EPE;XA)+RK>8+[Z"][?UR&_O"MOCDWO%EQ29SD) M(T_ N#OH.5>'+(1CDD7QGFK86R$HA9AQ::G56%C+I>!*. V$M'UVX7I(7HLL M2-[7R5[%-CY55$FO.:!B*"'+*FK'(":$^B]R=-H@)<@PZAS 0% 0#-;86 M(HZ\I9J!;L<+!\O<":*A"I?$9E]ER\Y@3D7K0N9$0G8")4G ^O [5^'J9(&T!E>]6".RME M%@7KA"3DJ-QS**1SAB*MM.)"8V85LP*+7AOZ/:2M@=I>9ZF/Z6SJ6HS- T)] M#I".Y9V^BCB=1W)*9>N"-1TA/*+[<6#(/.&H4P@U0Y)ZA 1"GM MO7%0&S3V(?UV]>I+C2?7ZF!G,H*8"K9ES?MAG.5XSH,%2/02:R,PQYJU*[*'C/71^IZ,3]SK>MG4U>Q&\#8\$-\[^HMS(424DAEA%>"8ZNPDM2U Y)" MI8/6C-4"4TRD!9I28C4WT'K!0:R?@=.*T/:J/=&<(VLV<*LEINO[W3YH MWK:X*;]L=JOA:W_)%/?5O#'9S:)W![[?O;!A/O&1O09.K^-ZJ63/5>)ZV]/Y MF%X_IOI+6[7"=R@69I9?5OOEW1_E?H&!8XJHD$<"PBGC@&E]V'E$PF;9!7FV M=8\==+&(.&"<2FNU+0L9O/-1P1NJ;/T9[BMQX[*:4^OJG8J3 M@HO54G,584YF-=5;)Y>6P>=(3=+#P9Z9JS .-^Q%A:HEI?%4#S,6>88!(I9RFY07IK_N]$?7 MDKECE49_F?=N GHARM,$M$N<)W(W4#'KZ^S/ M5+(VT$&C".,>*@$ XJ:]H24D3ZM>WJ-Y#+A5SDKE.*&2BQ TK*0A#_.*$H:3 MCO)F>%ABU4+-_K#$(!\,4M&IZ,^JI@?0K M_7>UOC&;N[OR.A9GV#VL?!0R$865AD$EH60(48/;LEX""^524L,^[&#CF)W8?H3-;!!6^?D M$>]5T2*N?''$?-%2;#U8/:>:(_IH)F(ZIH6/-79T-GOGAF^;IP/BRPS[@,>U MKP8LD!/8.PZAH 08Q*3S;>U_ 9U(+$N3T#"TS(5<.#2H?=SR4EQQ2PVQFCKC MV<1Y8\ZW%7*RWS.Q')GV;&GFVP/M;X^TNQ=IGR;S?);$E#QTN"=F(J0C&/92 MCIJ+N_QKF0L/F;4^Y,T88<@-9<:WNQ#.:,0S[/X\U2PQ.A:W4A89$;Z(-[H- M#4!,+!2J$L\^9MK]^>6^74%[:BESK)7,ESV0>P4S*_FCKUS.=;DRRS)E9U?, M0SO',*SWLF0B=P.UTZ_6R_7U,WL0Q'H*"0RC.#3,!,:2M",8&)9T-Z9'\Y$' M3:C3\!_HMH6:?1]HD \&J>A4]&=5TP/H&>\# MG2$V76!S>&G60IO%P&Z"FX_+/LNLKW>[^]!\^>;VST_+, +^O@Z$OPY_L0Y@ MXM7NZJ]UF/3>F),W2V-^O0N_=G=_$Y"?/.08WUG 0AKAG84A3'C)C6J?KG%* MJJ27TL9%&H2+Q//_SE$7%$T)(K%URGJ'&49T[(N/K4%U_?;/G^,#&-4KI_?1 MLN;KN+8P8 7W NY-7^N=MV>'K J?NKBVK7'NP;IJ^:+Z4?,R\*F%U1)']<)1 M8V11/X/;F'FY=>3L'NNXXGRYGC*/:#43+LZL8E_:0ZGKW7ZS?5=^:=9U8T'X MJ,-5^PO#"4*< 0085@)ZQ ANE,Y[%92NUSKWF0;C#34CM>8*>HH04MQ:!!%# M'$E+Q?BUUX_ 'L>D?LO90\A-6\8>F]5AR]>WFVWQD-L:8"WGEUFS?IZQ#FO5 M&>B>B:!F-.B9M>EL7*5*6WSD+LXTUC>[TT:]5BZ>VH@S>&J<,U:WYS@]!LKU MN+#U0HL,$!+46G@D'/6$:JNQPD0BJAQ" O30M3[EZ6J0]3.?#'#!>S4#3GJ:L@YX-Y'I>6C;4F&=T+ M'^=>&%PY( M38!E%BHC$)4>F/;PD:? P S[:D\U"\-$F%*G.!.>*JNT9!4.Z$)>ROU%;E4= M]]6>6AH>:V7X90_D7A'.2O[H*\%S7?[-LNS;V17ST,@Q#.N]S)O(75?M=+>W MY?7^S:W[=EV]I?4N)$QOUA%3/%86_HB'(KXN[ZK39$B$EA2C7H:)M64J5EAN MQRY(K#:7U+ C\18N M(X33D6DBE/"!960>W9Z%7G:JPQE0F3LW+U<5V4#>IB M&V 7]=?5J\25S%;%3.(7Y=&&-$'-ZY9NDGHQCZ2)ZM$9+= B(HWDFY;\Z@O7 M@?Q15#6%R#.Z.HH_YJ&LXYBVF: _IZGKTXV]+;>KSWC9U&K7#&,L[7!$"3GC@+7:4.2B10K@=KEYBV@Q7M^ZX M7=JM50F L@)YXI&@UE#EF68 $6@=H0(FK0,]!)AGJ);Q!9S_DP=I5P?\3(.T MLTV]!FD:8YW7?$*#^^^'%\L1.T00QFW##(&N>]Z2>S1ISHC M-'6N*CY(C;$!-PQCG7)C$3*6CKA 4 &YV)':ASRHZ,O^,=S]"$< M=.WOU=[3I\U=H&17-_C'9E_:U>[Z;K.[WY;ORV][?1?WIQP+TSVL+?9>BC@+ M9-2V0\$SD_0L4/=6+=$D1$+.M)548A7,#VET:)YKK25.VQU*7]VLCPF>'#EY MN]U\W"X_ITVX,Y+<36\NPV^:%)UB_!]%(TP19G'$6?P5D185U(FEJC.%9U0L MOQOF(7 CV+49NP,GI@'+;9P8QOE\=<[RV!Y2 FC$G;**$: Q<$!6(S1^I8A/ MVN=YMA6/#&+*"8$15@EAS=@/;?RC7'W\M"]O7JFOY7;YL6S. M7"?NT_3GL&-6-0E]B0E6@RDN%]:L75##GB7H7.8UF-1Y:%0&.Q[G8YF8Z9R: M77\J;^[ORC>W(>FXN;_>_R/,?Y;K_?>V4O?W]_%1CB,,Z@GR7"/BG;4DY ^. MD&I8(<$5L?]?=]_6W#9RK?N^?P7>3E*EY/3]\K*K^CKQCC-VV9[DI.:!14N0 MS1.)\"$I7_+K3S=(D+0L4F@ #<))369D66)_ZUM8W^K5C>Z5)$W)@P,KG0+* M0.@Q!0"&N2J'!AM'@0<493_2N=MF7BR+!FGQZOW=XL/\_ F/D9AO.6V[).F) ML[<=U+@JLP-[('X/-VA?!%Q<;A:7R.BYR5PNYTQ#+_.9]WAJEY?'='5]^B#- M\=&9W9M&CX&%HEMZ"#@RV GMM3+ >0VL59I#:Y(.:(X )W>I_'!_'U]DCB?T MC@[7->_O?>LJP?GP0282&T 21>*T 9CVU0 M3 -2*-%QUCT*M+%7$8Z0%KLWO0NWWBSNMYTT_'RQ*NK-G?7C++(N?HESA/+T MWM\D7-T]HTS$R]V+@.-,TYP0JZWY(=7L3?KN>9ABWNGNE,0<-(+WIYN/QC"^ M16X:S0?I>7%=/IU/U5WMW/#5J]LWY77U8;GX=["J?F/" M5.O-^H!7$XML7&F*-NQ29T$KC&NV%EW M\K*1,)G>FQA_\6!D\PYI;6;73#;ZPY":U*;\%'3/;T.[?T();V"'M^R9$62>]'N2.'V\(L#_MW%D^E9J=+.ZE[ M!FKMGPFEE@YLMTH?.;TXM121U=:3:2 _PVVE_F6Y7I?EOJWFRWBBYBB_$(@1 MP!HCZ:$$ !*N-(!>4&(I19*E:/DS0SF$N;)64A\^G@$F@">0&N2PDE3W[[DM9/7$7E+T\\ML*NC=KU;;!=\*><\5V?4;R"2IR%O0QE397D0 M$^>B3T^1XZ[VAS*N*>EO3R\SQ07O>KW[:&GIS6+]+[\JRQ?+H!!!>N/)[%G M2;D+,VFM+30&<*S9]H4YBIC22;W9\J,-,F*\USC\ RF#4%%+,!->>R6@H4DG M_SK(9,3TI]L JKZ (G&R>GE7MIS0_E1>'&;3NC@R+]X6=&;+X;"5=+S)<%5$ M2XMH:M'86E^0,?+T.+?OSDVA)_/<3",/38B/QU/QZ2"[7#9T7S^5L?1H;LRK M<6,B,6766H$@IX9X)'4CH40K>[%L^"1:HC!C#%D/B C*[R3'@&M+K&(,4)/[ M!%.#:7]79_%M4=ZE[J-?WJ<72(O9W3F9M+A_2!I3?_:L^)3KQLJ*O1Z;_\"L MV(^/G%EQ $]=-"O^O;H+'Q-?F:Z1L[B4(P Q\1"\\CCX'7 M:Z0XA$1I207VBG%!-)/60R:XS-WQ>R]ZG_>P)I 54WUZP;R8T9W3RXP'8_]3 M/Z#\V-71L;(D+V\E90CWS^/_'T*\G?EZA[.-,-UMQOOA*/Q M+A=B92.C%@.1G!KSP!22& DL!"A>_&"(]$((ZAPF6#GG"J]3<$W M;;/:WZK/-:X7R[>;^?(F('ET[E5=7Z\>YG=OJKL[7ZTBU!GQE@)%.%2 Q.L MG:7;.SN)M2&])ETFWV5\ZKFLV\1QR:EF1BI(*!#>T B$)?7&Z9"'&LCQ?% # M^L=3YCO\1>;&#?GHS?SSGM$M"E_9+6G;)XI(L&:,#KV=204XO34/CLUI8 MC??,)[=N?F+&>J0 4QHZ"WT C6Q;:V"Z9PD^0=4;7>K([#>GJ:\2/[7?[<])/@'9_7)3KV/^WO)E!2[#5 M"E/O%5/8(VK)+IB<=I2D'=5K.ZC !'JN#3".2DXDP7&QF7 6KSER2=>G=3IW M5_=\6M?G@F/+UR][@,6B1ECB!$9US ML*/8&C(%Y7M,;K(2=O;.E)6QNU&ME+(G9_V4L^FN.=- :PB<% 8ZIJ'4D+ F M: F"*K';^/G!,/>,A.DI8P[3,#V52CD-@)&686:Y:!6S?3J-^X>[V\7=7=.0 M]TL3JU77N^_ZLMM'$H>E=10I;%J\U%+8X)^" C98DI4OV0E35KQT8UHI74>. M>A:GV#&NPRP$$^V]XR1&8!-[P&J>VAKDQ#!*6:F%L%(Y0+D+I39P% O,('>A MYAZC%TCXA395Z:1+J;8T3CE\VAO1KI1*XZ1MN-CPD'T.N>YS^6*YWJP>ZM!4 MRYN_E#V!>^J-^7F857WY7YU>QNQ6"T] MT\03(3FA@&##>!.<)K9.V:TBO>LR:TT! K&A& !+# A) %H1U$((QREEW!/2 M[DZ'[U>^WJ7/6A\+Y.VY@!W3#:D:.3KU XGF ?+54;^-8E,56]AU(^WP5^<] MDUE*$\AMI:TYG#4ULSYB!W%L@17BZ !+(4M%,@SB21L\V MU69^UTEBUS.-D<-,<$XQIJ' E0Y2Z)AD6% .B$LJ]O-Q93G00::F8AL(:1/8S"*Z!Z%7D MI@#Q "H:T@1'Q%#!E'#46"051X(H;=NUUIA4D3NH&U+U$_U'"A(!FUW#V:>/:O>9-X[*J70U/8 M7P\O+7*!D2012V%PJB*59,.S(I3.2(>^1%;^L;@I7RQOJ]5]O:+WIOQ< M+A]*'RR.[U>NEO,[\[#>5/=A8J2_[5X$TSYXCF',.12!2_1V MU;\[:>>% M>Q2^TC2W U5MU#18>J2DX4^/5?04%4\(8&_6+JM=_>%7 ST]R8IQ+$ZVNI\O MEC.J33P" KT3&C!E!>.RB0#M-$F4C2=&X PXP<)T'1I.F6&:&H."-?%8/;(V MK8@>2#NVT-+5HPN!K24D,W<#Z,ASM VM)#\RC X&4WI8\./PM*;D>?4 MY?K#\NOLT:THZ_EAT+^5]^_+U>:\AW48*\UZWNOF\YE(R' M,9 DSG@W#'U?VK13G*%(/2\]%^ S38/.4UG\ MO@784L6'XO2FNJ[/'M0EP92X_0[8:!P_DOQH=Q1T"222M9RW8^()71^8PLL* M_-#&5%D>LP3)5Y\^W2VVK73??BJO%[>+ZZ88?EO=/=0G^'>C$\ L)DX)33VE MT#,F:!-2S()67;U9.""*DB5>B ,V,2[INJ4,2.$+ZIP;J M?N&KV(--4*XA^6Z1%BY$=5I^:,ERET0Q)-T)&>-"M'=+'8/1WRZ'M.?F5#+) MP.X$LDH.JZJ\SV3:QESJ8NS+Q;)\L2GOUS/@-&:6$@4A]D *ZYAI0M.%DB=E M\ZT["@\\)\Y"JR2G85AIH3?6"V@M\\#F7CP]OPM3_!Z!%C72Q+VTC'YIMU\V M#9<,N2?6SAM9MK\ZDWEFBRN_@Z:QC36"G=78CW[7-[2VFU[$Z#",I\@)' 9$ MS!'OG*/00J,$2VIE4YCYOFMI&RDI$E 6SX&VS ZMOO$'E$G:BZ_+=0-=M7SD6BY M$KC[Z)FZN]L-L]CO,WGF)=!>",T=]E)XB>!^**I;O9#2:X#<:WQW<=[>8$K< M4^['W#,+>&.1EKA:E\C7&6U8E]=__E!]_M^-I5$?^/Y/41_XD3ZN)^>S.C)'P6($XZ+"@TVB+BFH^VA/DD_6CS@9GUPCVL MJF*[4%:8>*AC%6B\*N*W$S6C%3LM-6)H8M(TH0LGP^M"X."<#J10-)&X3X+\ M.,[3[6T=U__S^I\SRB02GD./N= $1EO!=Y^- :2I\T+VGQ@YKC^G_FG^;)< ME\4_RV5B(+>BHV4@#\U$6B#7)%R=I6#XN TFGXO;%$8F$K=)D!_';;J]K>/V M;__GUQE0WBK&(:3,24.4XAPU'\U]O%@H(6[;?&#FN/U;^75Q75T5K\./M-V) M3^*C9> .345:X+9C8?C8#5:?B]T44B82NTF0'\=NNKVM8_<7_7HFE>$2>DJ, MD8Q+A@10NX\F4BF0%+MM/C!S[/ZV7,2^OG]=+#_<5/?AZ0USQYO4(&Y%3,L@ M'IJ3M"!.I&/X: [FGXOF%'8F$LU)D!]'<[J]K:/Y+[_Y&<:8U@W$-0=6>,*P MWG\T$]HD17.;#\P&@RTL*X+0_#QV^P M^US\IM RD?A-@OPX?M/M;1V_?WWSCYD#W#%/H?=(8!UFZN@@#A- M868BT9L$^7'TIMO;.GK?_+_3*C&&6U'2,H:'9B,MAK=$7!6_EE]V5(PYA0ZVGPOB%&HF$L1) MD!\'<;J]K8/8*#MC$$'H%(ZW7 G.#=2LV;? MVQZ,M(SAHW=?R^_25^-*3>8^(H M(8IC ;':2X.2JE7[NZ0/S!R_;Q>A]/L4)I%=0[@5*2U#>&@^TD(X@8KAHSB8 M?BZ*4YB92!0G07XGV=KG2LWDU'3G'(26(QVY%VH?*F[K]2 HG'=?I\OF9 M8_SXO>B770_==.+M?-R/15F:#*2RE?T&S^>/N_0A<&JOE'>PX,S=G=W8Z-@# MY]M45Q+LAN3$MUN[VN8D3+KRZN'S3I>!1"; MKMY6JR_Q5H?@]\UJ?MV]X6(G1E/U)C>9G95GURVL@59LL5VTC\[W-+52HS[T M3DV7>MEROMU.+X;::M6+Y>=R&:C\]F;^Y6_Q,O7%_&[]:[EY=?NF7)>KSV40 M280T)0 2X#TWEA )MK?)1O7T/NGL7(OAC",:6Z&W%41R=SCBRN9]MYSLZ(UX"$ M3T/!AC2HRO9P=M2R?U2K?[U8OEY5U^7ZT%(YB 5$B#I"*:?2*4)\J*2QAY)QE%G7 M&F3%APBMHZSUH3-1UD9BLK.L[?FL 4Y%U4ZSUD;5!N!\8JHVA$6G5&TPMI)5 M+0PV8M4#2E=]9W'\P-=-6\,_7JV3UTGKB86%4G03SW^Z?:W?U=^W>A@RK]F0ECMI:&A#O+0*B+B+8.4$<4!A]ZKE*Q]=AR#L120 M820,E<&6&,K!/F]"P"&8NPK9@DK+TKUH:Y>=QV(L+2MO45T56US%[UMD1816 MU-A&WG,ZP](981F"VVGHS""65,,_>6DJ]&OY15U?QX7DQ?)#J%V6X&N1;(P(%2%+L0 MUYXY;15#N:]/BF]\B[3NE>?RM4\ JFU?-_7]?7\6PWH31EOI0G,O[KUB_7U M_.Z?Y7PUH]9R[[1"5DK'E(3$28" @18Y3%'2&P ]8(29$E0:01BR#86&A:\Q MA\!B!14QV1LA[4'%A8;;&E81;]GN,DW,XX:46>3%/=!MDKF'O9UN7AVW:F^P M7Q7?N6J+OX@&7&(BVH7H9^>I6;TW#7T>P] G9[DC<#NH9MN',D)X]Z6:,:,L M%-QXQP5A4@/-?50(+.+%"#BI67+JV!AJPW68#A(3YH$ *,*8UA8!S#13*/<+ MX"C8F4&)4\@=4'XS\9I3

%Q+&<>2BD!5)*+$-O:2B=@#' *I''6)KUJD3YZT!& $) >$T81Q$(Y*Q $ M,8>04&[GUT^843_;$9Q!00?G=AP-C; GK*(1WE ZFN2AGU!)T^SKHZ4=F,RA MICX$PTP3Z[3W&A&-M+.0G#).)$T_$_8\*]8+T/-+%#2 M>0 =RAB7T@"*-..)<<@5C(_L0Y5P;YHU@V40T#FX0QD H;1 G5"&F&-6$:04< M%L2#W*<]@XCBC"+:BMX,(CHTL^.(:$ ]81$-Z(82T13W_(0BFF1>'Q%-Y[%5 MU^04#&\77X..6^0\DUXJA!!&'I(8X8[@@$2A=M=<=!F8>(4P4%!:H"EP5AF/ M%*5>A=FYPRKWZ\9!/$E"M][!:3TOG!=G=!31#* OZ8*$KLF7=$6WULD97-*N MB7(B54^DI:R,3Z"=V RI:'X;]+O!04,N!!3$?B"802M5@!"CU@9\ MG(!6[\]V'QUK[J"G$ %&:4C$"@-#J-<<4TD R7W'VKN/Y6H+*(,NIM$\8'[* MQG#N)%4#SYFJTER2(5]E<\U82:NEBX9-7<>L]6HF >4^!+1@(8Z-<)1A&]=-C),"$FZ$58K*\!]. M':2)=^RG'XQZ%W\ESWK4\WP.NPXU*)69L]0T5YT&6&UJ[82?:Y6IO5D=5Y<2 M>6M_N/.ZNB_?S;^:JGY/.][>N.WF[86 S!/%.8582DNXTR"H+K(*>9]VJ>*9 M40)\( $CB*!%706"H!M,0)HG#N2X2VP(J K#B"]FS[^:&I;*=SX["8)FP= M"SXX<3M,,RT52)U\W\?UIM:[GRU.G-XI.Y'+A$. M+%GKG= DE%B>0=6$% (BZ1J-M)&1LX KK973D"JJ-/!AUJ*0]DQ32'-W73@" M&R]K+,Z>SRI^CY 3=6Q@1[33MLOY($WO!J4_BPHF,7E&&?-X9!IJFI>=MC19 M2VI%XC24J)\)U8 /5<>Z43UL/E:K4*O6(H8EQMP:))7B0BK& MO:!-= CA6O5Z?F8([JDFVIM01@GJN=".*VJ(IHX02G7NU[.."IX]KD[3K*X, M)M:*^RNE=L8TL2(13#J??W(0(X,9S@C@%*6$(XU)&%82B$+-(SV]B-YTFL]TY[&K MYF2@< C5N&NG-=DI2].9)]DJ?M_B&EEHGJ+FC,CT8G(: M//A&K )RNQ_U!0 ML?5F**.E50(X08<$TV)H!JG]1WZ.D1@)&A($2&P/@>!=4VVL%! MG+XAP7-/:1I0?;2E(W7MQ"4_:VGJ\C1A%Y*7)\DYHR_]R)R&P/2TX7'[H $8 MZ5X[_3J_+^MBS7%+-34, *61A*PPO43U=%1#?0JDU[/KM645FH[%]'M6-QI%JJX2BIFDHF=AIJ-(0A MSU94';GIITN[,@Y S[36@E HI5 QDQ_2N.GXZM%3 QENL*),6@8PQ=*I4(MH M:SRSV(A@\06U:: 5GA16^^A3!D*'4ZB)K/<<>$I6J41ZIZQ3J::T4JI._+35 MJC?EYW+Y4)KJ_GZQ7B^J98CT%ZLR/'XWN[D;10YB"@7EG# @O*!R'UI,JJ1+ M7YX?#3 AF<8ZGNFB "DI@3!& P,T=.$;F55K![#X#N%5L<.8)E@#4-M.M<9E M-4VZSA-ZH3+O6<+.:-AP9$]#R :TI\KU6*9)VMO-?%.JF_O82VBSJH]SO;H- MHEI_93XNEO/F=1=$70A!()BS3 ,GJ&VVHZF5/$G96@^JE.800$C"O)/&!B]$ M&N()M)(R+'#NK@(USN)[H/'EF ;J55#.ZX1AO)W@7(3M-]UKR?"$!;$O@ M&1TY;Y8^=;0C BQJA ,!I*-I M+4[.=&6HK6:YV]OR>K/X7.X'?Q,T]$T9 MB5C<+6KEW.UL?O<3=A%^<54&G/.[F=;0:&*94<@SAZ $I#FG1ATF9K8L/X3? MN6DG;H- K>"8S M]I(N&XN*30CCD)A&/J8[!*-G(GM4ATU# ,8UN;I@@ PO)V\_SE>E#J%Q$\K7 M3^5R77_7?8W=ML,OZ')9WBXVK\L05\O-C,H@)!P!"IV&WE'I[3Z]4\62.F@. MCTXAC+T)$PYF/-4:20N)P< Q:K#2V9MXG!>9^J#9S<[IUV7QOMQ\* M/%S715/\@?C3GQY6GZK8C#*N&UT?V1W^L-X4J\#0A^7BW^5-$4.A6&^JZW\5 MNQ,?Y=? Q>)<^\^+:5J2+WL*7)[GYN=1NTSV=Y"^G)Y(+@7=UWDH1VL$X7MU ML#9!^V*YOZ_!!\I?KQ;5:ML;R7 KF11021QO?&(8-9+'-/!)+W+U F(X9,:$ MB2<6C%+.)+)0 V<\YA8 G?M:^ 9G5+?5KE=Y+5F+;4T4E*M<7Q7+;2O[FS+H MW"I(5!2T]ULG=ZPSLS@ML0R]M+\Z5ZE'P*^*O0O_T(#_8_3F'O\VG]067*#A M7!^RVU2Z.7TXCN-6MZ\+I?SN\VB7,]8F&9+ M10DV)%3*PA%@7*,/2*-69Z?;CX8T5])(R"W1\15D 84(Q;GE+E3J'N:_'F>+ MJ9Y/?FI01=V^>PBSSR-!3[A&<1B:S\OP91A.UMJMINYG_WNZ \)B#W%T:A-N MI!R=XFXW4.ZIOCD46D\]V7_N>=5D&SJ>2#C#4SF!JR2'M:?*]="EW'R\ST35 MZK= P&HS7RQ#^GI=K1?Q<5S/'$:*8.2(,D0HXAGUS2O C%F$VE]S_.Q04CLH M>;0FY#_N=3QW"V(W5F(Q]#+WJXM',[\PY7MH(&Y7(1J0*7?K]N>V1488E]:T M='!@-( K]NCJN?CKRS":XS3-[5=27I/;-!,_R<2H-#$?D!'+ M@,9461ZVQ(N"GQOWU\#)PRHNS<^\% YH X 0PE$!D8SW@.]F6<38V>=R];YJ MW<0J863G".0RWD_DPWB "8\@#=,\CST@@B1-MXY!)KS/6)<$/RSQ%-=W\_5Z M<;L(E<-\7;]8P C2E5%!#%0S&E))>' M14-DVL_[!D'#-;86$>N"YE!#F, 2*F0)800#+7-W5&X5_LOCX/]NR7=K1,)$ M9QP/MIA=3LYY:1/08_C'B^]%;<%6L?=&A%G2S^;!A-GLY#S9;<([L$>;7U@_ MW-4[-?6&S?Y"^[MJ'4)\OEI]"X'_9;ZZN0H_O%[<+^[FV\WI^ -7(6>%;\<_ MAMK])D Y_HV^D^XAW'9J7C[J(S&!J?NX]E:7"KZT N 8VF$+>KW?R-@O/ZGE MS7Y5ZOIZ]5#>S"C3#%.CN51*6*<4UW:G3YP8G'3I:A\<3"LJM'(2V#B)4EI[ M;*2RU!M-E ] M]MI5A[V)+?QQ"[4>/)\IW,;PWC0*N5$LK<:/C81"[V^+Y>+^X?ZP:7"T_1S? M+BKM0_FN>E/>;?]V5\6L9R%Y4$F]M]@XSI"3S#3GL;AWLGUMUQ6 HM9HA12/ M3;N55*'.Y9H+ 06UD9;,@KV#?;QU=E36%>46>W'S4,89Y&H+__A5GX1"()N/ M6E1O4W!/FHPWGCG:/S[6[QWLNJ'>NZK8(8\_]&9"GDFHRJ;@H6Z%6.\8ZEL9 M=:3N5#&4VQ,3J'^RFUB-^&2GI,GYUTY09$C2G%JDE*(.08LQ=?M EZ35L M *S&C!@@O%22QQTF0N'[5)DQ-P3V*:W'EFE#29 MRS,I:7("'NJ8)OO&4.\TV8VZDVDRLR>FD"9SFUB-^&0GI,DPYK=ROEI78=Q- M51Y>8'[_K:YE0VF[N]OE;<"PN"YGQBGGP_\A89)J@X'@H@EQ9UW[!)D^M$7 M(A/&I%Y0KD-ES8V$# L')(8T]^FVJ+(UXKA;4.\S'($NWG\K&MA%%E7I*7!G]0+"8GOLM[HEO*&]TJ[3)?,U:D;E9U.]96VP45 I2:)&'#!$%]@L\H09M M=4%8G_'#A%D)@#3'@E*MC90&0F ]$-+S_"=DGHW?S_/5HGI8QPELW"6?[VZM M7.R.0%;1F*+<69-VU".+NUIDO0EX*BWU/7VJL3ZHN"YJT-]]OX9=N.GX).U MSJ5]TS$1?MP6>3&8_K#^8_&^W(;+S6*S/6@6]'I9;M]4^;+8?"P"_N^+PX,# M?PRL 0[V=*#U5,[,[*0)),[<%E;C/?*=[@J.9U7=UVWJ-@_K30"X6NMOOY35 MA]7\T\?%M8H5;-U._5WY=:,#@"_VZ&-2/> O:@,Z73J< MQT?MWAN9BGO2\F@'SQ2_U^B+"+^H\5_F'N,N3)]Y_K0]X M'9)* ^$)10@$59%2,B'#I!4 J"VEF$-[ M^930P*]?5FL,2+RB^7).;I<23N7?P"FD90FP,/C M*ZLOCRBM]>3NC?D=,/U-K58A+,M8N-O%^OJN6C^LCM*J,UH80QS!"!,0_UNO M440%!VZS 7T5-.H)\ M51Q )S:Q'-H)[=+()?E/2PXIU%\\(232>D;F7[91Q'!K3-+ K@UDT[B1!9]2L/ZG3T*T![*B& M?MP25S'BC;IORD_A2?LX7Y=AVOEA-;^ONWPB3$-Q"J1A5,@PGY"A+&T&5-## MI&6([L-D5J,:67& 5NRP=6H%W(?-EO7^.$2FZ5%7#O,4X2<9.E=%]Z=U&HHT MA"&/Z]BAN.FG24T_3RLE)9YB)&$\U$ -!,V0$+FDJK/70!?3I4YM@/MQVD>; M,M YE#I=I GP.9:2%2J1W"EK5*HIK52J$S^MWHW[8:A7UYOJ?;F*7M^UHC.0 M&=VZ!+>I M.R&3I#7AY;.1Z>WVHEEOFMN],?8\%Z?>#AN0Q0F\"3:D-56>9RVQ-=;_>UAL MOCU5NK_<]_A#D&''/=,2*:1L+.";J;*T"*4UNQI@O,P)80OQJCBY5/6R:\O0 M0TY# (Q7D:>#W/VYF9[I"L3V/".ZA%C]MF#D*D:$:G"+FT?O'#C)E9_0Z 8LN]^VJY MZZNWJ8KW9;':XS]]959>QEO6\Q<@.[&TKUG]&_O!A5?<8_O4A3D"KVWJ=8GWXN9N9P4A['::E MW'INM>14-^JLPM^(ULL$V1#D7NH\'<4-]F(+/LYRMO"/?KREB&9V4HNEADGX M9S"!_7E21W1,36 C);V,UYK/=.UG^?7[W M4,X$=9A()@&!\64'JL.?FN$$5ZU62GH/,L;NWOJX$K@J/D=@O06S)8>=T]7P M] V5D?X^)G^]<\KP/ Z=-L[SV2%Z^N_#2;X'G31FW M5!?+#X>JZO S37T%(2-(4PT@I!Q8QA5MZBNEJ6IU0_((,"Y6V.S1'R]4'/W@ M,VL6H[NKSX+1Z)X:*J'T=-*("TMM*$Y>:QK4;U->?AK6T%8K4AFX[:CJ-_9A M%7"\+E>+ZF8[+9U1*"&Q!D/K0/B7#"AL,S SCJ8U*AQ@P)3H[]B?/0A/E3'#$S[]$$RT)R$" MNS#5-@#5Y_GB+IZN\=7J[?RN?%M>/VQOXOLE]IYZ4\[O8FK^)>3J]#2(TX)]IG#LD84 MPG(+J?@0,14Q/0;<,5LNEI_+]2:N/"1>KC$L^^U*E(L1GU:4[&'^Z;9:_:EF M^H#TJMBZI %;U&C'U<44'L](9!9W3$,M\YA6C? X9]'0E^'K,)$25B&@F:08 MR1- 9JAF@ E'&B-"!!$6<-$YA@7.?,WRDHG+&TY?N- M6MYL7_%\L5QO5O4&S]K,UQ_#]^-_XM^%LBA^-S97W"(,?_>=\F\1'ZZU -PP M::6E3#!EA3:4D%H#,/'4Z*1WT44."L45U"14(Q+* #-?==< MQ'U5Q'\71_"O=DU0.\KV-#S=3NU_.B>G)8DC\^*UTM' VK=;$XLC&W=/0?S+ M'Q^'@ZGU#WP_/2_^L+7WC\7O%[N.: PWGLE0DWJ*II'8ID5)->&H3TNC+\OU MNEJ]^E2NYIO%\L/+V/WI]?Q;C?A=I(^3'#RJUN_6%_/[^(M MX3.M'344*&XP%T!0;I4'"!I."/!4F93\V ^)DS",21AE-DPR-)68:2X1H$AC M%OZ?.?%MP5\5>_A%C?^J:"S8G6AHC&CV3&^V+QEN#:F;*J3EQLSN:Y?TIN.Y MM&PV@M.R9*=>?)]).^/X<1KY9"1;JTM$2IX,\.Y+57>&F GOO$6"$>4XX%)Q MYU54#6&4,10FW;V7/+@E%D*-E/2 4PF]4% :8P&+=WD&))/3^8!\VRPGC["W M]\JP6I[%(;GE^WE?7%2O&TX'D.AD]_Q5J!UB M/F+/JL )OAE8@_.X);L*M_#(975XS^L02ISNI)],BSL8V%6-NW(YM![[$ U; M'-X8(;2S0C(NK1/.8!1#7ANM@- @AQP?1C<, T,5%-X02C&6FBG@(9!$>@91 M[N;4Z;$?H><4XP3'#*O%>7R26XI;N..B2KQG=0 A3O?0SZ7#'>SK*,-=F1Q: MA6=>,<$U\P DE!Q4P2%,J'( MIJ$8\"C(C4Q[/6:/+UN0Y]'9YZD?5EX'93VOJDY320<0T-8^^+ETL[U9'>4R MD;>V*NGGBU7]RO?:EJO%YX#A<[G6\_#L7I=O/Y;EYF5TP*):ZF^''S#5A:'TM[^4-Q\">+I=\!-KI^T_B_;2,,*KCLV2-?&XYDVPE9WV@#<$F1D;$SO14BU5#JP$RZ$#4[J"7QZ$&0< M*B>"! 42\I8,Y0 M(C7RCL'%AT^QU-Z#0TL+\9U< / M6G_]V?704$'IB);:&4R(TI* W<&1&#G<)YW<.3.,Y HK;QT5R%'/I20$>68Y M]QY+)\"%-*A3TYT^;';7H0Q$#J-$%VFWI1J2 M%ZL1-6TUZ MO2H_S1LS7VT<(>T:*#6IP]JL,4. M;;&%FZ9>0_+>3LTN1'F:NK5F.[EMS#""UY[$,P*8P1/3$,09IX@SS3U3 MT@M)J51!&#(+X [4/B03+@'M2-=Y/1N)J33=>DQ2E^9A'=E*N"PU/VO=KDEM MV"MWP/[<\V+4)^U\0I '(&4"EZ'V-* :[ %)FWD>+1KN5Q)?[KOJ.*:)0](( MXG@HV4"\HZ]Y[$V8^J9,-L^/)"TTB!C-+%#4::-"G#'I#$0$*0J2KL?K(*_? M;08<=@EZ]/#J26R[V>1XG*8)<2\ZLTP9SS)U9I8X#,/3F!@.9$N5XQGLJEK; MN>:,6$XD44@!P8 D5A'LFWBREB9=QOS#AS.J,%2QQ >".J65A&$6JY2@*"@P MR-TF^V@#OC\+A M;H?JVZ5"XHB65G'1A<:I!4_VQO'FX*U_=NMO;\CH.^F)Y M7=V7[^9?W\PW\66O0$' <-CY/ES= +&);])0&>^8,0H1S_$VFKS5V"9=(]0+ M" YQS0(51GI-H>4AKQ*/)*&2"(U%[GMKO\<6S]#_MEQL0K'X-A29H=#V97C^ MYG?U'Q_"<_JM,-7J4[6*'9F">46T+[YM::K[3_/EM_^U+O8<[/_^*CS%Q9:1 M^GNO5]7GQ3H,E]@C(*N_V\W+)^/JM&E[ SOZ]^"?(Y?4;GST+&Q?@RHN=N-/ M'Z[/B/8H+IR&MH]CZN/[D,?C-^5BNF44+[M87]]5ZX?5T9"46(=H*"<\1]X[ M@31&NWF58<#KU OE3@ZD/) ",1\7>JCW0GD=WWJP$#MJ8/9.E0VV1=LUYF'8 M:Z>KHQ&7IIM[6,4!UX7O0#O%TAG%&X3<:2C:,*8\<5?80/P<%.GXR7@9OOKO M_VJ^$_[U?KXN__N__C]02P,$% @ !X%<3[TGO:71?@ 4#X& !4 !C M9VYX+3(P,3DP.3(Y7W!R92YX;6SLO6MW&SF2)OQ]?T5M[>?JPOTR9WOWX%KC M=UUEK^V:GMDO>6@I)7&*8KI)RK;FU[\!7G2S1&82F5V>CQ?+= M5XO%IW_Y]=O'V>1OU>SR5X(0_?6NU8M/I+]^V3SV2_KH%TQ^H?AO M7^?G/_\$,YS.E^^N\9+-XU^_>?X+73Z-M=:_+K^]>W0^?NY!Z!;_^N^_OWZ_ MG.E3__K__VTT\K?Y^/K3!*CQ:T?#==7UIVJ:?GMSL?-A7RY&XTGV##/> MV0]16IKG(88>+B[*L\7X<_G[:'$S&R]N/<@&H+/Y#$,9?9R4L9J]AX;MSS;[ MS?T0Z+=9-9__.069.1G_5WG^&OXJTR-Q-)[]VVAR4\YAG-U3J]UA]$.Z]S?7 MUZ/9;1]@:OZJ?DCP(0TE7\8_[J:=H5?3>349GR=5P(XF:8M[?U66-3:D70V[ M'=[;T0PHCW;AIU$OK W^_@/\F!KZY>'\%;[RJ)N>@LB4V+VZ;C+U6 M1_T.?V\^-.^UNXFM%8HXJ;XTPOW6#KH=+NA"0+-R.H>=\Q5H_-?EW@-_N:N^ MIY /I@;]=CJY-Y_*V=(PVAM/W_;0TH#!6GP[NJP!ER_ M?C5]L-''\11TK_%H\K::CY-LNS-;,@C1Q0"Z(U<]2Z!&TU:&>#?]W\O1_&96 MUA+'6QMU-ZS5R@6#Z/5X]'$\ ?:5\_7WYV9QU^3-]%UY=C.;P;JPH_FXIM3H M[HW=$>2943T=RI_3ZN.\G'U.R'DU_72S@*\K6 "3\5*U6(UT/X:W_O;N"%5O MS=5HVLH07TU!;%^.H=\5OG:-ZZ7G.QE,343L:-;)T.IQ<7NKE@;V&:!1S<9U M1O/-HVT/X7[[>_!A/:'7K)>V!UZ7GR\T:&4XKV&I[Q[#XZ=:?'&\68"@^7T\ M'5_?7"\_>CNZ76HJ'R?CRY7U]^?TO)RMC<'IY:I=S57:ZDNZFO8[&,EH CM# M.?ZT6 WDCVKJDH]NZBORN6=;&<0?Y9>WLVI:W0!':BFB+S9H93CO2I \-V7262ZG2V-AUWA>;M'1 M@,SY^?+G:/)J>E'-KILH=?OUUM%$?'E1SD"#7']CTH%@.@K<=RKU^NMH,NM/ M_'@^N@1QU=X; M.IIP/:&XJUTK@WN_J,[^ LNJ/$\^[G(Z7Z[0\#7]NM.?6ZMQ]\.LIYDVZ*+[ M(=_KQ@%>4MV6Y1J!RW.K;UJ9R60=%/7F8HV'_RK/WY:S<07/S>OZ,0\XI!Y( MNCFG7S[UYM-RD(^$=!YY:G??_53KR8\&770_Y'^4X\LKD+KF,Q@$E\F0OKG^ MM+(3H,&K:9@OQM=+2^$^[.01K>>_S493Z* %5G8TEO:(^*[\=#,[NTIFU2SM MQ->UIOMBJPX'UH ;.]JV,\B;C_/RGS>@MX?/=;3]EY[O9# UM9<=S5H:VD:8 MC4%N7XS/ ,[F[ RLGH3ZM]5D?%;#$]6LEQX'WNX$.IG(A]'7W>-[]%![KZVW M:)]YM+TA//;:O[GX$Q3<=:S"/);G()S^^,S5J3/=2@VB-K/<7@F4=;&<(_DCMINKA] MX 3<-90M3;H:DKL:32_+^:OI,]_5 TM6IUU-JQ[K=S9L9WB/%:RE ;%[:-L: M=3O1 MQ_()Y9YK-YG-'C5+240T?K)]/_;:31;AZ<_EU44[/R_-ESN+FW9/J[+E)+B=X,9I_ M7,[R9O[+Y6CT"2B$U:_E9#'??)+DN_H%X75VYO]8?URD4<%0G@[NXWP9D;@9 MUB11Y^\_PQ"*>@T+@JR/A!@O?>3:.(,5,=H&:1 V6K''$UYZ.:O9FM;=SO@! MU5^!C?!Q ;-8)2\\"-E[?G;W^5OPW;OUKRD >+[*Y_H C+,PZK^VT*V/UQ>$ M^Q!D=)Q&S%GPRDB##?,!::P0]W6H_Q#K9G;V4S4#X^SO/^.??X)O5J=TKU?3 M>S&Y=XG]Q0.!]0FD;DH5_/O/9#.$T>SLF^7SN)?U$[]^6B8#_')V-9Z<;UJG MQ.=N<%D-GFU EXUP^O59Z=2#W,I.[3T%4:>=%%QK2@+&3EILHK8$&VJ(X];H MPXFZ^].FIVF5[U.\YS(&=*G5;YE\[3X**9#B1G+E-:$$2T8]7M&!$H8<_HZ% M3EV$5/W0_EYR=(N_NZC]>QEIOH[G6]#V0HM"!1T\PEYK$06)@D5,U_/C@G!Q MPMCJ 15%T3O"U0?9J/I'-AU'U$RGEX^R!!YF'@! YL__Y6OKF$'WH+$-E]3 M&!)EM-X:K /7F&EIY(:2U@5ZPO#-!EJX@>A0P8DA\PW W#-KG3%Q*7N4!V=/97V02' M6UH5W)F@O5>4"H\$EE(2LIZG),;9#!32'RC-,7!M^G@@KE^'+I]MF) MO6>>+J1AW&"&%(DJ8!V1,QO%7$<9> ;F6 [F3AAF^6PX"+P:"+FM[0ILE8Y. M"9#E$H-L)R#9UW,UFHDG:;MON7X?3\ M@P6AA&.* @AC%%V(W&*_'J%EEI(,_(@?^'D9/ZVPHR_1]?O-%(CS:339#K%M MCQ?61P8*9C L!(,$0L+>S@:H$IO>V4-3RAK\?3\M6BO-[F M9&[43X&(0);* .O,V8""=D"--2VD9?*$S=;N7<]=LJ(W;\EH?K7C]+"(4GB" M%6B<&H-EXX6^6U NG?">L NN(Q8_=6XTIW)ONV0U+6]_'\W^*A?Q!F2L6;C1 M;'8+LGZ9];1MP]S>LG 1(_+8OTN6Q/>QN M9HG@VWRYS7HJG+$<.=@)G#168Z!(H!MZ*"/5H7QM)P/+;ADR-(#^44W/6L/H M?6<%QR)X6+&2(^T-]B%@?+=L*<_9NH?NGQL63/?F25](?5U-+S^4L^MGHL6? M@>(S3QRJPXMQ3,+J\$X)QB6$%;>:( LLY9&CNNSLE%; ?A@PA@/Q$ M8\*E-%0I(+KGC--@5%2:.@^,I\)&5\LXZEOQ65Y1]"@_82^5Y]MN"FH1Q5X0 MI1#B 1$CM-9!21V)Y(SF^/B'[OUJ"R>UM9ML\A]> W\TA56.3#X25_T4FL!N MS*U 7!$.,E)9((EA0/ G* YNM#076:'A>)>]!_"#M72/7C4 MC/;'E^@$\C9JIX(W+F5((.6=V\S/17+*L?H=@*!FHE,SHO](='HY"H53+8 A MF%"!B5;>&V4WE!3,G;)HS 97EXE.S?ARW'DF2CJMI5S!*%K&U\Z&;F(##8&FN. M-]%)(*\]J...H1C!D.=8B:J6-9V//2 C$'@L$WN'"031<*"( 2'2&"LRII [^2U4,&=<*3$0?'3 M"CN.*1,E8 RZ:!0X>AF#G5_!7_\8+Z[&TS?3\C_*T>SN M^I6] QQW=5PXBCPVB@<<))+4"N3NJ(4E,2?LD>D(5HV"'5OFS_Y*8,U1F@M@ MTGJ0MKRH9N6'+U7Z8[X-JVV_ O8QB@W"7G@G,:;< G$V5"&@*W_GXG9_U!Z8 M4_W@=S/*]9BAX[(#".]\2X&8-,)9$F!1$TV==/).@2)1##-T--#04M\VL MGH!\-\[5N&-U,^L"R3M?4Z!(G=#$L^ -41X3K]='!QQ[A7-R)H;N21HM3CSUT(Y9UO*8S45B+8M"A"5A+J68P;VB O&$#&[ MC/N]O_5@%?D+C]Q?] IS_O["9Y'701F4]B_,,7 5^53=,"J5U+Q8*S;J),)G M/4T'!U8Y2A#C%E'.-G2PR)RR-Z@MA.P?/MN(]L<7/NMH8!@[XR4BWN!@C.>; M^7FA#J M-'RV$5^.-6C1&$NEU40@8DUD# CNU[/T,6;5I,A"WS&<>=<%2/TXQ6;<.$1D M#O=!!*&E$E(JZQ52*E%0X<=UA_I$%3YKG&R"EJ#.P';C/7 M8%".V3#T@XQ!B*HVN7.\4=7:,\VP1UHC*E%(OYG-/*UW.2@<^AG$(%#8'F^. M.ZI:TQ@PEUPI+YB*-'J]L>&",RC'4AC@"<(@H-OMH:']#Q&XL4 M36^D"3Y26/U$<^SN-A;!PRE?J]P1$&N?Q/;)N.-9&)BL9FK.SFZN;R9@$2X? MZW1IO/#.0AON;#"8"1^J__"6@-TXB)ZZJST&":S.2R/+E#1BX_RB31_ M@/-3@G8?#!I"%//[F^OKT>SV>RST&V.@3BKG#?)(,(]\T, LST(T2M4S'$XB M4IEC:D -=P8%S94FW* -'4)>PMG076]M(63_2.5&M#^^2&4,\H\9QXB*,1(' M4@4:.$6FJ58HR"(JAU]'JSIJTS_I33?P[#Z1TAI(W8<:RA[58[ M'##6,%7BE,924KN999 X)X9EZ/$"!P5=ZZPY[ACF@"C3%JQM%B/WSEO+Y7JN MSI&8X<;PRSXL(%BK'#*ET'ABS(_,T\@:0Y$27?5PSSGBAL MCS?''<,LB!'((JLU)4%JRRCFF[G:D%5CXONJ[+LG#MODSC$%-$LKJ7:**$*# MC<$$O[R-U;.(,,PWY^CW^RKTNR?N6F!*7W"[]_4GOFQZ'P9%#O3/2Z#^?RTYNE.$[6Y.P[$5'>T($KG^"Z&[D'K M7J'JDA4#B5>[!B&RZF1,&<"><&3JJ^XT4=H%RXP)347'B(\46;_Q,5 B48RO75R"&G??1 M-[AS&'3X'(^]4C<*;"WF1 ;"10R,&N?DW<;$2-:52$,_@SL,&/>F_1!BT9=J M_?SQN$X@SEQ2)[ B-G#-N3(Q53=1$B'N89T+54M?KNG[<-7UIVJ:WO[FHAZY M/P"!+?3^UTO>D8PN"^Q ,16(,&<49Q(I&9 1S.-TU0"AIUSHM2U,5 =AQ9"\ M*^_*LVIZ-IZ,EQ#8"=JVNBX"<=)HKD'M!"YIK%1@1',:(DE5+D[Y'LJ6P7L@ MEO0/XL?*WIMI$V&;T5N!A8E8*A<<)9QY8(GEWD1#*6:(B)P[?8?N+NPW*6$W4>AF-%G?&W3KP6BI#=.<;@N.D(@1V #J"^L(KSVRHP]+H9K.J\GX/%G1=C093<_*]U=EN3B<;? > M)E$F\CX(%=KDMM>P$.HT+S2U7 #UJ7=*2RT1BSY:Y+W#VD:]EYW08G!N'4OH M\8,%\80IS:3$R?)\H3!!'LD@I6:.*.E$2NY?S4URGE/R8.@0VI?+SX(ECZZ]Y:,\OSLNW&@V MNQU/+W=5D:G5OD"86*M1JC&+'#<<#(BPGKLQ2N:$=1P'IO8&P]-$DP[(?7A7 M]V.'_II6>_F_G^VI<$I$%[G5-BCB:41(H0T]")@+)^Q8:!=^W1*^-R">G54W ML&S>E6DHJG'\>327E^/^0:,NSE1H7'.A*'G624:^^$(<)N9AEUUOU'6<;Z,<"G M-;+VZ2V: O]N >8[O#^;QPK/6# 8P52H\DA1*Q'9S$0Q&C, ,O0$MW;1DD'5 MOO#Q=E9^&HW/P]=/Y71>@N[W9G%5SAZ180ML:K0N#*$A1L3 &"9!:Z% 8]S, M6UN;XS,8>MI:NVAJG]@'\1S4]1@41'&/#*;&!&*$=EKKC9EA'7(YG@(Y\+#4 MEG6>#++V!9%GT@BV .69IPLGN*8<61(QXD&!61HV\M4&37)*.QV'%9;M6,JG M:G^[5O6IG"UNWTY&L#ZFY\E9\2D->+N6LZU904)T7@J'M+1)?E(1-J+36NU. MND-#!BX-;U\78[FY;OQY=7BS<6?L+LFBFQ!TM9VA:$8&R:4 M(MZDFBR,>[69*TI.P+#'$\'2_*U^//Y?DKX-'T<+ M$*_*8AP%(<%I1[S6>#,W['2.+%+?!WC:H&N_?IN=#IM"*,D,LLPY+Z1G0?MP MAWBM",] A3X*3TU+,1T-"=F;;V8\^CB>K++AIN?O%]797U?5!-@S3Q;>XK9& M+%#=+@HDE>>*,H24<98%+L7&.^48ECG>XJ%[<3J-,.N( 0> 8/T M)<;%4'8 MY/OT+BJLD T8UMJ=O!7RE&L%M8^$EZ&61_:^ S;>CF[3B6[]4(W'#0JBJ%56 M:$Z(8!H[Q_C&+/68\YPXH","U=X\?R%2(XO(/4)H=@.L^88,VU'T?)N"2((4 MUY@22TD,& GM[^9HU"EGJG4#I%;HW#.67DW/JNM46J !EKYM4U#/E))$^N4U M?8%A&S>'AEZ)DS[6Z Y+V73NVXGTKOQ<3F]2T("#O\9U#N-W-2T$Q4%S'Z7! M$G.)O*6;@"=O!,TY;=&M' Y(JGY44F_ MCJ@.()1-X ,+H7I^[EUMBRB]I((9YF@4S'I8.)O(A9!.(@^EC1^I>Z!M@O>M M2MWI?@\HM?U\=T?+ G1&887S1L,"AU\(,@Y%Z5FZ7Q!B;ME%DC66=X1Z>_= M^D#;Y\/AO!"-W ^%<1X')9'47A$N"67L;I5IF74F.&P%OAM 95.XUSB#AQ*W M=K#!LXT*X@(WU!.L%3(Q,'MO]@:E18XAF!7]=*0X:HW2!S )Z]F"A5)>()F* M;Q(KK92<DF*"?:Z'(.B;."G8X42*U2NR]L[17MLH5X) I' MN&)&2>FM)DZP31Q[]%KD1($W#Y4Z,:6[-;+W5AVGNKZNIDVEUI968-L&[XF7 M4O-@!#+!F[M%9!S*T;J''H+0!O>_N7>Y+4KW9K6=GR_MR]'D[6@,UH(;?1J# M!O)@(MNLN)V-"Z$Y]UQ;D,^.(2(CMIL Q709V"E?H-4!OEHG>%\P>UMCON;EQ00K5TD6I$I= J_=BX1**+,6>7''K00@

=8!ZYM:%#D.?TI.^YZ$#.=4K]PYD"C4R @E@._^I@O(H4)L80%7>SDCYG M[VSN$>WYFK7V,95-X*%D3V1D310B(A&D1(Z[E%2O&+)W"P663=9]'&C@F.K3 M\=4&]>_QUG^9[;=+BEZ5B_'9:/)X6"=6<]M&IIAE-'"DN:?*(.NT,:#;6"R) M/&3-[ 19=8# M1122\I1S$MK%RU.5ID,N',#]! +BS6Q)L/.EI^-M.7M_!52NYX9ZJ77A'&AQ MA'GEK>"2>TV, !F,....$9MS:V%C=\'G]>]:E'U!D.>AG[;=# MJM-[GE+6:%\8L,&=9\%;+!SEQI"X*@!H@[4QUHH2['C^R]N/ZDQT^6"A79#! MJV0).@ O0T[>S4@&=LHWD+3,\F]<,AET[L^+MQ[D:M+W5W":K^-M$49;VQ5< M8*>9,EYXX2)5EDJYF:MV6:$B1X.IAEQ_"3PMT+%9$Y)P*%'=;0+HS;)?*A8CIU8>KY!X94)1%@5!&&2:R= >5S/SD>! M#Y;%=G0@:H6^ PK1V"V*96TN)4!L:$,].V2O3LJ#JB.2] M6W&O8:6\@E]KF6YW#Q[67&##Y;3?83VVKY$[0LJ@.99 MRC3WY>KGJ^FWKH]WU602J]F7T6R;K[AA3X44W&J.@E7:.Z"PU7Y#6N^""8*(N]OZ/:KG@VT+2)]*$%')(SY; M]">S.@-$S=.)9@PXEH!$$;GE%*Q928%46%GO-E0*&+. B7.DT((VN":K[/1]'(IV^WM_2-O1[?I(Y-(\W"UO)J^73)S&QC;?$^! M%0Y42.JP5D'"+\2@#2V9EZ=L>?:&X ,RK%=QNAJIOYF!Y;T:[3*F9OG=FT_+ MTAWA:SD[&\^W[N2-^RH<5B@Z$:U2S%@M&%A7&YHH''- /'33ME@7J MN_+3S>SL*JVWAY-9K;==R-S:N @B1@(:>O#2:+ *8US'T<.LG<@J>%8_44&O MH#@M+Y.3HE/+I5?\M4GZ(0!NN7KVQ-NR;8&HC8Y3@3T2AO*@&-]8B8$RE*.& MUJ_P\IW!;1_*]W?&]9\WZ^M'/U0OG*@LE\O'I_K(NQ*(-Q\ORO?E[//XK%S- M]5V98KN6O>P":]>O+IA6SBHN$#&:&L<-PV%-\8@LSPF('OKE6WW!?F \[&O5 M^/'G\7DY/9^[T?QJ"\0?/5>RKZ0F$/JWIR4JV.@\>Y MN,\;WX+$1\\5&E'%F+-<"R\Y\=1C>;<$C+GN:VV\.Q?M"STM'WG]. M@323E-_RKT 66!B_C<;3-(\WT_?E&:C/RUS@&>@(T\N'VG2- A1=O;*00$?$ MO*4,BT M @7>WZU/9G-*WN/&AT./<^R.&\@#X=BAUT2:&:C D]%\/KX8GZTP M>-> ;'?CR;EFXM[$F0LBNQW%MQ9"WHZY\PB2B3U!JWE3D12Q)R( M1ES_;.M4%=NA\&T(:P-F4XXOIZM,[[/;#[,16)-GRYE/SY=_39[0(7-A[/_" M@G*E/!*<>FLEL<;;C2X741 BQ[&+!WC3P!"60V_<.KZHEK2RH]96Z("C]((% M)C;S4R)D%:]I?.2UBC\(T_/3T\C;H?^Q!+5X38D-7'A- HT2$R[09E:&ZZR= MOW&9K1-&53;IAY3#/;CZ2!TF=$M@1H2UKIFT''82&Q @P'@.&E>T]92 XS#+ M^[7(EULVTE1R32SCCA.AC:):*8LI"K!]H^\BE;,=\'5LC#=GUJ'$U?S-13H^ MB)/JRWP(DNEN,,T$TC?-"B&LPD@3),#>TT);;+TP7@0D" "BUD;=F7,Y#??M MK$KG-^?V]L]Y"EZ[N[C.@/[^>86LW31HWEE!+3+."16-0*#]4XVCMYHZ+[D0 MZG!Y _U*D0S$?.N2[I8%PS[U0$$IH9C3/%TL%K$2UEF))-44(S,?3<\D#<.[RF^G9TN[>:NFY;P#1Q\,X0 M*C W(2BN"#/&QN@"MBXK:S+K$.V[A&D>=PZ*R-D-,/G^HN"FH'S2O "MAD9. M+0GI&%$YC:FE,2@6J1,NYA0X'V*&UO!QF<>@@T-SZ8O84V ^;5\PJBR!98D- M"CS">E0B4H0B6(R$6993O*AYPM8/<&9SZ/ .TGS).>^-0Z_>^.H)6[U&/Q?DU:M9*,4H(%'0FF( M*3^4)Y^;<)Y$01%AGDO?:XQ7!:PYR4#KSAAR8%BN(B-:2I;:TEE!D?0F^'0E M'^-:*I,NNN=(V&@X$S3'E3_T:-@^DZ7:8T%?P%Q7H4]%0,_^>3.>E?4"L;8U M*ZCPDC"4SB $#YQJKX5B6+O@F7-9-V;LZ^,\N%1L!1E59TSH#6ZSZJPLS^>I MRE$*#OM]M$CIQ[=F>NZJR:1.(4_))B"QSW M/KH4R&NR_)K-W9J#L'2Z@&5G##DP+.-X.IJ>M63I;.EL217+>+#)HV:#@'\= MICYZAJFP]I23KOJT=-ICP2%4SU3;#89?KJMM_9PIW[^/N':-O7[QES*:MS<"M((;\\W+ 1B#%:3BD0%'AFWWE(# MFCSA)A"BT &,JNX/E@X N%;(OQML9Y?3KPE"&O09O010^F0SBNKB["Y'ZNQA MCM0S^*G5KM",(HRBU,H8G@H.6T^, RV>AVAL5BV)S!SHHT5.%X0?GHG3BFE3 M@&E'.0]&"A6Y\>F*36T9\CBD^V%CSAEC\]"-05C>73-.]1UW\]]&_KP#\>VV$JHZ]&LHP#^&9\S8JEU^FI M,"G_5&D21&1.1>+4^FI%1SSFA-=9*)U9D7N4J19!8.^BMD%)+0DQ6K/-?"2V MWTG5\W99O[5&=3."][;+?#OOS8U8-191C=9%!!,B,"R)(<)K;!R-;C-O;W1. MH:@!IG[VA:WV*;^WMS3M[R@E$<8'0(;0"D"NI?CZHX2 MZG "J1NF4WWF!%"Q0SC2C3#)K.)#-KZD6 M# HY_H"A!WEV@="#<>;0>#[&JZXQ$X:GE%84$5-(,;Z^L! H#&P^,8'<)R3[ MNOJZ&0>J&8 MSZ/Q)!4@N*AF7# J M*4\!QS12PD)P6&R4T>!ES D!STIV_6Z6S&$8N;^)N;[/>W%_@_?H/MM]I\59 MJW4A4)"1*">$L]Q$*BR_H[&S/APJX/MXU/ONJ'UHD9MWM_R>BDG&9?;"4\6M MPT%YXB5"3!*TIFYD!N78K8UU]\_E[&/5A^7:"?P:Z""]\6L(JZ$;!:-FSX4, M%BR9$'PJ&X(1E=&'#;V\(/V&"W6N0!S<%=,:)P9PK+'?<4:!4= A:&UP),(0 MKYW<"(RH2.Q7.SA89-"ASC0:DG]8I^6KE7)5+L VG3P>Z'=Q=(Y(1%9@K313 M7'%C<, Z2A:-8%CK6M5?^]_@/%ADGTZZE5$0CKZSD DGA75;QLN&9(9UAJ<$VUS)+#JV=[>LV[O>8 M84E7)H)B5"&K"1>8*,\LQHX%HKAS\I0OESXT[OMCVZ&7PW-6V4+F(%I_JZKS=*_O^W+V>7Q6SM]7]]1\UA'R4J," M162X"R#\-.M>MZ5=@2A'SGGN9+ <6:H%=39B&K'@6.$<(W'HF<'M[VKM M$;HO4+TO)Y-DGI93T&(G,')S?CV>CA,EDL=F-[KJ=5"@0'#@@@L&ZGRD!%:5 M]$HH+V$]29&3@)EUK<41PJP3BO?F1MB4@J^54_7,TX55AC"E"+/>4D('8=K"E"/ATEF+ M,):<6&0L C+G^(P:9^X>N<#JCNQ]P>^^_/7ZW+2:5INUL]7+\G*SPC"L.!:* M(>:YP%%QCC"),@KD-#$YEE[]B\5/ V MTKE7=_K#<:Y&OEO?VMZP"*!6>F1\ MC!AQ,%G E-'2&$FBQ3;2G*R2^G>!GP:J6J5T?Y+J+EQN[5P;3V]@[/=>ZI6L M73VWO&[O]_%TR9I74V 8K"/0*!_WDJHL+&Y_+Q=7*82ZSH4//8ZB< 0CXYAS MTB#.?#0&3'1*210Q1,ES-NH&-XV?AD(X7+[UNWY@9NME;L'*VNZ/>Z%% =*! MD^BL-\CS(+66W#&L460N*G(8K;H7&/=2?WJ!BBO51@LI/@+>%, M1AV85A)9C**7)N_FS^:N_\Z#;MN&2 XQ>ZO\.)I-09JF FW+XN-^/+E9E.\P]'U8#[KJ2RG ME:6Q/>FK, 1Q9[ 6'$5N S-*>8*L7];R\B1+7@T/<:TAI+'&E4?W XNVYB*M M< *,)\<4)EAP;;4FGB@"5'4I-IV?\@EX5R!KA]1]0>D?Y?CR*DW[,RR!R_*/ MF^N/Y6QSB\>;F\5\,9HN@T-V;YM-NRJX9\0AY+6!300!-; P.E(D,#$\"I4C MU+ZWX]".B3\T.-K1?'S6 A:7_13:62"XX1AI8PE!1#+U]%[Y MD]JG#XW0EGC28[;HYHJ9NVMG-JK(\BJ'T7A[M.3NYH4+ 0L5. 6=AELIC43& M"L4LBPC!SQQYF15@T;>SS?8GI=G?[NL/O]Z7HX3 MK'7Z95DGY0&:X:-B^<(M>N,AA6M4*X M>C)X;V[_WYO1#*@WN7U7?JIF+T'VA:<+#S/0,<"^A3A'@AF!)=%( BFDHO6R M089?6[A=#.31L&,XO-U< >!AX]@!AD?/%@2Q$&(D@&,+%. 61Z2\(<8+RZG) MJ0@R(/]RNU#(H6#'0%C&8(T3(VH)AJ>/%TIXA9PB9IF,(X/B/!!LO,&$2TQK MU1SH(FI\R'#()&)'B C3!1A+<3Q96Q8H\&"0]5[1$$"F M"06&1T[>P(#T[780D$F\3CG_KKQ/%M8JH,1 M7)A();'B((^"'0%A%9Z]B./YV6CR'^5HMEU- M?.GQ0FHMI 8M1VC*TT\3&&'22^VUYB)'-/%]$ MSRB*C$;*..=8@^R3T0MJ"7R@?8[NN$?([E%A8G\R=H0* V,[7XYO,GKN>.F; M9PIM*8,=CV*)$<>6&5" G;<.?K,4UZM7UTE@[!"YGT.Z3C7&= (Q S-VR8+E M082K;D"MN775^78S8FO+0CHCE(U"Q'0Y>.#&^Z )MP:S*)7)JK)RBW%TC4=.;Y@B@PJ)T'>), ,%?*,@WRT5!N*4PUQR^1 M%\,U7&3DD[$/5#CX]SMK/H\GIYM5SJ>;U* I!/!.QVB DH)#&8VIC%8 M2QB30F9I&R?JQ&R%DGW XVTU7XPF_V_\::=&^ER#P@;C-'$>Y@);HK*&8T/A MIR"(PG^R"D6?J%^S!3IVY=Q,HYN5HRU0>/A((;6T)K@08/_CP7L-FYY4*$9A MD+0Z*_SV]+R8^U.N(W:_KI*KY*J:;C_4?/I889 A. 0&FQSCVE!CA<6.XDBY MP#)D.:9.SEF92;UNS[-6CO750?MX>IEVJQ<=E=N:%%@BRF@0&+1>[@4!0BGK MN&/&11Q53F8E.3E?98N4[-AY!91,)8@^EWZT&*T'O,-K]5R3@GOKI&=*<>FX MT%)IHQS5.AH:@LHZ!"ZDBU=QGQ4N>J.\RAX"=8N#]]6@RL3?S\;1\MHC#"T\6Z8Z&B"DR M$3%.M05KR&JG(@9"2(ESTJ+)B?HE:;3/UD7L9RH1[(-0G8K'Z[*R:0.)!X^6'C0 M=)"@ A-FN*+<$H.-]\98JYBT.06[R8EZ(C/HUQ$ UC?XW&+R\<-X,7G)H?#T ML<))Y@@B"L&\ ;W&:.*TQ X+KH0V.8%RY.2^/GBDDV+]<("&PQSS)+Z6Q#Y@9%:WT(>?L@9R<&S&'=!TO]O#U[&HTO2RW M1$D_]VBA58R.8.&CC-P:HXQ+J< R1F:E)5D2_^0\B2U0L%NWTGV:;)W4^GH- M"QPL]HHKIJ3D/H#=:RASR&$PA1#*"F4@)^=U;)V>/>0IW]^ ^6H*4[]Y5#ZU M]]O"GAV-F9ZG"SE3T8+DF5G>3^C'\[-)-;^9U;FU-J/70AOI7:JF2ZGG.&5# M2*9=P-QC, !%+<5H,+3Z *RT,)J_VB767;>%MTPCCFADQ"8GB>&.,A9H$,(* M%4ZY-$PO(*L.QJM#B:)G/]S4YO?E8C0^W+W:PY-67$:P/+GWV'"N32HH3U1, M<7-2H.!J7673(ZWN[EBX74_N7;FZ@'-^-?YD;Y]4$DF'>NE+>_M<9^_&\[\^ MC#X^:_+V/PC8Z---)48:PETR JT(2+M(+7 E\)!5].6$)6%M ->1A$/@;%^% MC-8S].5\?#E=(>;K>%N%Y^<;%"#Y)7.I)@C&G :JG?.4(\DBHLRSK-CEX>C[ M0X9-U0&?#H="7UT#.1OA<-6D4-XBZE6422 ((A56EA,1/ @#&U!6D-OPD)C+ MYIVHV8NJ?>'FCPI4MM50R_/?RQ?BHK8\7< $0(_U* 3D87DQ):R.8EG*SH&] MG54=]1C0TI2]3TO49Y.T+ZB\('YW['9;6A7.<$.P8XIHPI6D6B!F#6)&4:) M5N?XN(Y151O6_M<>YPZ,T)T[X=9VA0I(1&HX#M9Q[KQABK'T'R%PY(?;#ONO M_KP?!.K!:B]B]P6LK9?X[MPU:[0NC(O,P50QC9';:'4@4L.6HH/C&-$3NSBA M)0PTN6IY+SKWA:\GEV%N]H&=R-K:KL H6LL$9@ZT!B"D@;\#!5U"2F^DR/$) M#WU[[09@;9*[+VAM531>CZ?E*R#1-@6N7@>%D$9;+80@6'&3JI8%PB7W5"#A ML#/B-]/[S_XHZ_GT7VA;($E"D&"Z:14XCL[*B&+0 M6CO-=3B$ZI93QJ:R(*B@/BM9%GU/>"J/QS M^+UXJX-1XF6BO.X7B EVN<#34CZ4&]##LD\-[.A[K]%D$PZW ,%JG(D?5:,XZM MESZ8R(C*2K$;'OSZWP7[Y$Y?2/Y]]'5\?7/]KDPK%R;Q^VBQS#YX<_'$^W<_ M^?ESY>BR^BN4,TXYBIG4A,,_1C)JA/61S?1I.; M\LW%_8=+?M8BRLO-"\$]EHA+XJGG0C/%./5,@OX L*:JUVR!S^7L8S4\ =,< M*2]NCJTQHG]M;CE*5TTFHU2>9?+FXV1\N>3XA^I=">)RFNZ!7 F;6IALT%\J M'L@I0IXYE.[6]8K"/RI(SH6,C/6CO>D52*?E9=+!/PQQ*VP1J=VQYT#0K6=; MK!XM+"6!BI0?2"G0S^F EUEQG] MP_%NI/&!6X\T0;210S8/]D M +5^D9KO:SONCCV'@R[0JA$TX?D"=@09O#"2:\09<1ICYP7\X$XJ@W-2^IJ7 MR#GQC7E_NA_,UW%?Y2%6LR^CV;FKIDMRK-R;/WP?3T#BB)<86:V8Y4X0CT+T M(02./19!B5K5:[NF5?V@C)4+FSD;)0/,!T51E$0$%M=SP$0SRAYCP(1F MGA#+N01R<2S J&!N,\-(R"EC)Y?G=:,GFI'X>*(GE+#><%B"R<6/IC/WAK1$\U(NB=4YK/% YC 7T\A A\5F\/%%W:DIX\47@@I<+KY M&?XU0406Y7KD))KP?>3*[K<'9=*R&0HVM0//UB],2)!W?R4DR =(V'Q>F,ED M/<2DJ+VTVVQ[O(@B:F2C4E8&&K6*.EV\L9X5MSF%Y@;TZX7K'_[AMW$=OH8I+X_<<(C&8?A#@!*Z&;5"+J>80M;U M$$>GVC4G9B\0<&8K!.#K0F""<3!4>D&53.EE8C-E)A7*B0L:T T1W7"].?UZ MX?K[W[9R';Z&46,>(V6!,V8D59B:.ZP:;7+R=@=TZ4,W7&].OT-$P33)>;M[ MNDAE,C!G1*8@<1M!A^'A;EZ&YAP%'$]UG;P3R'RR'BB&^8\J<6PT,=?5S;/W MT=9J5\""HA$%KKD*WCLCK6;KN?)4N.^$#R*S6+\]A#F+R(>*F'I_=E6>WTP> M!<$^^/K5]*XNU9N+.)Z.0#R/)F^K^3B]_2Z$]D=(01H'=N]W*C0DM#3?2!*Q)XE%HS1J)(9;$BA35\RMZ- M?,[7@-)>9.X+3&]GY:?1^'Q=Z3]90V\65^5LY5I>K%+-=^Z+]3LI;$!$A<@] M=89[%10(=1H()D($YOW!U/H#@:TI-JJ>"+\;?F>7TZ_+B[V1)GIU6 .?%.;L M;'93WHWH1>B\_'"AE-*$8Q:TB)Q(865,]S&1X<$Z$S 7.CA,&#$.8E5",;[ M?HM6GB0^6V7 0 3NYD*V%Q97.;NH9M?)QFY!Y#9_5Q&9)X%[8ZSDG%G0=*DQ M44LG1$2#RC#;]6".W&T-OY>C1+/EQ YFB-R'3=[?85##TMC6 MK.#*,\0<]APQ+C'3RG@M'$9"*,QU+=G?WVSKB)*M[0I"/35!,(.QX-0I;:T4 M+A(1E*-1G?)5G>W@X*6XOA:H?:@%O=J305H^<(VLOS\WB_MZO]-W9

\2PVM'&N>\HJ+'6 14=0@H6E+7IKG!C"8I4:JU.^72W'7R])&5ZYDQ?JO;= M_.SMW:__.BYG\/ZKV]?EYW*R(\*J7@>%4%+$8!W"'/0I*8TVA',J4]D2)$5. M%>2CP65_$'H)Q&WRJ'>$/MPXOYW&SOBK1OT4A.$8C")(H4E,'; A]XQ^6KZZ68Q7Q(%[PS2VM*JX)8Y S-D5( %2E-V"Y:2 M1X(H)8Q_%_MVNX!X"7;9Q#\DR,A>(%NW*J)02"+"B/*.*^R_8A_2)#1O4"V;I4T;8("(CR$"-N!53Q*YX@%O"!\>L,PQ[1[E/$0TL74\M4$2:$WNPD,-^ M38=\6-2P&_)(?U +]FYQUM]LMS0O& A_H94B'@GN#-6$*49E^I18U>^EN -0 M[?8&1AUC-8_VO:%N<^!Y?S*Z:]=]OD6!K8M4$&^P=IQ%8SWB'A$3*0^2U3NI M._8(_L/MM*TPI2_0?9B-IG-@9Z+4^W+V>7P&5'AP^/XPMA8&-G_^JYW;<)NO M*2389<(&ASP7W'IL#+/"(H($8>9AIL)Q@ E.W7D9#!? JU,^'CD,9JKNN-,7$O]\ M_V&VW(%N&\#PY48%]L3!Y(+B4G %>Y,3!"F+',81*'G*E_0, H.ML:8O "YU M(CLZ^ZML(@BWM"J<9L1R39P$M1ST=$.]$8P;8Y2*/IYRKN@@(-@>;WH+%:X^ ME[-R?#GUY<=% Q1N;5<0AKQ%QADB',?2*Y\"0M,1IT?2D!Q1F!7"^[W@L$WN M[%](X3(Y$))"L*N(PM,'"V0$=!5IT))SXKG"$G'&+:.$(,MR\)-UW<6IXZ<5 M=O0ENGZ_F0)Q/HTFVR&V[?%"I$Q@N,I[R!=H' L]S M%DV++.I-.:BFY>WOH]E?Y2+>P-9B%FXTF]T"89;SV*8G;&\)=ER,8,@Q*F#& M003C<11$^\B4Q=B<T2O3>9-_GT7B2=HA8S=Z/)N6]I?78[MHF M FMVD8PVF"Z70C+$N5$F!FR)BXPL"[CG9,4.L!1!=TCKB."]::'5TJ[?7(*] M*02RI- M%PX?Z"+[Z7[U.B@P<41+CQ1"C.N(-0-;$!,=A&@I9*J>A8I);1<+C(LFY VS9K]/DUY/; LT]>BNHP8BHI%A; MQQF3&G,>E9$L.*^XS(E+&Z!*V3$RNV? H8HL;-]UEMO,G]/JX[REEOX;3*KY" 6/!$!48CMUAI)BQ"P3.):+"BUE%[Q[/-9USM MN@LMO:H ],.*X*F0B>$$1Z4-BRJ0@(UFQHG3VBS; =A+3N?#\*3O[=.<_?-F MO"H'N.LNF^=; *$I-L0302W8^5$K1*5 ('Z9]H2A@Q46ZAASOV97.^!I)RZ+MW MQ,MO_S;^-YA_$N.OIF=_VQ[U\NS#!4AXC'G 5E+% U&6);LE*N(LZ(J\U[H9 MG\O9Q^H 6-B3=U7+Q-T;!NYJ/)I5'\JSJVDUJ2Y!P+Y^[;:#84N3@D>K&,(N M<$:X]\I200)SQ@B"N) Y!TX#--,Z D1[!#ZURE+EE6;4/J5**Z"4:!Z18A(AKL%PYL$RHIPG@BEF M3^RZ^5:QL$]QE6;D[AUH^3O"ZR8Y%2V^KL#(,A&E$HZKE+%B95"*4#&\//QPO#RF._S%>7'TSK?GC>@5LJ;EY6BQ?O:DL=4%:WYH!4VV#T&-0B0JJJQ/21,6E#[)J37&(LQ#KXG) M*ZT@3+\#X ^)J8<*:#WPK>1=1*,B2KG!T1$?/>X3\)O=0]K">PH4TW7!7B/$0*,(T6HD<4)U] 1)]]U>-E@;9R_> M.-H_=X[0I]7HMLP67U=0A(P1D0>&$<=>*Q1H .-.1NZL"P>[%."(H#X OO2P ML;Z"-M/+,8Q[M8X/MIO^5E7G7\:3"0B2IV-JE(_:J)_"4&2Q\9$B@;D07 >= M2O!SY;#A--9*2^V&'B\/OHY0J=&Z8$J[R-+UL$9Q%XC16CCM%8H6,2S]:1W@ M=(2+JFNZ'T &'#K-ZS"B@#-OM9?.8FVXC%$'*RU1DF*FD@MI$*KW>#I>P(;T MN?QF1KM2O.IW4A!GO.?$BB@D5P+9%*>K Z'$2,1<=Q8CD,T1GE*@S7&@;BT)Q;(T@5 MOKU"HR/B#P"$]^/_8W2].Y>K84^%C2@P!V2@-G+&M(K.(!2"B)J%P&KM#L<# MQDZ04A^-+7"@+T3"%K&8C3_>))Z^&U]>+787L'VI2:$YZ('18L1TX))X"],E MS",'VXL,6<&DQX6Q//Y7G9"[-T"EL.KJ4WE^E^-T6Q=7VUL6$6@G0@PQE:=( MSH<0')?:P&KU0?A3\PGU!:]6J;Y_KN+-?%%=E[.[2CJ@SKXK)ZNSGJOQIQVE MVVLV+U3$@D<2,:C G"H!]K!CPA'K66 LJZ[#$./=.\90AZ3O2UR]65R5LV^( MLTM4;6E5!,JUPX2D8TQ%1[%!^ KO^Z3JAP MC>8%**G+/MM5LWWQ-JR M::%33(>6,._(N+! 0&$Q#T&AH(*7.4$RQZ79[P&"^@C;A]8#0)Y-81I:\,"@"XBC>IEL_#M1&^?BJG\SK'>3G=%IXS84(4"C8&3@.RQK(@EK%&EL*OWXU5 MT2DFV^;# !#[S&3>E_5='&UI^E3H^." M.9!!BBF-B>3(4,VCEE@X%U)D<&B:>T\+\\*5J#<;K_@JC M'-B68%-:93B34BFK-1B?WA.AV.&N:?YNT;L?8P8,6GC]UI2N_7HL%"5*$TU M]S-@CU(K8+>"_2D5UE1>?#_:\*" NP=KA@O=6-VTIQ-O.BP"Q]8+*C$R(=U_ MHZCT$GGG V>69Y4.S+I0^KL&[AZ<&3!NX=EV<0O/%@:Q*(@E*4B4PSZD+%(2 M1>:MM!21G-H96?=3?]^X;+67 !/6P?OHUX+9I63S!%%*>=(*R4=5L$Y MRK'Q0N<@6/YP0/3.H&^!_ )SU%%YW _"FAQ/?&])/0=.EC],3H]G,@03;2 4 M\Y!J/X)0UQ)8HY"WNI:=<^B+Z ,PJ)=-\G,J'#4;'W!GW(SAMM$^N*55H31WR /'DY.> M66H&+(J7=:,2NG1XK;GUU]02U6YK"6E7"6[CT^Y+"69)/ ! M!$ 0C"QHP6-4 '(1'/>8!NYP[.W43 V6"DP* 3)2QFA)GE;6*.M/;E:(]RWEE0!R2\Z8HWI5E M^CCP?Y?S_WXU>SLOQ\7B?* =;IVL)#$@QZAP8*;HJ+(_CZ74E.(81!W/J)8= M>>U(:XSDG4,MV[X+6%ZRS7T^U ZW3MJ LZ!:XD*&KB(D@,E0QS4BVZU=@N_K.H M[[6#YWS:=FOI]AS*;=ZHM3Y*9#6.3A/NM#9"2:08Q!<)9JXHQN!+"Y7OS^@HB_>.#22)B#$;:!1JXQ=@*H;5BF&@LL>.5 C%MS6BQ*(HW M7];UX&?WFW%7D=WC#5,@5!KO=0Z%<(&$0A%6!T="T#@86N>@TP"W4"YE]\MK M()JD:6?2N EQ_P5FY/(8Q69B8BA&*PTJEIJN(9-P0802W3%B# E4LHCI5 M? 9X^*0/W)U/Y8L+)IXSKO>3;WMP=$DWB45#*#)8>V0Y"MZX2 Q?)T/!!$V= M#9\!'@2IB:$.*-PZ?D:[)/T&0/2\KT2M##AR3!!8I" ?AB+'>+22&*[A+\D#YK5*APWP<$G'R]Z9 MU.TGWODN]S-]5XR+R9?E)LSYNIRYT6Q<3/->RKJ)N0=O93.M*XUYN)C*G/Z\$^99W$L:>K.TN8,DSRE6V$ M6&Y"L-1(&XE4,K*@7)VMG^%'0%O'WJ5T'AKZ$&S!(P1WA ME&HK#(H8:::CP+6V?88?!&T;>Y>2>6C0:P!Q*2KA D>8J1@XPO;:"=2=W.W+_7HWD>^=?B6GTY8A5CL$00Q@,7)AH4(E;( MT0!2&ZO=I=7.C [$!(Y,[4"+9!%&W"I,,6:_%YMQU9,YM%'HV%9PURP *3$'M8U MJ9E10,TN?:8N:OFT IUZ1.T'0(]PWV9"GZ]TM@V3-PI;S9&PG'+,F+&<*)@H M]]R3&#JM\7^U$*I)U9XQ]+JM8.,-/LV@& M)1?2LKL0R&GU\81V')!V*!!PML&[)DPI1)'GEF%*@JV5JSK\9(E+\7 I^?I1 M%O\NLD%>W!E8Q$?W13Y)6*YFRW>C9?&VF(_/,5-.=Y6$1"QX))C#D>!!D^""S1R M*X(VU#L6F'4N"JGK[+GK7Q-W]:G!]ND8)TQ5FFFM>2( M&ZTT%\0%HPUR7-4ZO(I^$2A=3L_.(OD]%XNX-'YO-3/$!">4=EQZ92/5G@BO M*2=$H1XK]U;=VOEKM%SEL@F5"T74ZS@)3>(::XP(SIVW@GD=<>!44D+Q;>\& M5(;+A?MTC=!\$,G!%\'RS-Z2,P11$UFTN7J.D H\1209DB0P26K5Y!Q^4E8= M++9+Z X6G=?%/V_GY0P,^7'Q0^RF\Y7GS?Q^--N6(W;E;%%.)W<;,,WNWCZ; MW;I6]V@VGHRF[^&3S:@K+%B-])^E0XB]T*"*8JG: M1:(YH(V#0B@H'K&S+" JB;61!P&>W&TIC\:Q479"]EY4@+F[6_\]FKZ:?2KG M#^LN^\Z$ZTX]:"U"%%%Y[QFW6)D@$6/!@TMCF(X]VB1N]&6R'$TG_UO<[6:0 M]R?^F)>+8YN$QYHE<-D"=@3FEZ\TIE@;J87 S%L2M76_J!JHC(&R-5+W(OI^ MRZ[M-V:\G'P%M^O7$7YJ/?BI 1Q6*VW@#O[SX%UZ;^ +KRN9U.W0X*_RZ]K< M?/622>_*Z326\W]&\V,)[U6:IXBCBDCZX W5B@OLC=S-7K-?U2:HC(FR=9)W M%4-[,> CN'KQ9&+($T8%LD%'XK!#D<;=?##,M$L(?2GFD_(.G,#YLE4@-!#2U;D@KWK2MM[@:E;; M@E=MFE]Q>1^MLDK'W\/W\;K^)RY^R]8VQ_VYT)=U$^*43@5M, " M861\1%[0W?PHIG66NP&>0VT%3%T0?OAVD\5>1V^8E ;E Y;:8KV;#W&H3F6T MLQ.[-W93F-U='YB:(6\OOO?V$S]9C.[OYYOUP7[_HRCOYZ,OGW\A'SPB[B3% M^?9?++7202&QX94S@J)*ZW1+XOW$F_5&TW9&ZUWI8[)^I%EB^:)ZI:(!M:4M MM=B"%;^9K74X5"HU?WL^=V4,O)3[YDA]X9JQF"^? 0K^]1),\%%ZW)CL*V"I;A_ M.4)?YJS=0V Y]'P*&L$LA @Q.K"_E8R"[.:$%;L1L#3$U[)YBK:)$@/J$P:V M^*MX^%CLJWKW\T-)@Y(U!CN**)*.!LWIUBIRCDE&A[J<[!LB(QM@B"L MYN67XB@$GC^2)(G<8HZH%,13%ZD5[E$8F*UC? PHU-8\ &H0\3SV+XKQ?]R7 M7__O.JMH_CTC0.[^D0$@GP%@^W%RK_>%-QZ_3$(Y)0"7-M+ HN$18[2#*Q'5 M;BH;?MVV9IE^,?DN#FF9Q604OHVGJ[O)[-Y]GLQ&!\7ZZ/.)",^XB+F @B:, M8Q,4W8U7!5GGS-2 0E0-L[M!BG86>]IO&_\YF16OP!8ZNA5SHFF"^5%'O7#( M&!JE-Q[)W8P-"W4.$ ]HG6C%RVB)QEVAZH3#_B@?N0H0_+G[,-I7Y[]&;PDI MK#0#6AADM([!!/UH70$'ZI1Z')"1VCQ,SLM0;(#T XJ:OIV7=ZOQ.C7[?3'_ M.AGW?Q5E=_%3YA3EQ :EJ.#,$16X\1C\7B&I5K32!5'MT.#I4N(P6TZ6W_\] MN2N>Y9@^FV QLQGH^EN&WE?0GQ(&608.,[E.EK660J.,^])(%4 M.[1R/0JI<=0=O*BZ/QZUZ9)OA_AFOAW@D2COOD<3CA1S+(&F6G")L3%&(.:H MHD&Q6,M%'R#:>D9#V2@S.H#5#RO>3%"@HX87!3G+AA.7@Q\*> M^%NYP;<^2W_&1FUB7AP<>+\Y&\[O=0$9/ SD>)3C9,&G-#2::!1 MB"55[B%A+9!FN4@1E]P:6/Z9TLY0'I$5+MS(_$95@;IX+G 2(/F M4H0%;AW\K\\SNL=5[]/6E)D7HT7E*D0U>DU42Z:]"=K9P!'QH-4IH]H:S *U MM8X]#%"7-(Z@PYJC94YTM=HU;DM4P'-K[TPXEWUG"CDD)-=<*.VI0PA;SSF5 MN([[.D [L&VT#X5//9W?L-_-?)X/GN2T@ERA=UHN5O-*&OO,GI+,->@CE^#4 M!:X04AP9I3$H"H&XXYW>*'+]N&V7^AW8=N^7,"P[6N0Z$@]?BMEBW4/XEG\M M>C/PGDCWYM/S<;TKIGG?-9>Z6+S_# CXF$>^JR19P>ZKUW%R'AEFC6=6&$ZQ M-0%^D[E:!V ST$JW8K1#L4.3^:.8%?/1M(HFJ=I%DDQY*X+*SCK7@H,S1,#B ML!KTK!"UBF,/T-#K"C(O*[RTPXV^5_TJKTO':&AO\:PO\TF9Z\JNC?M!ZJG*"#QHN7?+NS;WO-^MSX ?SI]X_#[! M> ,C.))HP%[$!IP-M1NSI>K&<@9[X'59G^JM(^7H,9AG3R3NJ:&1Y2)/VFAO M#'-F.VX=G+J1:/N%O'K)Z8MHUB:O_YK,)@^KAZ/<_N&9A VR 8ML 4J&1?"1 M[U"N@10W8BA?S+&R&;JURO/1M],\?_Y,4M09:BP2$F-L.='"[_"N81(W4E2J M$9[7H%M7<;K-D@6O/& -['TN>8:P%P@9$C LB@.YF.V^;K$E6*,1HVB]LX+'J.3.\H& M).H7%)/MDF"(B*0B@0K M@H@DDI/=4F&\)C>22#P,F+S,P&J(*5T!;S?M$\OW\\>2QA1YC$*@R#'!,5;H MD3:(\#H^?:T=LE]B]:[!B:XQ=7+9?2%SC&,B2.1>*!0P%D9PMIN-N^W8Y&5< M/0"-B\AY<9+[=K_EF<++XSB>UGZL36+:P+"1YUR#XZU:';_$&M,;4,VSAQ" MHM%*3\& ]D[;8% F_2,'C+ZQ>V"[A&Q3TM(N1V]-IEYM5-FNW MQLG"?!U-IMG8B.5\/?S /!M7 ^NK"C)+>U(H6# M]Z*N4##JL_#B*%+X]F4R7X]S\V*0SA^C&8="22<;ILADC)@3"U2C0AGKPB[P M[EAP=5SYLR_TN'T0ML*4BV&U4_5_S,O5ET4^V3*9[;9HWI9?5M/U( ]AJUKK MI#F32#KB(^+6<^%SP&T[%QMBG8H'XC? ]@*L%&3]\4,N/+7:#;:$.B@7JO19W+.(A2&5HGSJU_1]3ZXM/@O?KAQ*@O#$N:$ VR-JK MO'7*^@#J8\N/R$*=<_88_5;XC0<'.F'SY74XU[&\"O-:')I8^%;,QY-%C@2^ MFBWGD]EB,CXD,VV_,DD:@L2<8Q?@#P>2J9WCX@FHKCK",?1=Y]5O MRA[MGS3X-1MO9SV_Q8=R.9H^_SZ?#']=+O^S6#Y=J%XE+[_I=R:L76#4@OD* M1.94,"/B(XUU/3D98&VB'JVDH?#P\E#/G@E\/#&!'[]:?G\^[HVY]ZF3 8U,&[DZ,:=G:T=;I&37&W MG_8O2H#M._-:J8-$+2621FI8D$([$DGBX-Y:@Z5\/*X9 MD&-U$F5QK3W4FX%QSRSKN]#?LXJ^56BP7;LFFZLH]]"CY\*!34_GC!L%FWM? M$M:)B!'#DN1T$6NB%): 5E2&R( JY8JU0]]7,X!5\1Y N!;'/[>S.7%N^TBK MQ(.P(CCL06RXYLA*A'%D1@7EG;?HAH_;]@R>LBTF=66+'ACQR0/?1]LES0+X M?C!?;!&/N1"T-1;L;>6Q0,[<,B ;@4 U6%U$[*Z E:7IS:<_RG(;3CM9!&5_ M@V18%(%(8KG&W!EE'9+2,!P"]YK$WJ[:Z ]*Y[+]IVK+#="Y*Q2] \;!NSZ; MV9TOOA;3\DNFQ-;N.@FI"JT30]Y08@UG0#TGJ=(8$RD<<8$8BNL4+ASZAE4[ M^&J>Z)=OHA93>.A^6U0!!F3N'B:S22X#O)Q\/8R?ZHU38#1$(QTWE'(>@V6< M$:H5N"D4$5(GUW'H!\::A4]K-!]45.^D_?EGE1L=FWU3LBP2T/&8>L^X9PQD MB IC,6/@@TM3Y_+UH:O 8;D/_3+VUG9CL-8&](Y ^0X:!^J'1X,T)E%2SR2O M ^NA6XZ] >FR;9KS.-5[N&_U\#":?__A))P9P_H$//U]Y\>^CI-C"G-M;:!6 M<^*1XKQ;LF[RU)O5KY5TYG<9RGK]L,3E[_PN3\Q%+ M:PW8U8Q+$96W0<('$CFKI.U-V;6CW[J"8\,9UXWP[EK.,SR;[.:,9S="L7E7 M0L;+O(,EN?+<$6I15#'?%84(TT+62K [5QZ^K)=4<)3FRRO(1FT(J^V)SD4< MOA:I:;_ZV_Z*8$$9#?XYT\YY;H74)%"=O1=C)3;]W>7P6U(Z96QG8I)-YU>+ MQ:JX\ZOY8Y&2S:&,9W;U[B#&T33M\SM+3G"LA 7_7$<># -=@F0(0D5@#N)U MX%X];*Z6(Y./GN!(PTC'"'.":< M&FR%\"9&@I&W7-@ZR:W5L[1_B\P@N7TM$M:O3Z(C,%E9RCV2/!"B290&V"P# MDM)I7T."SLX.W_@D8?9;AOKB[[7(S+.CL*W+S$_O2I@1*<&Y,](:[H)5 AD' M%-7>"^-K'0X:NE]RI4&NNCR\%KG8')O=+)_%&'[]4.:/NA27JD-(QF'A!,4$ M2\4U42KH7#.8@!](3$3=N#N_I:A_UEZ+<#U;7%\4)MDY@6_GDW&1[8!/76ZY M5!Q,PM@X$C#UQ$5.J=%(^VBLBS$Z'41OY7)_RUB7?+TQ:>M?Q)(E7$F,D+2! M28F!B.3!V]JS&Y;&X4*5]G36T M9UP0;BFS.8$<(1]<$#$:><.NVBU)96^(N!K)W$VR=^$\:R")@8F%@F;"*,X1 MCCHZH2Q'*(I\[N.F+WO]A>2S35 ,1D3K[F_T9.;6&E?2/D2)A9#<8*Z0,,9@ M%JVG"E,6=9W;"6[V#I8!"O" ,'(M\GP]#FH(G'%E-6. &F&8B9Q'I0B*R@B+ MZIP'^\7V^(8NI^T@XEHD\ED@NB>)K#B")"T53G'$:%1 >&(C4\H+;CBS.. Z M(:.A7QIUI7'9=CA[+9)U8.>G_R6PWL"2((X9ZJRF$7,+&A KCYUU1@D53& U MY'#H=VM=J1QVRO!K$4]S=[J)SW $G=7*D]-LK!3LX?S[:2WQ6Y3@1\[LK9F@*KT?1#,7\@ MIX2HV]&D( GA2'BLHN-?4W=K)R(!C?)WF#YONUR.-AV_H0 M)4Y>,=WM:))3 3,JB16$\A"I#5($*1&VW'%#;KI:R4T*9_L@N!;A/-O@[D-F MFQMD H<@(.<5P8ASXKC2G'H4A38,1^?K'(BX]1W)88IR;]BXO$1<&WS 1_S! M#MZ:$ _*TD"]-HXSI;00P3.A,6+,TEKU@&M=P'L3WN#P&'@MH9-G:N#DO8RM MOS,YJAC&/@"3.4=,:X0SA;U65$:):EW6,M#%9U#0;6\[KA:C>UM)GIG!YOY^ MOC[A?,;UI:V^.1E)A*#<>!K!M+#**@._0/P%8+8_KO8^JS=N?)>:XC1I(X"I(;K7$H["B'O:N3<3=4.[YKS+U4=5TS MK3,#8\_$GJOJYQ/+NG>#E\5B];#YK!;L+W]1(E3E^SH8MT%P(25'TNVHJ_8GZ4&^?17V[;2_V[9XM97]#@U>SL%A.'J#![#Z. M)O.U8[KXX8:$S;GAXN[W#0E[,:@#9@03K#0"0.0*BTPB@6V4C#&'*VW9#2SJ M]@B$9V!Y-UG\=YP7.811 $R7[X V;437JKX[(Q8T\A@1 M++AW3$>E% ^!,FI"B'7LN:'7R.A3=H; S*YG-NE/ MDFF^38Y=BGZX42*4,TZ0=H(K3<&DD)+M9FEPQ#>LYAM@_3YSKPDZ]XLF7^:# M1V?C:=,L.:\U9Y%3HO.N$>=@'^]FBDGH]';1/@ZNU>1_)4A=1.J+L_=_>OV; M\;+\6,PSJ/XJ#MSC4;%ERERM5L>30,5ZV'Q)VV/-*HF6=$X,B85KOY MY(7CL\YT;)__EY]?V#V=WZ&!SW5"YR7= MC5I)4VS%B[4 MN2#@[%+'7:2X=PB^^N0> LA.GF8^U381%;P1>3$W%,F<($W%;L[1BSK&6:TJ MOK<%L$MHW<66V>KCHOB?%30-7W/N0&_;9"\'4J7^[H$F*5CN\EW=W@O/D7,Y M;&"$CUI+K,'!ZG$S_,60*VU^'VJ3J(K!6H=R"11N%#=@S#&*D*."!()[V^QN M*0A9F]TOQ;4APO8@IIL][=N0UBBIH-0&(B7%B,6@D$1,.!*QX#+1)G2$C*/$**:*&$D@SMYJ>1ZFTOLA/,G,GBL@V2]@F9 M_.N\*$[N9I]LFQBL5E(HQ'&,2G,LN;3;.>8"4+];I3.X5\ !1=RK6R4L)W% M"EYH4WCYJ32K_2V2$KEXA5':<^-)5)XQO9V?Y8;?V#YTHZM0,R3M$3*GGH\XE::[DR M" <=%<-Y1%U*TZX])5<^?)S,ULQRY6PQ 5ZM__%A/IHM M-MPZM@E\3C>)ND"""8(**06(C';AD1*,FMO62A< XH #U0*MNT+=[D3EAW+K M1.SF5"S^F)>+8SKK5-,4A=18.%#/SD3I.)%VYXV=7L M.*9@'I])1(&*1#E7/JI-8&+EV&<-H@^&+&_.?&WF!.'$+B0 MRG 2A(77!B&TP2@($RO95NW,],_L%Q5_%J/%ENS?J\C\D59).4JUPH*"6T6%>SN#7\;IBV'8"U9%U M;E)*:LU(I)I%SK$U% =,P%9'4ENC*^5W=S;7*D)]K%FR4AHB M(@Y:AWQ[KV)&$N(6GKG[K]5BN38.8CD_8CJ<2#X\JY]$@L^G MYJP)8.08;BR*U*-K-)W-7KLL+GTPXV_=X M8MA8+1B0$ /]0#Q)+BZ4 Z*>*FGJ!)P'B*.6N%XV3NBN(/0H6-MZ \OO)[34 M_@9)1FZ9C4Y[IGB4R@9IN&,67'$&JK_.QNL 7<[FU5$C9.T/-">3I \U24[# MI,!40,%PSB2QE*$(5CXF/@8=;RRSK"Z;3Z+F(JIVA1M0N<7D?N:RQIU_/[E> M[7L\"1YA:A81IPCGRBK'K3)*8R6L(.C&UJOZ#"X;IVEGF^\P\\5R,JX*E[W/ MIXB/9PZ\G6X40I@ M^@F. T;&@/>J5*"PFN<#+"%B4,ZWE7#8A4US(6G[!= %MLU3L^2DHX8+[06B MG.I@I$#6NR@\=2I4N_KRFM>K\UE>"4474;'*AX?)8@%, [J_ MFA?3T>SNY"IVLFU"0FEAP6U$EG-$3#ZZ[9Q%#EGP+-&-E=%HAOUENT3NKOK9 M:%F8NX?);)*#K)N+Q8$VFQ,EGR>ST>E3AQ6[2,98B1'&#(06C$*IF'8L,NPU M%U31&]M$;@5F+=&Z\^7PF47P9X4SBD?;)6I9C#Q&G'T-&KP2U 0MHG!!\EBK M%,< 4_1;M*H:H&Y72 J?/A7YGOCB,T=1$!QL,_CG[0=CN@%WFUSIW' -WT8/V_/V\%FN<%SX M8O/WJ]F?D]'']076$VG3C'5:=;\"&P< XX1W-&C!2:>&Q1<)%*CY"M M:<985@]F*'*18*X"BS0BUO%I^1\OZ+@R[=0^\2_6 M4W_/YD5.6,\7TRQ'WSYNS,'%Y_*?V6@!A+I;C?/(EN7L<6AW6[[!XZ/%HE@> M5&5-])VDI=X3YD,^!^:84%1C0SQC@E%D=9WKD =X@+YQ;=<##[I2B,^G]N3) M+!Y)^+CFP_K_: J,Q_/5WK)%#?2:A#5<67#=D,]":ZR-U&GCP8>SW*@Z6RSR M%S+FNF?%Q>KSK\EL\K!Z>+(XGSDUV=DN_*KX4+XKIIMOWP%OYU\/NPP7=I<, M]\X:8B2.B!MM8'V05JI\9;'/$Z\!//4+ :]#'ER.N-&W1A%W67?)6RJ80RIJ MH[G42DGXG3COA57"JSK[*_J70UPG/+@8<3".[\5HOBAA+,NR> K6?/R^UKJ@ MA+?Y%^]A7)/QP0M1S^XH>8(\<=91\-2YM*#1);CN@JJ -,6\5H%_] M8?VU3 MO$Y<[:?87X[K+?Z> 7>>??AF^1G^/5M.3D3:+N@M&0.6 ")64@7TM YHB3'8 M"TCI*.O%WO U'\N^-/C6/@^Z.JW]XQ;*FT]_SR;+XFZ=_K-XN=_MROF7:-E-/N^>-R>V7[S9OYDNL[+KY.<--('K"H='/M5DU8X"6>IB=LL,%GI'#W?'_,"/_3J&;>)S8OI M?K%G7'%49KR$MG(/K"[H)3$D*8E<$LY41,9K8V&]P$A+0QBM5<^R^D[O-6.J M?:(/2:T--ZM46A:D=S$*DR]D#HR1)R%5I,X1W^J[Q=<,Y*&P9DAP=Y]'LWMX M(,R HNNMR 9B ?L[35$RCHRQ N5@6R F,KRC$J.N3KI#]2WD7P7 C?!@2$A= MQU:?U<2JB=&7W24E9;: @!X!"4,"@95K1QG'0IT$AUK[S+<%RYID[Q>0FP,. MJ\GL_LV7[6UXY\-P7R?)2LN-)"QBD>_\="[7;]M0(5HIZVS7G+_E7"Y'TUMT MS1N@?%>;-.MCM[=4$YOH(*ARS($3P#6/QL: /=7$ M?*KFXP!C*EVK4J/;1+%R@M#@P(KDV,M\5"D2S?)=P);62K:[ZLV2JB!Z6=N@ M.UYTH"#^/9K/1[/E]SASA7%VWF9LVRW0YH4BR>N5;ERI4KSA(D% M>G/KUP4GA+*<8"1Y$)X*84F/EZ_\./SOYQ75/]TXA5S*Q3EKF%6YO*+U&&E+ M&<4L7P14YYCTT-5 L\AX>0EMTZ3O1^HW+M[BU6S/=SWG7G2A%[C3CDDJ23"* M"W :C)%.$:2$T12C'DV*O\JOZ\K,K_(NYNQN-+][@;AU)O=H^JZ<3F,Y_P<> M.$*,"WI+/$H= @]<:LFM<-I@\/M5=-SG ] W5LFM6;B479._*Z=V_[BK+U'; M!LGBJ"BX2PQ+RI5#1CFM):(&!1\%K96Y>BZXP)&;E#E[;;[L;G%J%1+'UZK+ M>- OPI[D\M5B4.%E'>^\>A[-WNI% MOP3Z+N3#M:VRQGAME?+:!,1E '*AP*FB LL =*N3,'MV*83-*AMFOQ3.SN1 M/SY@SX'B3N(_5#BI%44!N"D-L=A9)AAVN70 $X,(';] T&,QA O"Q=6Z2LCK M8)!Q&$?*$<*6!XD=A?47Y3OB.S7"!QD;JHJ:@['B5AC1A98H)O>?P28P8)F. M[HMU)DM_&B*,YK/)['[QMIBO1U)!*QQJD@+!)/J 47 REV772',F702G!Q2R M[/%>QI=#KB+R!]ND2!P1)BA%@N <2:NH=1$Q[0TL1ZZW>V,ZD.WZO'^Y%=P0 ME?L27#>:CE?3[5F]O4_T'.IM4L!-#&"H,4NHQ,HB02+;YM%QD:]AZ$_ 7U#^ M]2K70G_S:<.!-ZOE(ANI,"<[6DS&1Z9^5C_):QP\BQ[EW<<@? #([^C!9+!= M*H+.XQSU45)V1_NNO,N]<_"3Z2J?X7TYD:<\JW,1>;K'!,Z5Q)P'PG,)5:FT M(&Q+'V54K..?#OU,7#?(;)P'O6+TS:=#\SE?6Q[J*7%).@2%ZFR8GW_"K=LTNJZT94.T[\N1O@VGJZ S+G8<3Y4L5INK=J?9OB0+_ [ M0I)&^D\T""80\T$1RITW)I]\$Y%1:K$EM:I<7ZV751E3+V\H[X$C?:F0GD.N M3:H02S GA'%E2>!"1TV=D2P@9(@$7[C2B9RV0ZM'K?8+XJMG])<8]?F>4&$P MU4 H8XWRV@8K/%;!T%LN6E(?,P<#J^UQH()*V'Z1?WP<+8K_]W_^/U!+ P04 M " (@5Q/T@6YP)R< 0"/(1< % &-G;G@M.3(Y,C Q.7@Q,'$N:'1M M[+U[=]LXEB_Z]SF?@M?3?6YJ+3G!^Y&JSED@"59Y)F6G8E<_[C^]:(FV.253 M*E)*[/GT%Z2>MDA9DBF9DE SG40"*&)C[]]^80/XZ?\^W'>=;U&:Q;WD;R?P M/3AQHJ3=Z\3)[=].?K\*3L7)__WTOW_Z?TY/_^E^_>SXO?;P/DH&CI=&X2#J M.-_CP9WSCTZ4_>'4,C;'4GXY,=F;V^/WS[,S#C'KW>F MW;Q>_S&-;^\&#@)03H8T:K\;&'H-S4GVMY.[P:#_\<.'[]^_O_^.W_?2VP]0 M2OGA(>]S,NKT\28[O>Y,N]Z$V771L1-G'XJF#^85XA3 4PPGC[3SF2Q[P#24 M=$\&Y;V304GG3EK>N9.6=,[:-Z=QTHG3\G 4E[\IBLO>%+=/ ML\%LGAZNT^[[+&J_O^U]^S!NS!^#3Q^+DV_M7OEKBJ:R-_5*QE40TRL=V*"? M+AG9N'7ROY(?B(UL58S0M)1Q?YBF!D&/Y6^])V[=1 ME: 5;573$7:[2Z;#M$[^5R:L%5*1E$U^NS=,!NGCJ4%L-0^>=2J9F-[@KAN' MU^4O'C>6T9H.GI ZDY910\DC:14'RF%>#'PI5274=*+K"L#G+653'L;MK/PM M15/).Z*']EWUC$]:R^8L:I]^^[-\>*.VDH=Z[?Y-!4:*IBJ:ELO%DRXE-(9I MA>8P#562G__:%9 M&L5)!7NFS26/&NMV<]>M0-VXL>2Q;A16O"QO*;-H4;R<+W,=\L?E,_V<]0B" M_(DQ+Q[/7XL P!_&/:88[R95]WHPZSS4V&O MI&_:7"+DV4W_M-U-HY(!%S9OTEQN'](*[A5-Y;8U%X<2]30VL$5KR8.#.#GM MAVG)@Y.62AWP O[+L3]R7+XM\VJ^E?I#=U''4!''88E'5 !BKL=208!+)*%" M#$H'/'9UEO@1U8(SWZ-,0;:C=H6&-"TE;QQFI[=AV,_!ECY^Z<5)A?TL[[=D MOK/A_5VO6V%;GW4JTWG#*E=T6.9UY&YYA84MFI8,].515@PQ?JB2!V@44-*- MDR@/GQ8<\Q?\\N5,>H*=,NY4&?D"R,M 7O90H6I*5/M,#U5I]Z6:O5RK3T5[ MJ65XWJL$!-,NU?[G7(^2'S#@C+(E8YBU%\Q^YD]&9H8J;$TTEH\2BWW?*U.E M$X.=MY;IX JS.RAC2^X"YVJJC)^3IG)H58]MW%B&CJ0]"!^JE%_>]D+P4"T! M3SN5\.^FUZX:KVDID]AVN]^K, ^CMI*'PGZ%INV743:X+M&JA6$V+14RD0W[ M_0IU/FTN>]=M\E0UM7NW2?1@_KHO8 41JW MY]58=EWEFXP:R^*%"G5>&L"/\54)WUE["?X>C.+]HSK/D[?.Z=4*0$Q:*M(> MRV.*68>2]$<.M5(=/FZHGHZE+WW:IV1:VNT2[5_(7[M,]4>=JB1-WE)A*SJ5 MB=O+'FL'U8$4::AC)H\^ETZ?_,]RDU:I3DK,65C="Z-P4;M MI4KPOGPZQOA]'GP]%_>GD5#>?!UFT0@ESHZY6Y. M)[ZKTL&FI=HOJO2'2AZYSGHW-^4O*9J6!*N5ZFBN0YDLY#JQ#.\3?5D&^7Z_ M@DVFH0)\\3+PQ>7@,RW#]M)(LV@N#_DK(_X*B:AT/XNV)1[Z3=1)>H.*"7G6 MJ=*2EF!JAL0R7&456?>L3'1S>8B7H- @?1 F[6A^YJNMZ*BQS!)4C*D43EF9 MTY:5A^6]9 5'H)>ZHZ VRN^5*(N]1QN\*)[M= MYEWGVGZI*2@W ]']?U>D@O*6DO?<53E@=Z7^UR0%L#1[4RY(IG6^WO+TBGZ5'I_B]S^TO<_2IS66HAVVD[NZZ(9D=M2Y3DBW%ZE>JY[56\ MLFA:EAU=OK;XK%=9?B K5V93,2IU:LM"\4)L2X/P7)BCVPI/?MQ8FE0T@Y[+ MX>9:><;L24[QPR -D^RFE]Z'@WA48$!/@9@G,;[Y5E7"D#KS M=?V'"JOWTK#1*6(EH>Y+T?_<2)[)_G4%U*_+^53%UEYI]V+U;-G*6L7R8<64 MFI9R5E2RH&3J)^I]:6ZX/+>0_WKG66P[=0!&C3/ =^*;N%VPKF+E9Z%+629H M<&>4]$,%]B>MRX+XY8OJ*A>7MY21<1>UJQ(T>5/IM%5-5TGG MVV%8,;MY2YGC&]V^L"X[]K%OYY?B&4_WQ&F//OWM9! ]##Z,ZLT^% \. MXD$W^C0I=/OIP^BS^>D/X]_^Z;K7>72RP6/73.R-^9W3F_ ^[CY^O(KOH\PY MC[X[7WOW8?)CT9;%_Q-]A* _^-&,[Z=._&WRI)G3?C=\S,.]Z.333_'#Q_SW MHW3TS[C3B9+BGZ;]?!3HC0;],/B:!PJ!G[NUO^%_7?DG3A+>Y[\8Q1^5&70G M'WC0#6]/G-@P)@C;@]- *$TD0YH''O5@(%D@M8)$\4!0RKS3[W^I$8[N@A0YA*"/)\C,^0I.2]U//ET>@J1$;37#WLB,J-Q?S&/ M]3J!^2Z;&S?Q)912, TYH))Y@G(/PP";X0FDO1D;7NIX\NDW7/>0\ZE^/F * M7!9XOD8,*>H%Q TDIAKZ@?F()9A-]$L=3S[E(WC]D'5B /GHY4O?8?Q_FB[.G^,09)O&(A&'6.7E*TUFNV7XC$X+&[L!'U>WVON!FV%7MPF?/OD;M*/X67G>C,2[F8<"D(I0"Z;F8>D))S#2'# :!I"2@ M= :#%SJ>?(*,,$/OA-()::\CU;"O+E*YIH!(Z(-<+P5$*1_XS"=(01HP2,F4 MU)G8>/*75H/OR+DRCU=CK]>[O>\GEH-?^XTN87J27@]P6_CWL M#J/9#TTIQ2KP NEZC%!)/5>J0$"J.0L8Y93Z8$KI2QV-!+\' &V)SA+>KD$K13RM/ 2Y:TS-E,Z7.KZ6SBP?6+8V*PMZ,C43 M*'"U2UV*7&54II08(&609LSI5.V\T'$S\IXHGEZFBT# <";86R5?BV0)EVE>LSCWF^B?.AQP2@B/A8 M:RECB/*)*_56/@%P_!O,UL_H>PBCT$->?TTNHN2+/X6G27MWGUN M/J+X-O'&"::K/)G1+6+=G\,X^=S+,I7&^>84?YB:/T?NV%7X,*^ I/G/A\IU M74*AIJ[P> ")1D9]*N3+F0)ZH:-10+5/Q;]V.A60"10P)HV%A!2[Q&6^%@0Q M U<7&OTTG8J7.M8^%7+74A%HW\5,, F%<8Q\IC3UD'&2-#8>.5 S%?!2QVU, MQ6ZEPJ72-;ZP\2W<@'+D*6@T-X'&F?*0B4W@="I>ZK@-@*PA%3FQOJ'OFR'_ M6Y3]-@R[\,;ZX4UR08F'O)RJPR$3P%&PN [4)QKI0) P(S;+W5\8QVP)MG*ETP86Q< M[5$@H(2N1M!E'!H:?7\6DK_4\8WQOB;9 <:!,C&#"W1 A0YT9FQ9.^SKF9& ^RC GJLA5)00()4',)$: MN=HSIG[.#+[0\<3)C!DR=)Y\*OSAMU0-]4P-U41YT-!,C"_H2^&:B$USBA$* M3'Q#9E/S4L>YJ:';F)F="PWSE%3:& 28>X=8"A,3(8$Y,^X0\ODLI'^I8SXA MRX3EA83AO[-T\.^O87(;J8^?HR1*PVX12EWT\W?F?4://9_,(M1RPRSJY#-JIK-PKU2:YF_.\ZKN MXZS+E_ Q_TI]#]-.\?OI!_+>0N/SQ=7YB6=V6??LKK4XL:B?O03*E3U&=_O"L*D_+).9T4 MK+]_R$5NU)Q7#IE@-;[O=_-UC ]/?V/TNOEW%!^SWC M/A6U>A_';!Q-P9SP M%@LRHRY1D??-OYA\$W?R[V[B*'6*UT6EZ_3>V7\]S>0^?[AXQX?G+QF_HU\P M9_ZMV2!,!_EJQ*=)61& D\=G;7,/1*/%BW%W:8+)V=LZD\Z3KZ;OFWPQGIG2 MB9KD AHX2Z,2RT$)T9.638F>4_H-I/NY=/"WDXXY5ZKI$R6*B4*K3I3()PJ# MFB=J'_2-6$_?U#Q1DZQJ V=I3M^(R7IN/?IF1'33E>PS3M=!-&\\IWF]G)YS M'R?N8;& E7MMNC@.(O?R>HGYF!7^XJ37UVA@G.6HH\,T,0Y=-G86=S5Y4TT1 MW>9#+;X:?=G$][G7GY^/-'5BE]%X\FG2K9S(GSZ4OFJOD&J_F:DPD;6O9V>W@_[.:U357IU,-D M_ZIT[R/Z-[;X5@%L70$TR!/87$RLTG@KI=$@\=G,X-B@8@\,R&;NHV7MGKB) M&T0&5N,WP$ULA"C83,#>,9G;=$_#F+R%Y1YA4[S-2?&^[>+VQN)@86\%P_I_ MS?+_&B0^X_H1*SO[(CM;KZJQ[D8#,@0U.Y.;H=RR=D]0NSYKK5>X5TS>W,FS MJW]'YLRM;\&MC.RR1&0+EGT#EEO_O0'^>R.ZJ5[O)R)K' W2KCE*6 U!S>C+;,V/]&(E:ZWW1B\&>:M M&[/C.O$V\-AZ.T1;[??VVF^[3)[? M4!^$<5K<&.@^3O_YBYG;,&W?/7Z.OD7=)]R>]CE+^L-!5G1 ([++?O+7*,R& M:3'!01K].^;V4PS2_\^#Y#\=)F+3C_![2;) 6-ZD^2P2D_5YJ M&.KVDL[L&H7]DLC5&#(3S24<62:?FXVHBI\EPUG"T+K&52X.\XF3)?*PJY6! M;9Z&<4C@O>Q]BXH;U/SH>F#!>_3@72H/%KQ%![AE\!X3[.#^PNZ()'[;YNJ8 M)'Z/#8V5^-T[:+\.$\.%?MC-O6GKE^T37.KTR\K$P$*U65!5618-W+#]1V33 M(!:Q2Z3! K?H@*U761OH\/Z"[H@D_LU-57'YK[K-?]SZD_L&E#JL4RX 'Q<$ MP,*S&?"946/_-H'JD0[4P["MLY^\&L7YDHS!G__QW,V S ]E9TGY?+=P6+Z_#2P47QDY2*1OJQX5% MZAY?=+4NM+V[.$Q[5U'[+NEU>[?&D'_^[%F OPW ES##PMS"?%FH>?CAV_$% M):LP>,_39T>8%#J*\D=;U'<$*[/'OMYXR'4R1UO]<11;2^R&B=>P>=KK+/D6 M98/\X:O'?O34C-_UTL%5E-[/^E@A63\Z7)SA.1^B8'"$:O&]4L;K"Y\J[S/$2G%M\K]'*YV?+*GQ%;]-*+JI^:-%.NRV9:$[ E3 M-[8N!\;3$MH.61W;:MH]P.8Z"M>661X\B^W6A@-GL+6O!\=26T6[CVP>.<;P M/\,$P(;?B/%L=]X6Y#L>1)_C;U'G+#&_?!M?=Z/"#F?NXZ_A?_=2KQMF3^_' M\/.]D[U^U)GN[WS\&M_>[6$B:5729TAX@?8]Q$(M(E'M)O)4G MT4!]8(/-MPTVM^1<9NG N )I.CTCJSW^\&]/S0[\^B7JW,;)K1]E\6T23L_[ MFC2?]Y+.N"GJ[(<\&+H_SM-MG(+QIX^&\)JJ4\JG;297)?.VK[*4VYAJ6?KU MG^?'*4N&\ .7I2TEP:IEZ9??@^.4)4.XE:5Z;=S/[I?CE"5#^('+TLYMG)6E M@Y6EG>NEJW\]M"#]P6=JY7K)QW,'*TL[UDO6]#U:6=JZ7K(T[6%G:>4[@ MO[[^XSAER1!N9:E>6?K/+_\Z3EDRA%M9JM=?LGGO@Y6EG:_'61MG9:DN6=*_ M?SU.63*$6UFJ5Y:LOV1EJ2[?V^JE@Y6EG<=QES\?:7[)$&YEJ5X;9V7I8&5I MRYMVW+ ;)NWH\BZ*!I][[9F\C X&:;?38=31#WTS70O'AQV>I$V8734KDX-% MRJ;%RN%KZOXKY7#2X4L:]<-X.N*HY7/28_7I.G"YW?)6 M!2NW5FX/2M]:NV_M_A;UIS_2G_^Z.N2 I9$\;=!=[GZAC%XI!'.G&+=[]]'E MP#3ETU)JA8-><>;4)(K\.8R3S[ULS_8&UBQ.:[QYR13/7K]TCG6ZN?YUOF8T MG:^?H]YM&O;OXG;8+<0R;U7WYJ?;X9[(8+X65$G/R:>\^2E!1^-XRE49KH=I MKQ\=#+OGR;'HGF?V*)67Q:%^:'>'':.RO;LX"0^"\Z-\7 5M1X/Y<;!IE?R1 M16&6X4<6GEB&'Y%E7PWAUHT[(G5NF7TDJKS=&R:#]/'?WOF>LWE,R$=OZ4:[ MXU/=EL'[JZY7SJE9=;W_L?5JZMJF6 YUUANW!17H9I=_B=C0G ?U\$HK:@LM^U#:,:4^NX[GL M=8L[-_8HT5I&YT0<5B;T: 1$K"(@!F9))TP[XQY9F%]W6O0Y#+EXD;ZC\0OF MPD"K+QJI+YJ3];,"TCP!>7L-(JP&:;B O'UD\K* 6(_C6 S*2A&*%8L M=FB*.#3&6*RSZ>1KE$5AVKY3YO6CFR+SKN-=[/LA'FMM %F!WJ,Q)L^VHUIQ M:;*XO'VLLH9V&=F=J-N-D]N?HR1*PZZ90=6YCY/\:F+3\=LA2#BYN=>KY-=]09A]X $9-*IG,1CMP=D3@].,'4S6X#3?X+R] M=[*!,VL-SA$(Q;H&QPK%H9N5-5Q3:U;>/([9'Y?5"LN;^R!OKUFLN6F6N=G+ M3(@->M\P*?_V-:B3);VO87(;3?>-_1H^Q/?#^Q'=LR/$NV%R'M[/+?>-=?'E MH-?^XZ*?3W;>9S^D)E_IFU(]VE_VA.QE4K"&4,Y/VMB0+9NU(U)5T*BJG0G) M[B8*SYU278]7N!<3M;Y'1.:Z;\$C4M_#M'/UV(^>F#M]W^_V'J-H#GS[H:XF M^N0)63.S5DG742B4Y[=A6-YOF??;NR!BN5]BXKUC]$OFR;9^R<[4R.5=F$9? MH_[0Q MA%GU)\ZUL]S,Q6VBZ: ]Z9E9R^[8?PC:1AFI*Q[+Q,JE[KFPLSQO% M\^9HA>S[ MQ>5RVF;>92EQQP#\#01A7;JM,Z2L=^B9!AYO?O[.,O9%*7961H9 M+VS/;IQZ2:C*)JHFQ[9ZFN>3P"_,LY7OK MB/FJTWT,TCX2=F(\%,AFMT\.LSB)LDRU_QS&6?QL>7T8=L-KK_?^\Z#S_IFL M7PZOL^C/8;YR9#3)8"'5]*Q]OZ2Z8E8FR_"+TU*32%=,ZIP\E\WJSH37.)F0 MK2Z\3[K7([S'(7[-%P,DUA*#6?<:0M$GESY;]675UVIILR?::(,(>9C$(QE, MAL]EX3X*LV$:?1K_D/GGY#'6>=+E!;9AOG?[<3?C%S,4Y0_ M<3Z\CXPKTYMGS^Q-<=8C"/*/OU_ZBX/X7T^&\?2'YM[@1TG/N$R5[QCS)!]N M]M)+GOW6I&E*VM)YB8:E\SRA4?_^==93_HJ9))6_J#HTFH%H:J25K^ MH[=+1WGY\[JC'#_Y[__\\J]E/VR:-_SA__KZCV4_;)K7_.'!]Z53D/WJ:]8;_L)PLE6[2^](L?XH>/1CIZP[0=9:./=U'8,;KOIP\& M()]^*OX(1S*!E,<#5P:0^()2112D!+L$(ZH E1X\,0^%"Q:VQ0UYB" MTSL3A-T-/AJ+\]_-WF\&]T,/H+)\W&2&[#B\_P+DUYZ'W:?O!+F??S28D0WX7W3[: M^S"]C9/1\,+AH#?Y(BT&5'SS/>X,[CY*_IY1ANA??[SNI6;23]N];C?L9]'' MR3_FIR;_O6+8ACF#CF.ZF&$:VT?S>1]T\C_2:>MXU*/WY',^Z;3KMOE!S0UY M\L"W*!WDQU*.:;SN#0:]^\ETC#Y]Q/T'I],;YLSZ#U#\]^,3$4"&G?/\G?\\ M_HGYKT9L0",9F!.KGAG+3;?W_>-=W#&B].-8@'(!713'G(XRT8B3.V/%!XM/ M_)__@ S\^-.'_,$)1F83]*&0Q>GW]2((+A^R2F,#D&?]BX_?1V^\[G4[Y@=^ M/S^[TKYS>:6N].530I8-=1=#N]3>[U_/KL[TI:/.?4?_T_M%G?^L'>_BUU_/ M+B_/+LZ;-=Y_J,M?SLY_OKHX;SG^>^^]8_QP(B=C7.O7RR5K4P(16H_ HG\) M@<'%UU^=>7H^_61,2])+"H\O;A<&I0,EX,+\7X0E.OW^QVD0M@>GOL]= 'T/ M"N13"H$06G-?^ %AVF,4GCA)F$6CO MC/+(,D$ 7F=LT8O&5E;;10G+[6*Y+32SLA4[-T=ET:6$KTMER?D]B=N]3N3\ M>EGQZ'*P$XBG8 >^#A!'/I)04::$$DR! 6 :P!D$)2!_;=AF!JMU7W\&O5[ MZ: :]\Y-+F8#$R,8@K.H;=#IADI)HB=7NI ^J[S@].[<09W4=X^-)Y- M;$"F']IW>76O M_[.>N*(^NF;U(DX0&_U[7N3"UX@U"&%34)MQ,R&1U%*[5'/H:@8 YD 2J'V$ MP#RH=9'MS]\Y>F4=\48EE0# 4TP0%#5%'94O:5%'2PH1EXF9Q<_G^M_.M[%UR\U M\:#J31=?U55M&0JY=^[.RME2@J$9R6M<(OBB2T3PF-H5/9]QOK(>@SHFK9CT M_H.3];IQ9YKQK+2V52*PLFH8Y0/T@T%D@;?<2J93G#EAYF2CP]F-%Q\G3CS( M'&-2,N^9QUH M*-'1JQ@V,?,K&$:N]!'G1 GJ<2&0UIIQ) ,L(=;^HF'+2PE3X^>.+D/(:P;' M!8N>B5_6B!NR_-%^VON6OR!*3C[]&F99V+X;9M%@D-40/]2J\58-(392:94K M+E:$JT18SHNP8-PG4&G/I41)U\<8<,2A$#ZG B^*\%7X<#:N(1H=^O&BGPS( MJ?E!S+E873!W;).W;78+J.?Q:\_$HZGSWR9LS3IQ$=T:.USI$]8^D'A>_Q3C M26_#)/Z?XG.9G3]F!;$?HG7V_NO[R_?.>&=ZNCM9>JH%G//>^YTXBB\MS2_$ M8^/^U^F'3S5%P6#5*)BB6691:!%SD6/XV_174%P&"[.8@U9E_.[%Q @=(4*4@U MQ5Q)JK2"3# I-0Z6S+YG_GF17O6^)[7._;D!3?N/+<]X:XU\&<5D.EF(>;X+ ML'$&-*>^-/] ('!=B:@+S.QYE9-5F+F+](MQ3(VE>95#N_Z4/G.!=R/+JTSL M3 H)<[D, B8T)#1PH>!N (4'*,!&&!&KG-@O/3-!W?\O[B^/$S:8-0 Y UN> MK5,$J*P?_:\9TKLU&$CX+)4)F"1">4QS084/%0( :JRD= -"^1-W.=<<*HW" MVEE&05WYXJK9^6$=^9[+] ;0]YE' 8(F>-"(*^P22!%BU$,4PB>S1V]8Z^RN76LG;X;VX:68VSMZ'9W MYW_BOI,OA;><,.DX@Z@;]7.$.:.M)/,]0Z.9QEU[-TX_-2UQ/^PZT4/4'N:' M_)JO;_++UFISZI_,-Q3/A!JBUU>[K>GC;W] M=(NUG X#R$B.GV(VW-\LPN^,- M!+,- $A(%S.HJ>9449+S!DOH2L0\C#F9Y\T8Z2.@+V/,S^?_M+.^..LS1"B, M !($2-\C% GL<@:)=A7Q N0#Y98A8E);M[P69R&EDRNJ23;GRG@TY^K25[^- M4./D^Q*B@?/YL[?FFM!&J>2Q?X1W[V/6_?JSI),GW"/G^M%IWT5F)N_S'1[? M[Z)B82GW'.>*.M[!'T:K'W=AYMS$7>-\AMVNZ9&76N8^Z9_#./=(C2-Z'8T[ MF!]^;=UEQ[0:NYQW[:=1.RJL-$2.49J#N\QY9WXO+\W,AL9X97>]O,9D4I@Y MN L'SZGX'CX=:C[.T<-C0GX8A3OOT!RUUT;N3*?K_S:TY \5_]<2LJ3$;VI/_A\[^WJ>=WU-]PV:^5Z(V7? M*-IVX*=0,UY^H3(A&U[?QX-!U'&B;M0>I+TDEXSNHQ,9 MUCTZ9WDBSWBM^:JI'P["T9;%9]F5V6_,K_]]'9J>!- \=_(UNAUV1\64EZ=7 MSKN:-XFR'][76\*S1ZF0UN8RB8FR=Z"9.BK._LCR%\G_^0R $?JP:8=$,?YQT M>[%#]?@F'?/"E).*49[D!ZT4&2"(KD_1I+SF24W-.Z^8\UX2_?#1YE]>RK]0 M"5Z9?Q$OIU_8LOS!\CR)V$[CLCP)8G+51$E3:H6?.R';"J$%FA4<,%D8WW/;2QW7J(HNG"W72'C^=ETA^+E=) M-NAN@M-AW:I]=XPM??M-7]WF0EU^4+%M:Z&^M. M9KOID1^H@$)7 PHI(I-UH..T\M,5J_YV M[UZUM%I:+:V65DNKI757M+Z^= BL-<**XIV;)44R^7&0I;4]\4W9)JABZU/4 M<9)>L7-IF(T*;,R01U=_EMRRUTN+=W4?\Y=_C\VKS6N=)/J>5^^DT;DG0U9Y;SA^MD4C8+)^DBDU4F^16IJ[8_$/?[^)!=)J'TI'Q>KZG8?_D M)5]-SDX0QZX+E2080E=3191P \TD [YD6GH S?MJ?J\]S,_[_5)DIG32\1ZF#9,O)'WS)==MDREIY7TQ=S4+GZJMS"MN6V M^4'-#7FY@7EZ?33N/SB=WC#GQ#;OCZY8S:!ON)@QV9]<_/,NG4GW;71ZG4;A M'Z?AC8GJ/X;=[^%CED_Y73I^,"ST4 :#@&O.&,+"K9]CY2L M5A2"5K>QYMTB]ZN_4>&/3DT]X3EV_/3;>R&1:4@^1U)5N)L@;A>SW%NLK+ M/YV98'I\W=#LE-EP-2G;06JR#@-C[,FTT*6X)WUT_="[.'=,X_MQS4QF(N-P MV(D'46>MZPS?,#]K[4QSTKM[KWT@0@ RQ"''A&+J*8T%8%A1XB,,T7:TC]=+ MBGN;BZWB<]CLW3@7_6C4=W91V,",-3HM$H+%Z4Y)'B.-/DXP/"J(6\P1%OUG M7V-0?"T:J/%V#/:7V6[!?GA@1TA3Q'S@:LEHX!'!&!+"E?G>&+0.^9N* ;?@/SCP"Z*A M%$IZ@!%**53 1&+095P!UV-^L!7PG_<&49;OY7RB!!0 )I%TM").!>OE*S91M( MCL\&OLF,FX!OD/:Z66'_OJ2]=M3)35Y3)O_M#-S+W+ &[LBT_A&1^J:2_!J, M%Q_GM]6M!WI)J:N85EY :4"UE,KEPM<"^$K[@KUZD]]*.GEN[^/9NHK8LF5K M;+FX^D5_+=V:^?:\V?E),=;*65+WGM2]M7+K:D\7<.A[' "JB?FH P%X +S M5Q1L9]?#:S98VDG?<-(_1[=A=Q3%1?DTV#!N!3Z@9E>86:UO2;4&;CG&%C,YRC=)\#U'8 M'9T'.]Z$=!FUAP8><31:J?L]B_+&<:AG3>$*'+.F\,CLPQ&1>ARF$+, 2PTA MA4!3X (78Q\2XN=5V(");9O"]I3 6$@/%][V]DE_9H*3#OI MF^[3BY/(1'PWD0GTYO8=6#/W,C>LF3LRW7]$I!Z'F0.8(H\CP# B5"#7)1[T MJ>=Q$E I(=JRF:-':>;>9-(OBMO?SY+1#5NFP1JXE_E@#=R1:?TC(O4X#)SV M$72I%"J *+]I3,! 806,'\L\K+9TZO3,P+&C-'!O,NGZX2Z^CNT!8JM,/Q+6 MKEE2#Y/41DGRH?%T9SI,YL5U D!(%:*^PB[D!".CO#@1GA3;.;+KTLQ>.+#9 MO]48@,J/H5SW&O/:[VT]F5P9.X^83O5-LHL#.%D^XMG[Y'K#&W5'S[#L,L3#I9RXD>VE%_D)_)[F3YJ>Y. M>-\;)H/LA]4'.?>*.F[-GGO5$PM]N#=@PWQ/_O(KL,F2>Z[ADJ9E;;4W'?O+ M&GK+N%@/E.+%*&8JN/RD?CHKJ5I0@!MX/24:^VIV447FZ/Q*BH:$;CL.30^* MJ>?3VT:J>7I,>8@J0?:[81(.._$@ZOQP MY&@^?&Z^#-![,^7=Z,?KL/W';=H;)IW3\4I*NQU%-S<[1NZ&>;JOT;1+:KEN]>2^!/(_+BAWP!+TC#=G&!4+X6 MT($2<"X B1@FI]__.,V/;CGU!2>AF'_XUAN@K1W7QQ7;7[C'_'@SAMFAN0HU0_M[C"?!)5ED?G_SE7X<&+4 M1Y*3_C5?2@S\W"GZ#?]VY9\XPR0>?3O,.B=.)VK']V$W^]O):>XU&$9$A?\P MJE']VTG\,/B8#.\[O<&XY\DG*'#+#/RG#T\)GBTKK*VMMRZJE0JX;,7L52,^ M ,-S()KHT!3/BGJ&XJF>4<"5"@LF/!)0QK""!''C(ON08:X1V(Z>$77I&811 M"R%H]8S5,TW6,];CJ=!$'$TUD5$_0G'S/>& 0BZEY Q)&! B&//\[7D\_ZI% M$U%*6X(RJXFL)FJR)CHTQ;.BGI$S/0,%\*%@'@18T_P*;Q][G$E.D42 $+XU MCZ<>/<,@;@&*#EK/K)SKV8N4CM?+!OE!=.FRU,XTDX>J,GD3*&XA+]](WX # M/HM2?*)4H)7O!9@*';@2,!D0@3%!GB+!<\SF4WYQ\W.OU\E4TKF,TF]Q.\HN MS-=00.P-X?,"!7Q!]BLVPD\0$74'"F./4E$E &7+LP MD*Y' XI?A;_:D@%4M 0#%G\6?\W&WZ8&D="90=38]U2 /1P$5".A7.D2#F$ M",- +Z3MUC6(]?BJD)"6$-@BTB*RV8A<$8!L!D @E0%*H(GT/2J)[TKJ,>D3 M3[@T0,![K46L"8 4MU!^.LKA _!(Z@-^3GM9YMR'Z6V+B?Z2]F[BP587RC%M,5FKB6Q<.N>8 MT\9O@\:QEBXVPZVNHG=H2LW_ILCT"-1,(R8%%11*X\LB('WL:BU_SY*!JWBGJXH,;%L9"8G MN76BAWZ49','.VV&YH.)8 6; 36 6##M,^BS@&J7"%)LQ+1(M".M$;F--YS%9R.9A:D4("31GZR0%6C/CMF**=. & M1$HW" *"H.MQ^5H(U5?7+%L)2"M0BNLT#78LIB:F.S)-$,0M+G@!.*6( YQ0Q*RGW) M/8HQ$HJ!5WMVM05E@K<8(X< H2-9+KR,NEWSPI9S&R51&G9'$5?8N8^3.!OD M1\I^B^H*NEY:&C[\]49C\6:K&GGJTV,:2P0H](52-/ PE%H%TF/4?X[I,:=^ M'O')(%L]8=(.PC9&6D34NH%E4X%HK&&UJ=+#POF*L&9@"FN,A12:"XR]_/8A M(H, 0I>*0&KLN@C6!NO:0DE&6P+NL@3(PMK">C_--Y=3G#,/8]]ET(<44QH@ MB0.L-&I!8DRZYU/J 2D# MX-(\)8P9<]G"3I;7V.^Z<,U:B!VW7WY8:Z$7_2B7GN36B9-V[_ZU.T*;!\L- M[2\TUG *5$$48 !YF$!&/44%!DCGYU^9V-E'>F&;]G12SXHY_=S+LJWN]<0M M(.LTMHVUF<=D&@^RV <"+&8KH!QXW/6EXAQ0X^"ZRG.%\@+!&?9,RV:PJBU8 MY;PE2)T)YF;6]EC,[2WF-K9M=':< 8=2BT K23BDG!+A8Q-O4J(T=5V#R8UM M6TT>)R(M*6LMO;,HM"A\"\O'^5SY'/(9H$QQ+2E R.6(N5QIGR&E7;BPS61E MRU<3Z#AMB2, W9$LO :]U-B(Q&D/TS1*VH_.;1@GSKNND:**L\J/:M_FNY> M*V? I1(#X[*B(/!< U_D M?C*E "(6-(P4(J=CSUWGCFK](PR49O^=GP(,>Q M&QD@1G4<@9R9%YGOEB.[A>K!]:K\GPGY:P1@2^=>;G)2OTW;[A?L5T4YA'PN M,>M2J#T.!!84!=*%!)I.C+HPX$0ME.:^#N7K!:RKH!QS>9P8MY ^!DAO;,DA MGF')\7)('];: MZUGR+;F\77Q]!N&YZB=*&60&OE(R0$E A3;_KRD-?.XR3!?VA,]F=90L M.^\EO4GZ;)NKL+0%X4%L1["IZ"9#:E4$R9D1-!:/"\$HAHH;[!"!I6O,HB(< M:6Z,X2L15-N"*VY)7&=QL$6015"-1@G-98@(P4H%@"JL&?6A+ZCVM72%1)RX M1"QL-%W?*-5UZ&8+U5J':S%E,;6Y54)S"1@:4$F@,4Q>@"B!2GB>I[BG!C3>4OGJA\W *U3>V?W-Y%25] M'T'/=P,)*>=($@&%)X7G(@D%)@L%##E/YA$[PO .=I*2>N]!V[MR=9L%/2YT MKYHE17/E2*X;(./#0E<)27UA7%NMD=24^%P2CA<.D%\;S?4O<4)4ZQ+G:_G? M],2IU0+'I04VMO%SM4[$(X1*%Y'\."7?#Y1V/1\0HB7F7HF#OHF-K\E%;R%< MBSJP5M[B>R_PO:J5QW,Y*X->#0.?:BD))4 K8]FQ+YF'%11$+BRD;&+E:U[^ ME+6N?AZZD3^TU=$B@+\NUMLGX?P@?)@<$75P.;1-;3:>VU+'-%?8"+/G H_Z MG+D !\)@TT6:<" 63F^;[2>8W"D<)T-#]7C#02\9USN,^EV%#U'V:YSTC(Y^ M/#/H3Z-LH)+.TU_1?PY-\Z_1X*[7F27MMKL#EK) MD-S'3&@(**5(&JN, 0\H\AF'<"'P?ENXUK;0*XS#7N\M&(W<7F2QO+=8WM@6 M\]E%Q=B5 <%-V-IMS;709M2R2Y1&&-$!6^4BYG5 900<"U0@LNB9'"'1TJ#5M,;,\1*6%V,S.# M1Y#F/R;-=92*:D6]1*&8.Q98$61B)($IRF^ =*D7!,SW?!KP 8+1]Z_I)?J MRWN FF].M7K)ZJ6WUTO6HWJ-1T7G]A4C(0 F,I!$$Q,::JD%"'P-?%]([=.U M-5>-1YGC%L6U5#1;U6555V-4UU%JJE45$YT_,X3XBKHZT))3YK$\UM,:N0@S M("5>N.YK!9>JKN/><4N0[6V@VAO%]'+"J@DIZ+N1?43 ]-Q5.AI7I:./;$+L M)%BIL%)AI<)*A96*#29DWL&8SDQ^W<_.E\=J7 YS^E'JC(+VJ',:&AK"V\B0 M=W]O_.$PZ8S_>1K].8R_&78I1HC@25[@;;"[]$ MJ1]WAP;HESF$5UR -$^-N\^B4S0-3L'2X!2\1[7>P=FX*HE&>PIOF2;;'V5T M:+IG557#T*QBVM<>!1#2 $$*.!'4=9% %'.!)8-B&ZJF;$WQ=:J&U%I3;56- M5376[]F5WR/@S._QN0ZDBR%B/O54H(( N90;]23RO1P+M[[4Y/P /6M5L6(C>U.S.6#QLY8$MFGJ-QR303(WE1S^# &,F&*?8\\Q?2I) M8:@H)(L;7G68)F8&LHG:&8OD'N:#]K-2P990'90B.TJ]M:J:(F"JI@1W.6( M,P](R@*H&/<44)P)J21?O'9I=36UA5R2W3QCU=1AJ2GK;[W*WZ*S;7\("L$# MCET> *H5SY47Y=)G0!9G![W*WZH[#U5K<&@5F55D;Z[(CE)OK:JFYNY>YDQC MQ#WJ(M^G-#_GT).>="6B% !$%[);:_E;-:NI>NX*V&\UM5<%[,)6'^YZ/NP< M6)FP,F%EPLJ$E8D]+5RO/1+XQ_J5ZYG3&PZR@>EA1OKQ-0N.AUMGON%)=F6N M]OX<9;=A:@B!N:N5!5!< ZZ"0'(J7"D"015T%<+<)1H%SV.NB?RJD?B>#^^O MH_3BIHBDLHN9G!:\6F6!;B3B&^XD!BU.=KL^U[AJ@T;;SUT9S6-"_:H@G[MQ MF2 %%9$0<\0I4[XK%<-0(HT IBY8. O@M2!?6-YZ%F M?>X2&2A48+[$R"4N9<076D'D8@!<%Q(?;,.T_ZL^U,,6H%NXULFBWJ*^L:A? M$>1P[@X80D&@-.$0NAY%@7#-)\X5X!I["B]>^U:#::\1Y*C%X)&#_)BJA>L# M=?.PNZG%AG.'"1(?>@AKU\4^I#[Q%=1 HB# 2GL0>PL'S5> >;Z@?Q[36P_' M28OL]F"OQIIF:X$;#=95L4GG#*U$GH;&H@8RW^6G70@8]A%7T$4>=5>-H=? M9KU1-&^AW=:(6FQ:;.[4D/+9C6JN!P*.D3(PU911XOH>\"23 FDH76_A?(!: M#&F-?C%M0;;3O+8%JP7K-@VIG&&3:T]2WY>NHH*:*-7U$97 (T!K#RN^L*NB M%D-:(S9%"Z"=UB@W.#1M0B)J7), ;9'&[B?$3H*5"BL55BJL5%BI>&6=W_Z7 M]GEA=N>8%\1F"CM9<4[MN+BO\#>;L@_J6/9L-C-+@0&:NSM(>CZ7T@?2I3H_ MN1![% >44HQ\P186Z+U"FBX'O?8?_D3,)KN8?L3H. H M0J C2$\[5F'U2R/UB_5P7M) -,1E+GO&P]A,^?SZBYRPG:[=V\>>S2. MKY/T!E'F&!?/,;\3FY?P:/N^)FS5OQYETY^H!_>1J?7 M:13^<1K>F-%\#+O?P\?,O.;#73HF)"Q\\PPA31'S@:LEHX%'!&-("%=Z5"+. M ID_$SZ9@2V25>:'OC3UVQ>ODF2*=_'SN?ZGXUU\_7+Q55V=79R_H?B7CN_\ M\N+SF:^NM.]<7IF_?M7G5Y?.16#&_.N7K_H7?7YY]G?MG)V;S_I-L?ON+#& M[ VST 1T/ZP^E)WKK45*YWH_R33DE\,6,Q4G)DP=?9[_N20/+KM/HG8(1C%Z M$6PY[:C;';<6T6C^V0RS/?E<0N15?&\TWGGTW?G:NP\7\C+?X\[@SOS3T#&. M-]N];C?L9]''R3]^?!Y9GI0>Y%.]_C]Z!Z%__7'2Z7D;7-*TK*WVIF-_V)T\7#=;>LN[8D#I=1W\0?UU$ZFB,D6TZ^3';D M0#\"65A@/08%ZX5E_:&SWJH!*PN;J 'KQN_8XQ/K$2;*L?UNF(3#3CR(.C\< M.9X/GYO-W(A9.W;/HX$3%S?6[DBB]_-2]55YO3^5@P)0 ".&9ULC.,+(H% ?,]GP8\@ %?5X&4;7+82($( MT"*8605B%4B3%8CU42I4# =SVS<%P$0&DFA"@=)2"Q#X&OB^D-JG:ZN8LET, MFYU1@W"+XEHOJ+,ZQNH8ZZ34XJ3(F08AA/B*NCK0DE/FL3S,T1JY^1X'*?'" M]J@5G)2:- C'+5'O4:Z-TR"'E?>\&-R-SIOHI]%=E&3QMVB<2W'>=8VT_-!R MDFA4N!@^E%TBM4Z&W.K0QM-G>7DX]%E>'@Y]1\/+9JY95)QTA?+*V:9P_E@F MQ$Z"E0HK%58JK%18J=BF@[$7\;OZ%L;=?-_.Z4TO/7AT&=Y>3CT'0TOZP[804,M;5YE.$S2R/SF_T0=YS:,DY(4>?[7N[_0 M'YPPZ3A_0<18XWS+O_G?=/=G3_Z% E1\_>XO OTP>3:9;M*: M/-IRTBCK1^U!_"WJ/FYZ?4II[ M@/OT^=I9L4#BS:^/C);2?I^*PB]F(&86?C8"D:^O722747MH,!1'F2$B,TV^ M^9C*/(F11;%&\-RC>U#@+.86U "CP/ T%) 'U2* XIU(( MJ2 5%+"%X+C=\N!# &8(9DR2AD*-"0,4^4I MI8* 2.HICR"E^,(= KLUT&L@.3/3:+Y;7O8F:CWS^R7)F(GZ:T2CGJCX5=L. M]R/P_QJUNV&6Q3>&@$+L3:">A^W35,"[/!?P@Y/G O+S_GJ.D%&)X)F7SX!4))" &=Q2$$@E D(4XYAZVF-T92\_UQ?/ MN:@Z_ST]>77AG02^]-*B_N)DIEIT$ZW)[-S972TIS=$B)I!S[SO27 MU$'SX+XRNNE<%3OTH(EQ::#,WUHPERDJM. ,N1XSG]\2W;4%\8C5N6>O>>BU M8+6V>X;NN0R="09\S;GOZT";X%VX 0.!!P-/<>69_F]LN^N)Y3FL=4>NM=U6 M'31/':R,?CE;93-6G&*BD?']-,M7L6S M#^A_9?2__X<.M>_"Y#9RTJA;G.-O(O]P:3E>DU*&8W$KSO]>D+6&^A<0SEV" MC*#V7.5K9#1,0* ;:!)@#VDMI=;>RKF!:0&E85C.K[FLXE3/3)3)EUY:**#! M((VOA\5QZ5>]+V&>ZWEUAF"5/"/:R<[:C13-9N+4(!_$+DH41PKF3 MPXC'*=6""RUT[W&% &8X4&^O3^K+2="=G".T$Y5@%R>M'JB]) '" MN8)!S ,EA:>(]AEU 7==WT.00^5Q&2" WEXQU%B:8%PLJQJL:CBNN@4#YBG: M RU@H+'TW<"G(("N#ZB0%"A&@<^Q]_9HK[]\@<.=E L?7 )C%[!OXC;1 Z/[ MF&BU/#Y\6BV/#Y_6H^3QD:PL!+W43&@RKB)L/SJ#-$RR[JCV,)QZCZ_>W'_( MX&-&7&5\V$T I5TKF9<64SN[:0P +: K+,VH'FI M.EMI> "P7AG%?(9BRB530'B*NI!B!5T= .;Y#+A8 Z76JB2L%<7K+<>OAF(A MZEQ^:QZ*+6CW#[2;VV(Y0S'62/OF>P0 I]3%+B.:2:BEELPS:'Y+6USW9N 6 M)77NZ&L>BJTM/@!8KXIB L5L/ZY+?< E$8Q!JB&3F&+A8L:%)PW"P5O:XII1 M3%N UWD35O-0;*OW%ZKW;W83;[^TT^/@J^]>U#E8VBA^^SN*[ Z X\B*6MWT M"O>'2IN*L*IHNPD.JWF.2/-L[A5Q:?,I5A59K\CJIK?VBB@ -BED5=$![K. M1UJ[NP.ZCXE6R^/#I]7R^/!I/4H>'\D:4.&(&@[/>:).7+BB)?81J0@%7B"96/E&FE>Y'/6TISMW JCK0KN <\@:DOE3#*DKN*:N1!1?&"XBS1F;NX.(N %J7;@,NS>SVV947^5III-U[:"[J&@]F6(I<(+]">$KZ)Q#3CK@G+-!6! MSP-/^6BAIG8]75/;D=EY@A)8'0+@=< M*QH8#TDKE_F2,8FDRX*%G4AKNT7U)(<@8BT(MI=.MGZ1561O4T1XA'IK535% MYHX]DB[P,5=$,T@]9)14@'VF\LN335SG+2R0K>U1U:2FF&B!>B\BV4\U562H M/A2IQ.GWQ9]SP^G&270Z+O^!"/SUB=1"9F1T;L#MR/ LK4'R%@=LAV2'9(=D MAV2'=&A#LB.P(]C2"*[N(B=LYXM68?)HQ-Y)>H,H<\+4?&T\6?.2VS3L.OTP M'17;WD59E#N>A7]6',UR$R=ATC8_;MYJOBC.8'F_0-.$U.=2?/G+SBS[MT\@/]\#8ZO4ZC\(_3\,:,YF/8_1X^9N8U'^[2,2%AX>!G M%%(@--1Y>0K%QOD&G"$*"208)4D=KR+G\_U M/QWOXNN7BZ_JZNSB_ W%OW1\YY<7G\]\=:5]QU6?U;FGGV)Y]+!GP5WQM-=1Y]=[[V[L.%=,[WN#.X M,_\TDS".+=N];C?L9]''R3]^?!Y)GDS+$:9U/.*DNEAA] J&__KCI-/S-KBD MB6WVV#9?UJA=GUM.SZU^(/N*=[]OJ3AE08-L8"!*%-UEU#?&^CI*1W.$9,O) M$]W'F:H])EDX^>1'[3G.8UAP7NQ/?=9&1#=V(^'VH?YNF(3#3FR<]6,_"?:- M^;M5.7X9K(:(INP*K4>PU>7E@E]N[UNQ9?B6^ZNJ@\:CWD3DQ7E# R?,LNCU M]^KM.UNMM3X<6FNUV**9X VS.R=,#%/S?T1_#N-O8;?ZE.[:V?WJS7'U."H; M%<>\Q/^%,AA$(8PHH=,J&$ !Y01C#:6@B@JI&/4\)"!BBL( +E3! M&.%122?_2\]$2 V\,$WS18N_A]UA]*P>YFQ4ME=+S1YL<5!K?;'=LMD4'7PH M2N>P=,R**H61V9F[@!#/=2G2/C-M0$DO8!1)333T&")UJ13Q&ZE#I0#10A = MM$K9) !IJ!,SCD#BY%NT!Y=Z[M"FSQUZK5TLH(2N"KA'%012N@QQ C5%T L\ M^1R ZEL8=_.EOZ"77AK(7$;MH9&O.,K\Z'HP^S2>_*U9=R11"_ ZH=A8(WX MMGIO$;8BH.1L\YU6A$M)-()44H6A< 4*: QY%QIE]8/J'IL&T&\A4F=9ZTU MW(3M=8"NVFTS\D'FI%$[,FZ0D9^6TXVR_(LL2HW!R\N^_@);@I,BD#?_9(09 M6U@L%Q=?Y:+3ROOW(\/J;U'W\;5GH[S)V2>[LYML[MH^(#W/0%J;>#@_[4@I M'P!F/B-*9.!SO0#S,<.^3OEU'@VV;20AX"T":MW.WSA_]9A#X,-#YHI Q+.M M64) 0H 0DF#CP JHB M]$T'Z@B+B!0N;W=<$8DV!(Y0M6*NWVCP@'D[@^'MR M'7>[4ISZ!G=0^-YS MT$UF= :ZK0>($+80!(?@SMKXL+E86A$ZG$VA(Z%&GJ>-U?(IY2Z5VB-!H"GU MF/)\O'#BP5K0J<=:B1:N-%Q]Q4_LE9R!4 M& !(/$1ED!^53UT(J$8L"*CV/$86HK?)+#\:7W%K%HO1%F*UWLK7.!_1!FN' M!,35<,?AK() 4.YQI'D F* @ $JC@"- @9;")7AAM>$%W-5D[G +"1N;[4=L M]B6-^F'<<:*'?I1D^9;7I./T1K?./*DXW/(YSTW#XH9&D>,9.#WJ&4<4N8$$ MBG**E/"Y2P@T_Z+$@.TY.,>LT"-.J*13'/:LBMG?^O*?:$&TR^/:&VLRC\HR M[ADH5\0@G=7#2$\ #5PJ7!]0GPB7!AX2%&$A.>=@(3K<#(/UV$U,6F;2CP&# M=<:1M)GE^N-3T&LUH?OBQVYJ._D,MXQX@ /M*G-U(XAO+('PM88 D#125@99>X'*NF BPO^"U M[L8V<@%:&-5Z$F/CD'\EIVQ:+EF--P)F5 QH%1 <>Y &G5 6*>,1G MFF'EFUB1+AR#^KF7W%Y%Z?W9;%*W9NLH("U&ZK1UC35IQV2YFH:B%4&#YZ[E M=37WC&0J#"G5(L@KK'VA7>(#I%BP4!"Z&FCJ,5.(H1; \A! <^CG*.2ISU[? M4/38SGPM)<;'VL;B)F]HR.H,E@H Q)B2@C%(BM9(N10'T ML68$0+T R\GL?\GG7B4=/9GX;2X)"M$BJ$YX-L^+M/';(0%S11QR-+L!1!/$ MA>\I[&J*6""()SWL*8)=(0A<6(I?$X?UV$D)6UC::&XOHKD+(Q[AP+S0Z49A M%M63RVP:SC8U@'(&/-?7;KZV9P"GJ098H4 #[BFD?00]NE X/9W7S_FT?LU? M?7'S>Q85"97ME7'2E@!U(J^QANZ8[%G3X+0:>B2$LTH6& 1 C:T6_\3I;U.F-WE?!((HA\/ 3F'']K]W.MUOL?=[K&X MB1N:+XEG .3,Q&DD(!0A2CT!\@MUC7G#!$J#4[*0BYQ,\18W'. 6 G5NH&V> MDVB#M4-"X8J@HV"VN1WZ2$@7\X "JKQ @?P8*-\%A N,U<(R]Q+0U;6Q[O!! M=S"1V5DR")/;.+\W8!24U9&S;!JH-C5M?(8RB'UEXC), ^52UR,2(86XU-#S M,7*#A;OB@]C */HK7-O,SG)6U+6N5VAL5;MF(Q7T^"T(GK$[$0C MC#2$%$I72$F)5 JY!DX,<( Y].#KT5/766(M8[P. 3Z''Y[YT4V4IE''B8NK M7)U!^&"WV[T 20C #),NXTQX3!M].1"D=9DPJ_"ARD2 MSWM)>^N'BK40KQ.3S7,F;01W2-A<%8IH[N B'B#M!=0S 1LEU%A)+@14,* $ M!9HOI/W7AF)-E2FBQ5BMFPL:!\6#B>N*/2=VG>T)XHB8._&!,4DHQ<+35%$M M=8"))D0"@%SM+21-YK;P[,#FT19&]IB4 S-@38/1JJAALR.& )&4!8$G\OWA M GB*,ZB-O4(22(D$VA0U->U]:TE$#P$U1[.U;9EY6NXX/-F5B/L/3J&FR7G-T_69S\Y9>P%RYC=8N"'R$C:WD) MQK9W:,C^ M*[Q&W2,^OH(>YN<0[2JN:L+5=3ND^YAH/4H>'_K27(EC_OE,N6>?SZ[.]*6C MSGWG\A?U5?]R\=G77R^+FEC^HZ-_^_WLZE^OE)/C]?X.F'#+_8-9E9A<_]6- MP^NX6]RA8V\A/GCZCH:71W"V]?22HW[XF!]\OB.)MI-) ZX!3 MZ0M9)!!<*01# >"**E^9N+[JHI4XN[_S]Z;-K>-9.G"?P7AZ8YK1]#5N2]5 M,3&$-:\E&R'L(IZ>DP.I$'VIC.BZ83^9&E;&PMLE=2\:TQ0&IG M J]!:H43SFHAE D2&VHDUD, ]9+^WEALNY;:1/0H2TWC#D,&'RPO;<@Z) M@QP[RJT!#"E"!34J]LDQ&EH@)(!V/5W@!UBG'6'%0 \=1^;@:9C2E;!*!2R; M2S*\DC5/+%?,&>*8QU1!&_Z/$,\Y9198C=>Z#2S6^ZQ:[LNXVCN79#W0ZJ%M MW5,=3]G\/#ZNW)0)29,2[)0TB""J@J5&F8!*$<6\0)A#QS5>Z[GS(TS8CDRD MO2"PCYH)C\=^NROJ7)SR6[53[<_+,)QB&C;_=E(.4SW+D@U7,O,Q IQP8PP" MC')"A$ &6FXA<$%773\\<;G0'^IU5N.!">^&NS_^ H(>PX*D,I?#,/$>]CU= MR7O8\;%K!Z-S;BO]"&AXU\53G:24AMC NQXHXBEW!(>/-=9@O2[M7N/'I7_F MVZYE'^V15CEW:QKHK,Q,YN(QL?:FG(R:A +". RZK+=8,JH$E";P-=.,.&J@ M9FLNUA_FY [V<#T\-M["X.QT'6I_/2WQR!3BK:4L64GV01)QBZG%UE/CH>86 M,>FX50PIKM>:>.TQ9"A@#\&C4(J35=E=)MJ49QA9:1OI$/+4*08M!3KP#"<: M4*,MT):N%]SM,588S\^@;5;>=5P<'6Y%S?W3$">[LRD/1;'<6IJ)E7,3@7'. M,NT@%=0KJ["ADAL?M%&D@%[SF#ZA:>ZA&Q $/8Z..X*1[,)C8L\-N9&"YN0W MS[ $C(+8!"_(2:(@,L!ZP[S&#(*U9I3;<&,73;_.<>+1E)KMHC]LUQAM6SE( MT;VSN@GQ4A(%' 4<"LF5%U!;(1FE;BV OUS7NPC^BLJZR\[F2!S%D:C)ONLN M.VW*/63EP#; M,:6&TH81=X)BK7B@@,IE=-:_SSWM&3LM9H"TW'I=,B6WH>B M+*:?B[B7*3'T1T0:6SF^%!&KH0?."1!$6'CM*,&::1]D&[;J*:?+-S^9_C'N MAP7,A^/ F^]CME%XUCY:OO(>I&VFQ71/LTPVWC'QZ:9L*9KF8P J(+R5%%M* MA<6* 6PP-TXJ8"%;B]+_'%NV(S<#6[9ZTFGWV/)H#+Y5'VG>?FE%UQAP6T') M0,.1TF#(&8BE3( R+01P4FB'K;40>NF?3][>7:X,/):C>)+%UUTFVI1G4',0 M')- ,D:4 MA3C;DF"&#B' =:6*37/)4;\4Q+E0Y'PS/';^?5YW.D?-#VY!II M>%1BXXAAA"O#J&-*4L0IU!IB0G7XWZ/G%*QZ8O9@[Y$VCVD\O!2R9 V>$E-O MRL.TZ5,!F451TBH4&-8K*(PQPB,OD3.&HS4GS@_Q<%L'CHAVNTL='!,#7#,7OQZ,@V_&_R:$0"R,F) F0W'6;2FJE8Y45'L9>'3VR(H=I^+T;=>-I[<75F6 M,2@:+YS,9^4LO C3/)6,A6TM8+$2,,7(2$:EM8(A*K64'COD"<-<*NC 6@GD MW=9>Q)W]S[B=Y\W*MV<4GU:.>J=UNZY8T ?#EYNRX4H,5DFD.8-(*0PH!EYC M@Z6P FC/?;"X?YH-4ZE(FQ;X(0AA,[FYF8Q7)#! SXA@#$ /;"Z&'Q>^OV:0 M@YZ0O/JB>HTVO.61>=BV%L\K<5\*M?6"< 4HH5IKY2@04L-@'D%A\%JU=;WI M.Y;-#X-&Y"@R\4_)S#HT5MJ4(!'%@J:E40KP!SJDVXTG"WGC+_ M8YS34KCU.#CG!-K>J?"TN#WY*,C0X>!M$&3]_'8XRT>GHM1N+%;/SJ\O\Z\_)R3*L5/CL M^XX=WI.MIO#^-'TT;/,S!+*3(\C?)-/TQ$%C8XS@*QB!E=",!=@@C!J&=%"@ ML4:.<>6]@VN2_^!:TV2#D6C'@<$HZM,J=\,N%QQ[#0->[? MVIA>\60%"]I!Q;T)7].@)0B/%786Q.9_%M&U4Q8J9]5B\5VUZ+NKY^DA+(/F MWZKOZIDM3N;U 8CG;=9B<<]XQ0_L^MYL\\ TC80F6,2&MPY@J2FG7GE+H$-1 ML_= X>UXLJ6JH1[$M(=8FRZM9\7O5EMW2*9\I\7M2B%LE7ZT*G[_UW<%[P_L M.@X;.YC,/XZ*G^/RGPU-M".%_[2+]7B6E Y+"T%@I7=1(L08_05GOP;[WSG=56CMG+&,AN/B[:("%2+PY]]6QMOCV_K$3RS1FLC M>'*%3FX$E]=%; TZN0D_^Q: )AM/9E'!G<:#YK-A>,BG:96S.*T#5==%640& MK:R/*KAU-1SGX_XP.J1FX8.;,+#RE[4Y+:?Z<([K4WKU_37X27BC#SBB^O=Z MNKS!;?ZI>/MQ6N3_?)M?A='\FH^^Y-_*\)B_7$\7$\DK-"P%#]:H!)9X":D6 M04UC$&!AB$(HO%3Q-_F]%=CAM!YC]N>6_H?(JQV%V)S_]9W[K\R9.<^,^KB;YG__?S_7+P,M]83 M?'TV#APXF9?!_BSO7-PK8[BG5<7. =48AN.@#M;O5P7[1\9].;P)Z/&N^))]F-SD:SKH33[]-!S7P\OG ML\GR@UJEK3[Y,AS,KL/580$7PC7(S5%^6Q:_+E_\]E!:OKKS0-SYUL2KI_T3 M]2,8_O-OK];$_.+QW_F*;?>S73YLR[*S73M;MA1)&_E.^3Y3DW:$-^\B,]Z$ MSZ_+S 4>';1747B0%N7FC5EVX!C_ 3+?$3E<%+=!??I83.LU0K)7U3J>>)#D M!&AA;>LQJ+9>= T/3A'JMYK9(]S]>C[.YX-AL)BVSTWH2'?O+3?;Y.5U%B&D MS*ZFDYN54WNC&^9SY1'ZV59-I^MP/>*)I]WO9&'/EC#PKI@M#J'9DV:ST_FT M%/5LT^W?UCR>B000S%!!<5.= -XZ8*V0SM*U8L! "$W: MY .OOZTCE?]]:=MP_"/@.CO\/E-TWY&[:)$@20JRBL21* MX6[3&W1SW!#F*DY /JRQJ2\)3@_^9E[,J3)3- M)MFT"*31'XZ*JA9J>3K=I'K7CQ;#[73R>3@H!MG';\ED2"9#,AEV9C+L/OUR M2\BHDD3>?LS+8E!541;C,J_$5?$UOG["D.A&&?,^M7$&29.68[P@((AIRQSU M!@<938Q!RIB@ES.X=K1LM<;GM_&N[T?YV-4KNTNU'.,>.8[^52>@E1\P,VW( M.Q@W30$8"C8C%LP!397RR@HAE$,,:.:)7SNG9&/>:4WIQ;"'<=)Y]UX_L"4! MVN(VZ+G#6FA-KJ).&S39V;=>=AOH9=:K"@IB"<%MU(L/LN'47N4<;7@5601Y M$'2&,$.QXY+$X[>4@!H)BOW:@U*M MJZC4E#KI$16$:*R(\($=*0-3( !K/I!>!2Z:K+SNLQ3F[$0ARNE2X)"*Y DDBJ* MM)5&6H\X-DAB1O1Z"Y@?9:'6!!KJ8=!FW5+'Q=:!FWL/Y=E@6/;#9&9E-ID& MVZ^X&9QI'/%2J*!K"J.-408C M:HB6U)*UUA"JWY\6\9[W6=@N-T:-!^\7^W+6[,DNA2)MMW?$B[1F:FO[4P.W MX^?Z#:4S;7A<,4%=D,;!N 0TB&EA@,>.(&X@H)ZM%1:WQN,_)K4W:=4&T5Z8 MO>-2_3"$]XQ6/RE$.6.@A-RC8JV8]\/C7L,HQ1^A\?!%6.*K5>Y&_'+(66?)HQ>PI M2=/N\>.F["<;]H.,6L@)@D(%JQ9AS8F4BEL!'#!(K.7I_1C[M6;04DR/FOU^ MI@7I@5N_'XIX0N2=\1MI*#P_$%35-V(XJ%+X)N/347VWE:H"-F%.[R6QVGD/ ME*?4:,6H]U 3[()8)6PMS*GGY7!?BTXGAS M'5^>10TZ:,SG5T_\9-G"YQO\:0F]D?;<(^WV.4[&^SQ8 MG%=^5R*0?RV2 7Z'!+3)_*UZES,*F?668L@UQ%H!( $ 6 BRYC<[&_>G15X6 MMJC_GHWM8JWK I[+N-([397J"7#<*(VW!/M.#7(41FT M=DNU]YHC!:6Q;.WP]6TY<0<.:]XF0W;<+WW@]G8C(U?*XZJ,A"JM>*5O>2J5 M2Z5R:??;4)A99ZMK^XM,DVG1+X:?8Q_'HQ/$6R9/2DP;:YD:R;U3FF%+B6/" MQ(02(IEDR%.[5N&S+IF7"_WA;IWWXPN#/2R.(A,L*;M=YK$-[4ZY8G=B:IR% MRGD&*(44"J,A!1A!#YS6=LT#M25/M5/=1J,X*PC_&0>L=%8,@ M"#\7X_G/2L$#D\)- I#2JAW!G/A/*7/\_)R_1M> MWG&-@=Q/M5WWF#S%B%*,Z#M<+1NNUCXPKS!6Q8(A3;06!&@NJ.+$>"-:X^K6 M1#3KT58[1!P05[<6V^FLA(Z91N/99#H\I3C.]YD5 LA6.ZX992A$%@DJ7-"A ME1/6(0VA >'RY[EU987W8YR*'DB5?LR00WD#V?9^;VBOUXSTFVV2BXY)M!VZ6OI\6M_EPL.Q<5H=H)K/ MOUE_/IW&+,E62MX/2)'=6E;21E8*Y8P'R"F&&34TMC[#V$(MJI)>L98>N<[= MBXU9!EP7/9S4>' >-Z>E(OF-DIEZ K5Z1&'GJH62)7I<#+RQ.%YQ,"&*I47& M 8<@92HPK'9 :Q\^-=N8HINR;#MM6#K$;P7/CTN^7T88OHNC'J;?SNM&.JS M3"P;J6N AEP@12&7E"JC@^SEA@-)M ;0KI7Z/1WQ>5\O\UX$+.YAV>9A -WC MSY1N> 0T*9D)!2Z93$&BDFC=.:*D[7^K%MPY [2#;L0=&F ME[=[#'G"!F_LRC O&H/W=-3BK44LQ+Q)YO>$\* 2(PR"GNR()%00SAF-9V\ MO5FB4MR WYLTT'TE*NW)CNT>NZ>([$G;P<^Q-VW8VRJ%A4"&.&LH5T11))Q0 MSC%$O49ML7>+?>@0:S-EJGO.J2.S8BO9FTKF'N5#WO A\IXR"9#E3E;5L[&' M#44,$1TDL-F@9FZQUE6)SCZM6=@#I,WF4D0 M$AY0BK#T,/ B"08N%YRM'\.Q+5/NHGRN1V2;RF_WN/*$3=IER&&96ES%$^&,\/ ?M/9YKJP6_WS9)\#DM\-9/GI7 MS';L2X,.F$JXQ77E55:2F^4BIYI88WB%AJ%%..62@[7NKS]%.>V M)\-ID.)R+\6UVVUG!TWJEGBX_0YP41Q'5"BSJ^GD9G%$R7UI_+.]WXX S(Y] M?B>SER>A9[^?3_O7>2P1;/70H6-0JY^SL#%O]&H*K.- Q5,]/47.*02 MP9 M:8R1ZW6_[_-OU3)?3E3__\V'TV)/YQ$)@7LXG0F8$B8[I8EWPV.&5^QDS2E$ MC J%F*54:&$(@(1YA86C6*UE:OT@/[?7N@:R'B GF@#=6H%@9Z7SW_/9?%HI MUE7V1SP0$@R#:*106*UCFV/DUR5C*ZS5GL#$M >/HWO4Z=FGM],8 9I]ZV6W MHWP\ZU5"L0CZUFVDFQV'@@](X]W:I"5TA=&5I9XPH[&F%-M@R7+ND/X%.-ICU/B ].5D_^XO<>2 T&)C<%CQ M=WENC0T*@+>$4FVAM(!:):3!&H1OUKJP_Q0XM-GT#M-6"PN/!QR.WYA^-*7D M];RL2A??/!K..CJ%?VO-@(+&NJ8:(^05\$(J*HA5"B@O&!%0>X'@FG7]1"CZ M;+G@+2:1;-8S@/0D/>Y6("D5] B8=6/>7/%\:6W"_SE)/6346J-I^'\;"RH, M]T*O53C]%&^V7](H>DBTF>?5/<[<0TYG1^7OP_R1J^$X'_?;S1\Y9MOD9">> M=O^8U/"SLIP'OB^B0Z\_N;F9Q!]/^O\,4B384HO7T;]W0MKWH*:6PT"& M*>9*"D$%1(K!8(D+"1&'@*&U#.Y5__MRZ<^O+J[S:5'^$5?\+'PP#O@;F]I6 M'^L\J !F5Q.-%&+\-EHWE>WE=M^EYX\#'MFVH&*67?:*"366*1C"5-,ZW2X?&.F)@U3D\#AQC$G&&&4(Z@5-@P80800 M,(CP5IBZO?95O6&+P:6LP8D(P3 M3H/FK93G3$!!G=5>^B=#S>=7=KFP>Y+#05MF1]YB/L65CH M-^;"%;<3I4!Z M8(R21E$1-&(K,)84.R.W15EL'=8^9 MDSE]!+RZ,6NRAC61%HI*##$UAEJ'-0$0$XL"*T%JY-I)XC_%FCLX>8* 'FNU MC4CW>'/W1C;L:J:FN[HJ^I6-'6@@H-,X*[[VK_.@ V9!]RNR^G69!1JO!'5U M,D5\$6LQ/P=":J&!T/%HZMO+9QS9E*=((4^TQYYIY9X6CVDIM, M:N(( "^O]VNE4/\E2 MK7G/^7'PTTF8VN8I(9?EL^QC\6DX'D=7=VQ^5-%14H]_6FBRAL,Q(,1H39&S MC$((E#2>420=<="P386FFIE\.OT69O^?^6CM#+JSBK5)&Z(2B!Z"K::$IC#W M,4K?(^+R39E:-+YU+P GQ%.IJ:=0(@&A#JSCE:,>2K7F6]^6J7E+3,UZM-6L MT<-CZF.R8;\KT(OP^3.B_ >V%H>M'4SF'T?%;LZKVY%O\T^[G/C!J2,2-%W5 M 64$XP=E((J*J1BU)@ 8(@I"OV:]VY;Y K&>QO(A6"/@]WY]!_9Y@ M71P9\!PKSFP**Z@Y.@QX[00SP:IAA%('M >,6::TM](0+]JS1C,W>?5ORO#&0W'Q=OK6K! !/[\V\KX8M> 8MH"2:V/+XT@C2"- MX$1'<'E=9'F_/[D)/XN(GXTGLW@&R31\'$1->,BG:3[*;O-IE24TNR[*HBK" MB89F/BL&RRS=<%$Y"Q]4M6"_K,UI.=6'KJ\P6W^J7C[<5KD_WR;7X71_)J/ON3?RO"8OUQ/%Q/)*PE<:H4!=51CYX+N MKH1 D&A/I/0"$T%X_$U^;P5V.*W'Q,YS2[][\GK$4C+G?WWG_BLSYQ_>GW]0 MEV?G[UZ0_!\=W[N+\]_/K+IT-KNX#'_^[MY=7F3G/KOXF_K@_G;^NW4?+JHZ M)/Y;YO[QQ]GE?[\H![\^&P>VG,S+?#PHW[0[E)7?WU/[05!^J]\/Q\%>J=^O M/F %6]#P/O+]\_,OW+X4T IG?%E^S# MY"9?,Y)N\NFGX;@>7CZ?398?U#97]^WP6 MQ/M\&-KH9\\[4W?HLWC:=MI*@&T4#6$_&0UIU76Q!II;S/LQ 53W\KIXNI?7 ML;NG5IO 3B=?V@F$[9@%=D0,*@P@ND3RT9-R??>#>)\/!T'09R:_'CB01 MYQ".[(F5A;R6:= MCZJ3%C/T7CKU?0'[58QF#?,WSG#:+FKYW?RF\#^&"T:: MKF;&(4NY@ A1BD0VBFGN6<$"1D[FZVE-S5]2&L-(![)40P>S9-$_W?QJ_][ ML0QCUUIC-.LFXRHOZNNPO+MJY=Y_+VX^%M.5A*BR>MAV.5$\]EMI-2?J*6+9 M;N-?.O_RF,L^6L?YW>[]5CR_5:[F . T\Y+QBA64BFE#4' M><,<,NXAO%7@L["Q:ZS:.;)M?<0729"6("U!VDE FH K">E,6RJ!H-90[JQ& M#A%DH*& 6D;6$M)W!&E-'#4&,\_&BU!F:_ 6E-*>:#>3/4%<@K@$<1V%.+YR M1*0#$$$!' - 4VF(1D@SH3E7VKI@O>X)XI91^650OC5L8T3V$&[SJ/:$;0G; M$K:]'+8]V69P 6X(W($;PPX!RS&ECE*KK+!4!7O4<2DDE>N-Q7>EOS4))E66 MQ[U4B[-Q?W)3_!C>;=*@$+.> *UV*&RU ^'+,4QJ69I \NA!\AF,) U&6H

PQLIO;^,!\GM"J@YP(FTZHT(#K76>!]9#U'F@#!8>:HRY@,CQM7Y0 M55!0YV4QB I%T":JXX[4=!H;TT:E1']K+EFH_ M+FTW HL(MZG*=-88.P)UHANM5W?'L+P1G<8;#[P$@L53?J&6L54)8Y!2)" V M\E'16;.=G4_#U&K6JU*[JN_.;^,32_>UF/:'Y5JH?R=,N;5P3OR8^+$#_"A6 MVI))*145#CH@J8%&(60L$)0!9K6C:WV07XP?=Q[0Z6'69J?&Q)^)/Q]-V5\< M9YL(*A%4(JA$4)TCJ$TT"$%XTV>=26"\P\(J2*&C4B@@E?&6<(D >=P9UHH& MT9+4;_.HP^X[O39TRW?3&U;1Q]N/T3D3O6%W#IRL^!I?;U/L\S+]TO<,]=UK M"W[*T:/-2S,3;2;:3+2Y#XU&KN1W4<&!IT!P1!SUP$B.O$#.2:^AIW@M*U\- M_F=>SJHVF)>3)_P45?S@X\/ PX=XAD YG!47Q?3SL%_4JM"'HC_Y-*[N\E@[ MYLZZ4"#H0;F7M+$$#0D:DMA*M)EH,]%FHLVNJE2T"3,)I@E"2 )N@DJ%K8): M0:PTE@9X+D!G5*JD!IUJ6^I<:5+BT03Z"?2/AJ V!'W>]%UR EA'M %08^H-D)00 MQB#$*L"_\'H[T$]XO25>GT;RRKMBE@VKRN67=I!V%=^[Y^A*?NOC\ELGVDRT MF6@ST6:BS?;C?1"N9(5K[C#RA(6O%/562"=U>(&Q5!Y NM:X.2A'=5>7>)9- MY]TJ!/:8H$<=XDL!2)YDP4*S#_GPU$\ MO?QMV/*W9=C_;#C^7"P2DWK9N*BR1F;YU_CG]9_HOH(17145G94(IP3\B: 2 M026"2@25""H15"*H+ILTB(L[DX80*#QQ3')OJ8-<,&4](!)I Q@#:PZSI[HB M_W&GS?YM,HIS_FO0::/95D.K\*\*N*=7%4NC#OWQ^OH_WB31?]'='\$>LPJIT>X[ONND)?V MT795.>R>]RZYSH_+=9YH,]%FHLU$FXDV$VTFVCP.VMRLG@'+IJL^4<1(30 R M2E#!D8*&,JZ4=<9CNMY>X2E3,UJ5#ZV$IA6#GTYNU+DY\Y/I13 SJ\:\_.@ MO4?[:=9P&*48"4M.$4L(7#D $$A%O 0L<"\%7BKA"5&,8VJ<872M(';_6))X M_H7*KP[!R14(J@CWR@(U38MQ_ULVF^;CU)B*!%D(LA$D(D@$T$F@DP$F0CRY0Q("DASI!RT%EDOD32" M4H"5%HX3A8B' E+(?L2 7&CS9J',7T9=OAZ!&@\N&\V^,2P[[XG:Y"!ZV -2 MMFF@;DAVW;93$Y!T/S_J6:! #5!X@J4$C')N#/4LH@4V% %N'=2*K%5Q[1DH MNLS0A\&P;:=5==+AI/-1=4![7L8\J8OB=E:)@PS)7A9I*7L]'^?SP3 (D*T< M[O>@&P?H'DSF'T?%'78?C#.Z>O>EJ';EXV0TV#2GDA*V;K, /[W_[:#!GUX$'@\-#5E3!@^U] $.H>%44:V=Q,QJ9CB#PD'E_*-' M;UZ'AQ73LH:VG0/AM@$Z3-H\C#LA8$+ [1!P\;3XT^U=:D<*C]NMS4MBIVB, M3Z><-5H*%:Q0*AQ1GGOID&:6!9M4B3UAIQKL]DP^*DF/H&YHDZWP4@+:!+0) M:#L.M&PE'!#L=$.5Q!8#1QU204&E$#.&M I:JESS\NT(:'?6"Y )U,.BS4/D M$\(FA$T(>^((^UP@A:'F#!OG"'2*.Z$4HY8K10VD09D5G%$!P%K*[JYTV9<( ME6+>D[C59-Z?IK,?"LITB"M3/4#"[H3=>]".20/=F&H'%?S@5:SJJY1N. \#6[U=O-X[D,KK'E1#4 M.%TM0M8O1J/%M__^"KRJWH=A]I?O'YGDY?"F*+-WQ9?LP^0F7T/U+\/![#J\ M#/-8T$ @C%%^6Q:_+E_\]G#'7]VE'30)-?C5TUD)]3-P>,2K-4*NOQ-/?P7; M_HKO\5G[G-<^GP71/A^VV<^VK+/J9-;+1DELK$O9L/V 9\6T=8E?!S^S2BZ? M>,YB4">FDR\OEPC] RRP(V)HHCE/"N?=#R(&DH+\SA:AI$24)TZ42\]WMG1] M)XHX<8I8<=2]($Y5/L(7?/X]]^0+CB.FKR>6/'&6O)RLB>J]/K_*CE[XE:H: M1/ZT?V'WHZD]6^VUJCA<$^HTN:'.U4^@>();_SZ?UJOSG_EHOLU)V4= FE^ M:7Z=G=\)%O7]QWST+8-5.9]XZ1CYBT4[-PQNRI5#@($%P%G"/#":$H854X 2 M+S3#$ NNMJ_6$_] 7:G60SV 6ZU5.:P(:*=0X-!QOG/Y'UNF>QQB-L>F^,:: M:F2H"'-<4^>,IY9H"9FB1!)%))1(\*V2-]J%MNWK[_;2(#-A6L*TA&DOCFDK M1VM[IXUTW IJ+06<"A30S' AK&!&JK4."SO"M":2NINZ.")%#Y-6JS82QB6, M2QC748Q# #08AR1%."AN7FE-O:#*(.$Y<=QH@('8KO;WQS%N=R5I,.;M)J,T M@5L"M^, MV>JP1!8::O'B7=> ZHU8!1IJC!C.%Y(K0XPM2^K]&6JP42/LU:[ M'1Q%L5>J[4HH>0(H^1Q(D@8D!=9.2,V0X* M<-F#IQQ4.*H3:6(0JPHF3JX"R535 F6DID I8>D7KV]'^7A?"2]=8$76'#CE M!(0(*>4@511S(HBD.%ADB$LM$5YO$!*C=3HOBT%4*8(^43?VG4[S\:=*+='? MFDO>Y]_B1^I+/AVLQA3/QO4AZ8]T_Q7;M G?47B1TC9=5)VUQXY H3CXSMW/ M<2QOA"=5TF#@F")(48Z!ALAPX+RR#!,J'B]:KOG.SJ=A;C7O51E>U7?GM_&1 MI?M:3/O#%"T%1VB+;E_%)IYV^GUW?2)?2ANY]/^=5ZN><5>.D[1 MA6@>Y*AIG\L")V*OL%:0"LPD,09SC,)'\6+[*%LVRWN/-R\6CJA.N[QP.IH] MA>A^K ;VT/C_.?8730F-5)P)X:3P 0:0\PH2Y:1'A #+C'P\3O4$^U>BN5.N MM7\5T\D@+Z]7]-_=;$S(?%S#]Q5G.BS42;'5 T$6J*F22'PAC(#$2" M6HK#!3K('68 1QSIQ^V_?4B:G:7)(M"3-"F;"0..% .2?$JTV57:W% ^K1QV M29'U E*%I--4\?"/=A9KC2D$7-#'8YQ;R:5T%=1UMN/D:BBZ_(N M!2TKOL;7^VI:U%7AT5D9<4JB(!%4(J@C)ZB-?*D8K20:.X8PH=QAZZB21 H@ MG.70:HTHU&N^5#7XGWDYB_9I>3EY(G.I"JE\?)B,_*$(!FTYG!47Q?3SL%_4 M6L>'HC_Y-*[NTJJ!O.ND*MF#K5;*)WY._)P$1"*H1%")H Z*H#;3.+AH?!:" M>.^YL2)F5F&KD.?$,JHI#,)>F$ N MQ^0.3^[P1)N)-A-M)MI,M'D+:*F^( MTFMA1+M4CDS,4^QZ2@OO<2I3V#&Q^W&R>Q)%B3:[2IL;BB+95-Q!C+DAA$ / M+674:2JP ))2+SRF>"WC"$"^\9#+HE\1)2XB306F@NH<(/]/) MU)UW>0C0(Y@=0^ QL5V7V2[A>"*H_>,X RN-_:$BB!HL,$646ZFI"9ANC:6> M>^C7&OMOAN,)@D\N]R/Z .;C:1'N^*]BD'T*@CE[/0I$\B8+%)A_SH>C_..H M>!NV_&T9]C\;CC\7B[RD7C8NJJR16?XU_OD3(B_MW.PJ[B>?\T%*BD2;B383 M;2;:3+29:#/19J+-3IJ%LFD1IV,IHP%(&*:HEU01R)WQD#HK$'!KIS$\=1K; M'W<6P=\FHSCGOP:[()J.Y^.+HC\/FS,LRC#F,GRUVDPA6!/G5Y?YU];*&=L^ M..Y[YZN@O9RRE, A@O$$=8>0R$1A11K8 TX1.H/3!0"?+BX)"8 M^+1.0_M0]$=Y60ZOPO KXIU<51ZE.V_4Z^B.>I-%=U3T1@5ZS"H?5+CN^YZI ME,_231ES2J(D$50BJ$10B: 2026"2@35Z4Q\ >2=E82]-9I@)#G&U#JKI$78 M&^$EDE;*M*KA-3P<_G=RH7S66TR'[4!!K,_1_ M&"4!"0". !0 P $&D@1HEZ%OTXPS1053G"&M&'A_Y_RV;3?%R.:@=+?D=_VWC#)M-!,5U.#=Y^S242$@ MT @2JBB7T@+*$#=22D<5^!$K?&$2F85%=!D-HGH$:CRX;,RCQCKOO ^N#/,) MGWW_(.Q>6, VLR%^EAZ[[1Y(F'2,^5'/8@YI,">@#%- &$4UI%A![3Q@QC*@ ML0-*_9#K?P>8TVEL.&S>WS*MJI,.0)V/\G&_R/(RYDE=%+>S2K)D&/2R2$O9 MZ_DXGP^&019M!8/WI .4F PF7\<%7=BH&M(4+W[4E2+_W$R&FR:.BE7VB80 M)+5U@B' %*5$2R"4XPA:" PP; T95D[$KGJTEV=E.2\&#UC[K&;M%D_;+JN' M;141@!SUH-R=OO (I736_#@"B=XA'OYY4'N$A?^TRVD?&E*)YFA,:9%& $L> M>PAR#B6!G!DN'2 4>*T>/1KS.CRLF)8U[.PL M6ZZG 5W;+<'+X1H&*PU/()0*,R 0K-*RJ,(00$N-M$$3D]SO"=?48+?GZU$H M>I2VF9OQ+.6TPAD)!!,()A#<"0BBE:Y/5"'!.*%A6O= M^W8$@COKW\UM M,*.)%YI0YJ5&5D LO*38687HMK#:@D((>Y#('B$DJ815B/(OL]CRX.[SZM^5 MX8R"5O[VNJ8&B,"?[Y$N9(%05P;<#X*MF/[ D!_2W],#_MZ0T@C2"-((T@AV M.(++ZR++^T$/#S_[%N O&T]F19GET_!QD(3A(9^F^2B[S:=U]^+KHBRB!*N0 M/JKUV=5PG(_[X>;AJ0N3H/QE;4[+J3ZKJ8R Y']YA >VX%=T\ECRA.YORO M[]Q_9>;\P_OS#^KR[/S="U+QH^-[=W'^^YE5E\YF%Y?AS]_=N\N+[-QG%W]3 M']S?SG^W[L-%E4?.?\OQ:=-D7N;C0?EF\Z&LW C]X(/1 MKC!HY??WC"2PU*J&XV#=U>]7'S".VNWHOB8&:B.Q4N:R?C$:+;[]]U?@5?4^ M#+R_?/_(K"^'-P'/WA5?L@^3FWS-I+S)IY^&XWIX^7PV67Y06ZC5)U^&@]GU MKU+^PH#$G/YYJ?3V)Z-1?EL6ORY?_/90Q7UUERC7)(WB5T_GT=5/0N+/ORTO M>OC==[Z";7_%]_BL?)\/0QO][)@2.#=*U&8_63S2:H;7&FBVX\FH MDXBRRM]PFLZ\N^W&K[+IY$L[=4,[9H$=$4.3>?&D7-_](&+21Q#TV2+M(Q'E MB1/E,A*>+4/AB2).G")6@H,OB%-57/(%GW\O)/J"XXB56(DE3YPE+R=KHGJO MSZ\J@!;QLH5SY@5'4T?LCKP&;B_U]X?)#74]6@+%$]SZ]_FT7IW_S$?SXC1) M(,TOS:^S\VN[0V4G9?/]^G1;]!?EZ; N3W_ISAPOELJU8>867CGN2WCA+/1< M2T"I=%(3Y)AB3GG,%43P9\K225?*TD%/(+"/5A7=S/OJ%!0<.MCO=N^W8OJM M4E:?V_,#QC>R 2!B7,"YAW$E@'%W!.*LQ\@HSB P%7FK)")%<:$@1".K;GC!N=W7JA/40 M;+4H*8%; K<$;B\&;L^5H1/>=.&07FMH/!90,FJD$\9#H#"FP"A*P+:MB'Y8 M@WNA,G0*NMLX]N4X)G643BAY]"CY'$C*!B0)%L!ZXP"6FG+JE;<$.@2]!CZ MI=P6)-LI*L>TAQ@^7?UMRUR?;IYX%X-8541QND *U((FK8Y03TA@D"H)*=*!7V%*6.!MMP81Y5=8\48K=-Y60RB2A'T MB;I1_72:CS]5:HG^UESR/O\6/U)?\NE@-:9X-GX?2'+R,+88N]G+?^#__N$3 M-'857NP1WF:_L@4AS\*;3/\>Q*IS]#(:$80FJXIA5?7=^&Q]9NJ_%M#\LUV+^.^'+K6-CB2$30W:! M(5=ZSVDK *?0<(P Y5Y(!:UG3@#,%=/8=(8A=QW8P;#'.4\.E+1A7@>0ZCQCT&#(-$4>B(H 59K MI[S7WB"M+7:/9V0URWN/-R\6KJB..[VPW$MFUE8QO!2FZZ+X/3X$P$T=C:.0 M>D6E]I10Y(!V#&# @<=>,(K6/>3?08!*.I^*=RUQ?N+\#G'^]B;>DY/LK.V7 M:/.P:'-#J<0;J225A Q[RX7#U! ?;$=I%%+**@WU$WWY]R&5=I=7"WM,M.E; M3O(I84"',"#)IT2;7:7-S>037ZG.Q5PB)C! 5&L*(-#8*J6G941IR0* M$D$E@CIR@MHH(,IY$Q 55B/$*+1< 8J"VJ ,T>,@RY)%B3:[2IL;RB*"5AIO.(^@I51S1PUS@G#@!) P MIEQBN':DQF:R*(F1E,#RO0F^*V;9L&K9F%)5NHG\IP3PB: 2026"2@25"*K= M0"0!L*GN84)*@1V6C@1%4VHME=/6*&<%L]RN94\'%:%NZAS/M.Z\TP,BW*.X MS2+SQ'>)[Q*0)X+J!I"O'':"A "82"^)(Q0H)YT WCI@K9#.TK56G9L!><+@ MT\O_B%Z ^7A:A#O^JQADGX)HSEZ/ I6\R0()YI_SX2C_."K>ACU_6P8"R(;C MS\4B.:F7C8LJFD'9U>1/_F=#U)6)-I,M)EH,]%FHLU$FXDV M$VUVT3"$1-P9AM1;YIP%%D)*/6#:,\@%I"QV1U#KIY<_=8K;'W]@@/K D "("\,0X*2'QL[Z4XIU+$@R6HH("M'9*[=WA(;-RF9^H0 M'% ?BOXH+\OA51A^1;Z3J\JM=.>2>AU]4F^RZ).*+JE D5GEB K7?=\]E=): MNBEE3DF8)()*!)4(*A%4(JA$4(F@NIR13Q!;.;Z6$(4-$41Q29'D @OMD4%< M2$?Q>IO)I^RD:!(]5'";[@Y^.KE1Y^;,3Z8707<]OVILIT/VHW#(6C2_#J,R M( ' $0" : &D=Y]8Z[ZB@@?L9\ 9ZH[@R FSL1]T= "1&W8I13R.K)Q!4 M$>Z5!6J:%N/^MVPVS4]_(O"W[2)T5D%-GO]$VXFV$VTGVDZTG6@[T7:B[43;+V.%8TZ:,A<9[&W@ MM;(,4@V1,EP)(I35!F@M-TY7B%;XPB0R"XOH,AI$]0C4>'#9F$>-==YY'UP9 MYA,^>^;<74I(F]D0/TN/W78/)$PZQ@RI9S%'-IB#'7)6 (H X)1JK!EQ3$(G MG63&V+7S(?:,.9W&AL/F_2W3JCKI -3Y*!_WBRPO8Y[417$[JR1+AF0OB[24 MO9Z/\_E@&&315C!X3PK@( 4&D_G'47$G!KJ&!-6[+T6U^!\GH\&FR9-DI7L" M9A BSBGPWE*(D "(A L<1, ;(MU#9%@Y2+OJUEZ>E>6\&#Q@[;.:M5L\I+NL M'K9=^2X'/2%;S9Y\CE(Z:WX<@43O$ __/*@]PL)_VN6T#PVI<'-*)M32!ZB" MAE-%M782,ZN9X0P*!Y5;.W"BPI'K\+!B6M:PLW.0VOI\B58/ETCH=%+HM+AI MO&+= MM4HYQ6.".!8 +!!(([ 4'>@&"P/0U5$EL,''5(!<6.0LP8TBIH M=U+O"01WUL:/"=3# B?T2^B7T.\TT.\Y_SQ9\<\[1Z!3W FE&+5<*6H@#4J@ MX(P* ,B^=,"7".9AWI-X=]&\[Y#3#WGN.\1C)YJKGW UX>KS6B6%*V%/JAU4 MW)OP-64:"(\5=A9 (;E%=*WB:5-8;:.G: ]AV4.PS:ZB!ZH25B'*O\QBRX.[ MSZM_5X8S"EKYV^N:&B "?UZ]._HQXEI<_QC2;/C Q716KKX'+K%ZHEJ^X3B@ M8OU^]7;C2!6C>\P'00VNU2)D_6(T6GS[[Z_ J^I]&&9_^?Z125X.;XHR>U=\ MR3Y,;O(U*/XR',RNP\LPCP4-]">C47Y;%K\N7_SV<,=?W<6-FQP*_.KIL'+] M#!P>\6J-7NOOQ--?P;:_XGM\UC[GM<]G0;3/AVWVLV/*9]@H;XG]9"YEJP'/ M?L"S8MJZ8*]C:EDE?D]3M[W;[J U3"=?VDFCW3$+[(@8FD#$D\)Y]X.(,9 @ MO[-%%"01Y8D3Y=(QG"T]PXDB3IPB5GQE+XA3E9ON!9]_ST/X@N.(B.H1DE Y;+CW3&A" MC-D3IC7AU-W4=1$&>[C5P[$3QB6,2QC778SC#<9!0J"TE$"D,!6828,!Y>%: M%6#!JGUAW.[*MICH49$4N 1N"=R. ]R>J\H2LNDX8CAQAG-!,% TF*/"(N48 M!M #":78FP;W(E59I$>E[&P?M9?CF-1@,:'DT:/D,R I80.2T@3;UCM&&(>4 M8:(U5X0; (CBFFS9OB2 9"LU5D#2'N.MEMT?EOYV5*?JQB!6%5&<7 62J4H& MRDA-@5+"TB]>WX[R\7&-$=0L$<$PIX2SU@06'Q""NM*>9*VO4. M:3%:I_.R&$25(N@3==_6Z30??ZK4$OVMN>1]_BU^I+[DT\%J3/%L7)^"_4AS M5[%-0^E=A1=[I-4B\\Y:9$>@4AS\H6S/\2QA*V>R"48%$TY 3)$$VB,'()8. M, "M5H^*SYKS5L^@KQ*]JN_.;^,C2_>UF/:'Y5K,?R=\N75L+#%D8L@N,"1K M.E%!X;V$5&NI):7*:*T005YA)B'0;BW5YL48!'41[@K?I 4@J,J M.X77$'CC#8$4"JBL!U99L8:T>J'C8LN6H M<@ KTGK[,5)5]'7>9:UEQ=?X>E_-CKHJ/3HK)$Y)%B2"2@1UY 2U44@4RB8D MZHVEW""&$034:*<%PA!IC"6#QI,USZL:_,^\G$4+M;R=@O:K7C0]&??!I7=VG51-YU%A:.U?4I"RLQ=)(0B: 2026" M.EF"VDCE0!0V;G5@D'**$(4$U10*SH2WPD)NN&2.=4;E2&K"R25M+:KI8L96 M>,@P.@S7G<^K07A'A)[Z39R&)''Q._'Q>])%B7: M["IM;BB+6%,.A 76FD%MG;;4*ZNU8P!B0IDB0IFU=CF;R:(D1E("R_38MROFH<@3-KHLL'TRJ4L_X7EW\$0_*86\!RU[5?1ZSR_QK469OL[/Q M;)J_=>-9T'*RRVD^+J^*:9E5_2'#C<* SL:?PS,FTV^O4DI,-R7,*0F21%") MH!)!)8)*!-6V1DMP4TB$N;' 6:2Q(A0C(#%4UB-*## 8FK4D*U/WE1Y^+MS5 M5=&?G5^]*[ZH?C]HBK.8L#T=COO#VU&Q[/%X?J46^LE]]?>LTG[A?^1CN%=7 MS":-K&E/,MBB+GT8*G/B["YS=A(5B:!>0E1PL9(W.,''2NS+MBE@TK]\=+NW&[*A62=_T@Y4BBS42;B383;2;: M/%K:W"AIG=*F3DXX+HW%&AGCJ8%2$*PQT$ QZIP#:TGK03FJ0T._3\K6VA'N MKN\+QSU!]G*L6&+AQ,))O"3:/&K:W$R\R*8FBA!B%=7..\DI,TPIS9U#&F$& MI,1KK<8V$R]),K1;VG0H7IGY>%J$._ZK&&2?@L*0O1X%*GF3!1+,/^?#4?YQ M5+P->_ZV# 20#<>?BT5Y72\;%W7*2_XU_GG])X'V%<7HJK#HK$PX)>A/!)4( M*A%4(JA$4(F@$D%U.IC-1)/)+X#53%'@'<:4"J2=(#:\@ C*<)U^:-54:=+1 M]S4MKHMQ.?QLG(R&@^S?0/5?!YG_)Y3<9^;:65WWI,10 M(LA$D(D@$T$F@DP$F0@R$>3+&9 2-K6&&&*HJ>4>.T(E ;G0YLU"F:]:4M8C4./!9:/9-X9EYSU1F_4= 5RT::!N2';=ME,3D!Q^ M6I7$#5"P@!* 2R(8@]1!)C'%0F/&A9'8(?#"0-%EACX,AFT[K:J3#B>=C_)Q MOXAMER=7V45Q.ZO$089!+_99%MGK^3B?#X9!@&SE<+\'W3A ]V R_S@J[K#[ M8)S1U;LO1;4K'R>CP1UF/ <9M#GH@R"IK1,, :8H)5H"H1Q'T$)@@&'K_<4F M-S>3<76Z>W7&7GE6EO-B\(#GZ^YA^ #PT-.1-7KJT2". ):=.4\ZA)) SPZ4# MA *OU4,TK+#J.CRLF)8UM.T<"+<^>92T&J!+")@0<"L$7#PM_G1[E]J1PN-V M:_.2V"D;XQ-"J3 # D&,J75480B@I4;:H%'*]9J>'6&G&CQZ('1[R4U0]"AE MG<#25G@I 6T"V@2TW0;:>-[9'=!RJI!@G-, L)1JI(6!0CB,A*/"PK7>4#L" MVITU'V0<]&2[Z60)81/")H0];81])I#" $9W$*LH0-!H(31DE'HF.=*<2Q:3 M=N,Q#/O295\B5$I #TO4"?3=*BC3(:Y,]0 )NQ-V[T$[IFCEP!QOI17$"TTH M\U(C*R 67E+LK$)T6^ANHW=J#Q+9(X1T ER[J=I6$>Z_S&)CC+O/JW]7AC,* M9L?;ZYI,( )_OD?3D 4*7AEP/TC58OH#0WY(F$\/^'M#.LH17,:3C_M![0@_ M^Q86/!M/9D69Y=/P<6#*\)!/TWR4W>;3Y4')91&9J:*MJ,5D5\-Q/NZ'FX>G M+C2@\I>U.2VG^G".ZU-Z]?TU^,E,!/& 0*M_KZ?+&]SFGXJW'Z=%_L^W^548 MS:_YZ$O^K0R/^O!X!?W/^UW?NOS)S_N']^0=U>7;^+FN)_E$[ WQW?NDNLLOS M,,1W%^>_GUEUZ6SFS]ZI=^9,_9Y=7(8/_N[>75YDK_]XI_ZP9^'[.ZUPXZ>C MQY^^OAAW]$:X,DR*0&#:4F^) !)9[I"G6H0_Z"&];02M(B!K^YLB.^POU4UY'BV#-3LAY\#7V5%T!]N(\!-Y\6K_WTQO[G)I]^J[*=F>EDS MOVPYP:4BL5BT!TR]U8+^7I1E4?Q>Y&515H_Y]MU5M!HB&DB+4^/T%S?,[Y3& M']^:G]E9](QX>LA<*Y 5DRJ'5]]^7F:K,KLMIC?#612_'[]5/?M;2"$J)-ELTGVCWF0[\5T]"W[4-Q. MIK.JM9D/:F_VZ'\0O/U';Z$+-/I"6-9@<)9A3/&A@TG\JEKKV)\^'XVRP;#L MCR;E?!I^,"V"8CZMQ_^I&!=!R0A/#YI(S T<5"K)@C%NE^=;EMGKORKU_LTO M6196( ^W*.>CI5:2Y8LS+^-[=6$R05#VJJ;YWJLP\T_CXFOX,PW3JVGG=?S5 M*U-K/J_>9-=Y6-;IY/-P$)X_+KX\&&[ELHEK-:KN&52C\-AAN;9T=RL7%RD, M-3!G$=-MBZR\GLQ'8<)%=I,/JF6/(WA6EZI6<_G\>K7#@HSF<9C#N@'=8A)5 M70S_K78UCV02F'XZO-O,272356ZN)6JN$L<"-=<5SA?ET+-Z7R:WP_%B%O'M M33X.ZF7(P M3LIA761>8=66Q'*7/UR3'I(5Z*K=F55#;&'[XQ#>ME(,[M C7AGD/*A3Y7"P1<+DV 4F"8"R^W@9%+.+<8LZ50(BR MJE/;6MUQ4/07JL2O\[#LTSB.<*=:Y>C2:&LB7(#R4GC69-7H,O'CZ: JTO@R M#!2U8ID$PAP/\ND@W&+0],5]'92L-U'+ZBW5K%]>99>50A,V_DYI6U7'@K8T MN\Z#_ [/C1;)4B,*$B:H9V&\RX:Z'Q?E(N5U4H0[>).H\DKB1T=Q;U5>1D4GUE4Z\=A8E^N MBTKMJ2:XO#HN8-BTA;@OJW4,\_TEN_S^39KGK?TVJM]Q;&\O&/[M;O6^E^- M8]5%PYN(_0$1%K;+53WS,ORRYKJ@6Z_..ZKORXW 0K_&,P7ZZBPE"1X*,W#- ] MF7\*U#Y;$5KQDGG,.^2I.HI M+]'ECE^_K2).A3'+'T2"C8L!45:)L[+^<1D8.5MHTDNJONO)'3]L?GU_;$LR MJ7>\^!I4X,H "S\+ZQ7UBGB/:7;OEK>UL%WJ@L$2_+@<=_6X2=S3Q44?B\@M MQ==BV@_0,^C:#E9P?,>79; [OBU-QL6:]>^2$VI-8C)^^_"+7J#\_G56<54L M78CR/ ^WBB&!<5W,%WXYGRVA.&YN6+1 VF'%ECB\&2W=$TGQB\?&$WCV4PTZ M%>TT^[\ZE_BXB&2CM2]K@*FY-_+JCTN*7>S4]O&?G>@&2T.O*%>8.9KEPWK' MZX\"^(\CI-X4M4C^MN3'J\DHZ.:5]3H-UFIX7I;/[N_4363$RJR,2N^O6?YF ME9-C"?)5Y-O)EW'XC&EY6^'T3F4EY-Q_C'(AWX@_VB*A_LLX>&W MK/_FP8CBCY:T?I/_3^2<)KX6;A>YK$*8I8@9#:^*)Y?B]>/8EZ_>NE:O.?US MQ+V;J*%M][ WOV6#-PN K.W^S_EH?G=Y.;^YO_ZW^;?&B17'%WXU'$3G5/V[ M3_,\;D?1.#*7$PG68#ZJ)$%0 <+WWY'$T?5P?QR;KM'Z+1_?R:867LU4B;E<'X&2Z.F0AB:3XM:G(;5M?=V49A3-?YYXB2 M8<2!G,:U0165C@571-D9X6[V-%,$T?I_(A\'J+V;0<.U'R?AAM& NRD>8/4* M1#0WS,N:A2K-+,QMH99V2RJ>C[\'1?=G&96:Z:!\H-)4UL<#G>8QBV6AF:[^ M=.&)B[O]:P9K8JCIXTXC'@\C&3Y\P&\9>E,QS@-^6G4A-]L=_OU87$VFQ?>G M&K2>>;ERUVB=C",112SK%^'%X+=JMKA^]G)L"YVY/RDKBR;VD7C(MY7*MG9U M'2 (/YE6PPA?UI]6QM""*".E?ZGLP:A65A3^L8B29OF@X2H-7^?U==4EM:Z^ M"#Q4H8BZ0JCBI.C67T'7E5T)8^T6B394TQ#8 @>?A-RK>044E6OLCCJBIRD2 M5_0=5Y;=R@[]K_+>1GR<3*>UT [,6]PWJNX\N$__H#;JB_IUU*UB6+XH'Q&4 M]=Y6^QJE;%YYC^N;1?18<$,UW8:P[]%\3&VL%+RPAOETH?A_N1X&\%R,8M5% M]OMD/ C<>18']#$?_S,[OXJ1F$'V(0[U]>]G^OS#F^QV%#DA0[\$T1CF. A8 M.QV6_PQ8'*3ZCS@3]Z0>_N5!"/1_K\6+.Y1L(W\^V:8+.3//1YTW"&6W$KQ^ M+OJ\$[EY7ZQ7>L@X_FV :3:I(/T>!-WY!0;5H>3A@=,\#O1M''20E^5PP= / M]9++6C1.9\-_/6+MWZE-P9[LUWGTV<*U<_\)]P<;1>0RR#8M5F][!UB35?U@ M!7_S_M*_?D^N-U=4%L!@WF]DX>I*-(^^>]+J+3?A[ON?K.8$00 A]]@Z27"L M'9/(*B.8959C@)7>*B<(HIV(MZ?RA-"V>4+OBB\K^4'38+W,%VI.J<8#4P>; MSL:KURPS";Z?1<2T9TIK:S"C%#N!F/<8E &R0%,6& %4)1BAP5BH3_*2H0PB(@ MG51\95$TE8^0QADPSJKZ[*,\^9VU1BB_9_3FM9U ]DU'U M#"IO,*2-P/WY[7YI#?1[<:U' D)E]L?MH%*FU,4?;V*PD+V%N)>]\G9G\/R#F?WF5 F%K?BJWIBO)5MU3Q,*/EA.I*7+.9@14.K%^Y:SH*2'#-*KB*51S6^6I+& M<%C^,HB]X.?,6'E8L?#WYXMV#[UF6A^GDSSFEBWD:%V04>61+)^8 MW82=O_/LQ#49%)^+4VQ_1)=.6\'DR_CA>=MN4Q?AF'UP[V6F7^UIR/\^?_9>_/FMI$L7_2K M(#2W[U1%4-6Y+_:=BU5V3UDU<_NO"9J$+4Y1I(:@RJ7Y].\D0!*@ M-E(4*($DW%TV%Q#(Y9S?6?,<4,7RPN'V]<[P1I/5+B[B5A6-PH:%Z&*\^3(N MQ%&T]&"PI3/EV\VH#"C#'>KL%'U98(H-"J]5P0EENMHRB>%+]FTT*5R2A560 M+!/-$LS+C(0R&:10IT97JY_%L$"QXC%2LW[+:G\6NU&EXI6\/5SQ'Y!_>3X3 M!G=>#K.6)E6NV,+9D"U.R2^2F0HWT&KH2^M\-,OG-<18K"",L[1;U]>IMC!E MDN/B+L,%YQ345-ZL5\\F&^7+C!+@^)AM4>PB[,8XFR]I>Q3?%29\I?V6JU'G M@@A@X]'_K'XT*?R+XSLD463=W=;RIDH]?/'PN/_5#\N0;+EEM8Q*F-\OU016 MT<02%];(9>GNC/[LPCTYCG.) >?I6O;C/^>/IT^N/[A-DN;%(AY.@K:C],)8#+>2&-_PZ2>'1SE9@U8VN2_'T1 !DF M#A"FN$,:P:C**FZGK(XKL86L+A"XD'NUYLP%RBUG>Q=ZRU\4-#A9FJ91=$4W M:&G(EHD*"\:K^79+]WW!L_W;XMX+"W$42VQ6'OK^+ YZ7@RAY/8?%C_M)47" MS'6Y5S\N3-!'A S VFR>398CJ'9U 3M%#L4B0O7H;"\S6)KZ0W]*/L? 1,S\ M&8^7N:K5 "K)EBU_L0B;5$NU\.?=G^?]^2SRQI=W[4_JZ;ZU7) '1[ST>[XO M87/Q;F5OY \-["I&6D TPE"2W];4G:CI])9SJH"DC%5/GUC"6D+[[(%E6#YQ ML0(?OBZT@H=N5[@78I@*U@/&%$.,<%DV["U".X50KX4K"O6F[D.]F53/7VWH M4T141+F*/,4B)!;[1#U&3T#LCZQ.$?^,4+[(88SJ0IEZ7V8_7O5GOX,6<0WV M6"$M)W?#8]5J/JECK,]A#0A@%B]3,]:TC+LB?*5O+.X:,"18S*(%F2S6E#+V,;Y^MKU0;NSQ/T5OJ^H]^7R/$4>U@ M1Y$;7ARG6#M)T?^RS():,/-H\N!I#U@IWX\9Y:N#':/:L9>ZSE)=,%F>6:WT MPJWTC()@FM8SVB0C7ZQEJ/-(P6;5?9Q= ]H*6Q<\4UY3".EE_#(^[([F7D9.JZCH\\=595"] MY,$QA[(TL6/8N0S!KO3^\VA*YXO=C[9,D5X<,[/N*Q /FAQ(=F'3-95S'EI?E=A")J)\.*(,3=L93I MLO'&JSLM@A)1L-W,(MOT8HK'8NIY'4^KBQ=QA2JL_> P5P&594IE?/W XMUU MM-Q]_,+3L!9_60PDOSOCC8-:B(X(Y7PNS M)<^G@+3Q>2NJ74XH&Z\=IJH3Q](T73^ZM))RRR#5,@EKZSG41UL[C5*?(MCE MDZC:Y^N/*A(V5L<:MIS:TYK:?15GH22M@"Q^]G44*YELIZ!LY5NIW[!7#CU; ME]0K,;V5]"U@>+_2=^NX6COBYA@U5J4".:L-5P9K1SE)F56<4Q*IS5D]@@S= @4L(5I0JE0C+EF!LMIQ&?J*WLH!FLFP-KSEH#Y-5D,H1G 1'2Q/4F40P3N1>N>U MY$X)*SW1*9/.!F7,.E5:B9D20)PL<(>T"L9S096A.#"+V+WR%6]M]T1=HDK2 M+R-:>5&9!"Y:*%UW(YAWC]S5[?M8RJ"V^_6# M.X+:H2MZHF_0$?89'?#N:9+-U,'\MYLIF$CE OT=1&"6EZ]'DT?1:/^#,J4Q M^4OAGW_\&/O^!Q)-UP_%*6$@A[=!/ MX?%^0\K\]"4Z&Z.F\(:#^#"YOJG8@W3L<8KL4;@P?IM,*X*,'RQ(XY#^+,B8 M[M:H%_:H+5UZ=Z[]$(7=NY<2^[W^W^*>_^=O"_/DO54IC_93K) M;I:;'2\ZV'?D6!\2 GE M&%O+%1&8"$<4L4C>:VQ<;'IIUP=@S]S,77\VB\EVA1?]@189NM;=:.5MM[>K ME__/*)OU9X/+VT)K6FMSM+JF5 *+"W#9V.BA6]:B+&%69#H.;A^^7ST>LW+M M-]:G#HL>4DVVE7^SIALG8'1UN-0>7!)55$Q1:AEQB#+K."?!4L]3&QB#U]CH M>[TLWQR72 MQZ7^RV738SR\C!RB"R?L.DSI,ZC"IVH(%4QP.\3?J/FJK87$Q M*V#P-ODR&H\?,2=6IB1Y35.RO13YZ#1;B]-':^,?+75NH\,)S%8Z7!J,3%,L M-),IU]0:)0,%O4YQGC+OY5T=SBS/KX?I[#/H,]51T7ARM'9P]."5N>KB9:)4 M5>)B[6:_?5Z"837]QNQ4*D@/"=UDT\D.A3H4ZF1DP^K<86AMRZY86?)E"@;X M"TGRN"BOM?!W2BC71I+:2J62=*52!6J$#,A28S GC!LBK&"F<)$YP^^YQ3J5 MZIY*M<(I"S"U!ZV*<-XC2':NM@X].H%TF@ZL(@'J/$XB&]9JD'1:^F%JZ9T- M>6S4N8W:)2E9J5T(HS2U#/XFH&IAI#!Q##YR O& N.K4KHUJ5X&)MH#$/2A= MF(D>U:1S974P=$ P=$Q"\IA<69\C=6>QKE+GRFJ-Y= 9H^TFJ:UT*EUEGE+/ MK$+.,&05EW %TE*J(+C5S"/$.YUJHTZUPJGU%6C.E45Z%*'.D]6!1R>/3M23 M]2TB6"-J4*>9MQ3[.KOQT*AS&U5+\2J9WDEEE$NE%(ARFE*#>2JI4\(0PED7 M-7Q"U1I\F_SYGR4*QGAA<[H5[VG$.W]5ASL'A#O')!6/R5_U"Z#18'1=M-7M M_%4ML0\ZD[/=)+6-$@7_5MGLFCEKD-52!2X1MFG*!5+4.*R"]Z13HC;ZJU8X MU:PJQ7J*=5ZJ#C(Z*72B7BH/"#J]&@V2RVQ8-O;ZWI\-5]TS.L_5@>KHG05Y M;-2YE=(E5%6>!M0MEVI*@Q?<&&]HZJP3/E K$6/WCA""KA7C8:[HO3>X=0L$ M*)*/'F@M*&:JD65FN<\=+:GT? >L<^OVXO MCV=^)[.7G37<6<,'JRITBNRQ4>BB!4@$_9 M7?W;WN2C29;G;GKU930I@+\2"*XN#U8:^?[5;]I^]1OW,*?'D-%3J#)_+1KQ M+C]_+HT^<.<[#<1K4WNSAM! X?"CVP*DY?L\N7JD.4S1['N674]G\WOMGK_T M<_CLYGHZ*9I(#_OPS.4MKF-KTT@RP)Z+=I[+WM*C2=(O^XV6U^:]HMUT?%#L MK9C!C[)D,(:K1U]'\:%YLFC#^5.ROK!M7,AA]F5>JR%43.V>2V_+5;V:#K/Q M^7 &:S4IOBV@IUC![Y>CP672'X^3?+3J4@E?%,WWXMVKMGP); )\&_MV WK! MO6! L^E5\?%T-IM^*:JK#9,OM_4?+?9QV)_WBVW,;[[D M/L]F5[&_=_R@V-]XVZ6N?+OMSI*?DN27_J3_K0"H9!0;CN?7$6_C4.+C,]@R M0)]1[& >GUUK.EX\/-_/&(T&YY?]V?SVX*VBSO 6@&5P]@#C/#.QA<_R9?7P'*.)G/X+\[LVPW< MM" &H(7D^VA^N5SMJ_[O,)A>\F4V+5\,,T#?V9)#)OWQ;0X3FT^3;_VXHC"; M$I6C'(P$L[@-*!5Q(>'WHUG9X1Z&,\LFP\6=IL6/\VO ;Z"<8I-A%D#.M\E- MGI4CK]\:'A@183 '$9+/GW)3/^V&,D2QOI1/(U@4(L1@"( MPCN.H" ,&-\5H'I!=5_ZD]_SGUJ+4$ +PV0RG0,! MM':BK) -:K/SF?9U>Q MRN+L-AG!U:-9P8>/L];P9K9DQ?DEK.8YR ]88=B.Y?R?.= )K,Z./UT\^QJP M;3K,$Z!R((8=[_4YNYX72E&I0Q/=2Z)"M^/="L)O9B04%2-1.]ZMO60)O#[8 MPN>RI<0$[/ZRD#WG_6$<+WQS#<(DWKRX.E]*J_5'97\"&,:+ >I 4 (+P!WS M N7ORU?@F'DQH,A.-9DY*A6A!79L)_HH ,[_![@+W]Q<79<2Z"8OX:QDOH7H MRR(D#\8WPZP^RX(A\[S4U0J4BY(3IA(G$@C4>7T^DP3KP_N!QE?\1I M#4#Q!GD$EX-R 8L(VP4/ BUPB<75 N<5$&RU5=^S.-?^> !R+BYIN8[#45Z@ MC'ONWB_INFO6X9I:1G^XR*]%_59&FFUC)R%O3;\-%E9:[8/"U;O MMUS8B/#U%* 9UC^.YP(>9\?3P>]GA5DQ48@JA#1B]@RHB M?)V.Q]/OA5PJV!$8"E@1+LI+]30:'9%EHLXR7T.@E<*:K$AK'6)*$EYP[!(& MEO>)LFM-"+5*!OU0 GH9\ _^8_O&A$$]SJ*+W>M=K\U!Q):_GXTB>9@\;[^ MP$E4-<=KC\2H]"B5>SG(QN/%M_]RALZ*]S"1P?+] PMR,;J"G?^8?4]^G5[U M[WG6@#2^C2;E\/HW\^GR@])15WSR?32<7\+5L!B+%NX#(+'^=9Z]6[YX?]SL\4!)^0C%__+^[)YO9/'X)[ZB6_UL.X,?Z5JI_8R?F#28]SME1YV-L MC:@' 9RATG-*FZDP_L%^^-N_CQ[5^(\VO/3#)LP157L/*BUCUE(D'.&""NN] MMP)>4>RE]OHNYM04_!4OFM62GSUF,*P8>!F?,H/_OAGEHSB\JNH-[-:_PUV MK_,/D\%/C^/$H4-/M,CALPT1*<%$@QATGRE?0K#-\.V/+T&FP];U'H4L=SGJ MSZ;[0JV%%;"8.;[^,RD\!,D_H>+/8:6@;:=AJ5I_2"]315P@2"..N;:$:>>M M]5QB$>2]:/I>T:[\F/>4NL4:K4NV*XEWRM@>K-B5 M+RBYZP;:>4LI;.EP>A.=*LL];12=FEB&XNWWTC7T93H>[FK?;COQ-T/A!R:Z M%2S36J$C300HFX02L'PY1Z" 8HFE0XPXXREV;V7X=FE0S6+Q _3;Y4GM+Z90 MW'$8XT4%];\#B9?-XCC@3A^GD_,J)F[*F/@J*OA++890**K_7B:J3))^$G\Y M6Q)>4C!2NT*SZU-;A/OSFYAL5*3&7 .EWO:2ZW&,A\:0'/#;Z+J,T'V;3H?? M1^/Q,M-FWI]\*S)XE@DY1?0.KI^M JV/Q%NFD_%M\OTRF\0TA5I&PGB:YV5Z MT&#Z;0+#'JYGCCR0Y%#[]>"RR-F8965>M^,&M#$+-ZNGX>7Y678WQGL,7?E[,J6O8M._\RR_J_G_>_PG#>]?/Z3F MPJ=)^/#1?'0?S,_)YPOXX!?_\>)S\L-O'\UOZ0?X_L?DH2U]@N8VXOE^)I:P M=\ENB0D?)G]DI;&>?RAZEIC)T -\SV^K@I&YZ^>7\'G\)WX'^!T__6T"M#R. M W?_;IX^;>8 /GS-&:L/)FHP*5WH+NFWE/"*=;6I%H'ZBW%H +5TM44$'# MA\$P:1!'@BGBC>FJD27R[LH8Z>3.+]/7^,2W-ERV.C:$EQ$W?#) M7?8(2T.8#\I[#F,T1 I&G6*$((&(J>TR)H($"GN-4LO3U%EMM5$AQ2;U&"R= M%Z6CO%AE*HEB$(DBNTL4HVI%5BE/PV4*6I6PLG.2QD&G8#247Z$VYE>([1(E M[GTE=OO9/A_VIMZNMM:YV>2TW+/G[YY>LH.*^(#PWJ"WG^C!Q1.@A;-_768O M+>RDQU.8&JV0U%*7>)2O1YV]U92[N[7I7,]W<>% M4A:G7CC0]+T).DWOV2Z1:!YV2C?AZ$6\)TA7<^98:\Z\'JXLI%6A;=\354>6 M,KK;7%\GVZ'$FUH/-JZ8YX[*8(WB5#O-7>I2G5JJF?'2;(DWZM]8(WC#>H*_ M2ONQ5R'(4RZ[^\LC)^V/+J%R5Z$O>"7T'<5I8%@BIKE7P@I'-#>IXSJZC<1= M)BS6]I=B:0.0=F[FKC^;W<*TGPA2-\&?HH<4/H8"&*=D21X>2VW)0;6QA*/98IUU(;@:EPR&GBE+7V7A>LYW-0,Q*.]CB7Q\! )U&RN B 1/?V7:=W MH_FU#R2\-&ITO*$^NJ-LY*CB;,01EXQ2C[7BABM@;>X<49@(PW' #RFH]^-T MKR8A">Y)U*2(W)U6VJGBGK*]W0'$;I*>D]I9),28LY83GPJ.,3+:!<&)]LQC M)\B][/Q=\: IBU;U""8='IR"R7LQ*[+\;I,OH_&X,W27S,LJY@TJ6"PI%J"? M<^E3Q957.DA!$08>YKLVJRTKR=\]:W,O.WM#']C?/B]WL+IS% M6RO"3TE2MX]-M^1*059N%0MX M4Z[4JL=D9Y$?2(B\.()P'N>0#6N5%T^GH\*N,EA5W"X9,T*#UDR"X388K6CJ M*+$(2&O%\BE)W_8QZI9\R:J\*6(]T4H&;A#B OA3.Q&$I3C%%(SF>]4(7E?( M[ILO,94])8\B$^04S.;/$0EBQ\U&Y.P!*<^["F!1,;KU-"B)F) @;>/Y/8&- M) P[)%*IM'Q; ;S:V7CSQMA;]"CJLKX[*_EP&'U+OI95.:%@!#&<2NR8XAPY M;:F* ET['EW?]&T%^'[X6O5PL[DIK>/K(S*.?X'MCBUYQIUQO,;#NN)A*V+O M3>95,)H'Z0VQ6 6KF<)""[6'P-5S9/-J Z,2WISN37N<'D43PLXD;C-[;L>- M$E>5Z;%(@3EQR@7SW"AFL#58RZ ,R%JD_=M*U#UQ(^LQW61Z5\LEYZ$G=)>D M5"]7TF5J[E5<2UH!A <5&VM A0 :ML%PA15$,NPYP2ZX>V7D&Q'7350>UJ2' M9)?$V9G3'50TJ#IP62U)KY@GFFAN*E54D\( IEM)XNY^0=1/2G\@>9:I# MAE,PR+OT[@?96%9LK(6VB#H6O$ &2Q6XLI9@0[F0 GZP*QM_G$X&[<_P)EST M!&ZR>D%KY?DIB>WV<>J6C*E%+5IM#=.:>D,<%81YADC!F'"1)/K>H:E&&+,U M2=Z4]*1H,I[5\XHT5)QA[$!,>X" MDAXI[Q79^0A'8^)\_VQ.>EP<]T&.([*<]W-LJWVI6S*FK&KT22M0_!^2 MR'$2O#;"8ZFT35/JM-S91=V8S-TS8]*>H%W"]X'8T%W"]S,EL*X8'1&44NN0 M,%1RH;'5L3PG(9H*(3E&;RZ!UW)#]Z)<]U"7_MV9T ?$]MMQN<:U)M\48\:T M4FEP4==62 5L$6?LSNG?C8GS?7.YZ-%&%>WV,?DQ&=#?8J_?+A%\C9MI MQ:S3OE/8VZ4/.1 M2=SV\>:6K,BK$G\&F=022R23EMM4*>92PL%$#BE8T'O* =E&L.Z3%4EG&1^( M9=SLJ:I-3=@.2(7>50K+BO65)TRXE%L?-)<@A:GWJ2'$4Q^,Q?MQD;7@1!;N MT69K#NU*5:T5XIT]?93VM*ZJ"G*-@E*6(N0H]T9928(B6E/CJ?1XY\-?C=G3 M>^)]Q5ZE757+=8+#./T%M'0^>/T38.UC[QUE/4:X8GCD26 ^."R#Y-P$PQQ+ MA1?4I"J5_)Z;_.?IY-M%-KNJ]4[?VX$M'OO(L5?MPM%:T7M2$G8?K-CZ@U08 MU?K'6NNE ]HW%'/N58AG+%/E+4L1,2+O,;G1PU,W:GEQVC#!@DPYXIC3%,P-8J1 ,83G#6.K!G_1 MRU?T_+G3\.?SY70VCT!G)L/75$4T5CV&FVS[L3LAM%9'Z6#N\&'NY%!M6Q"K MY1"Z@ GQ"B-B%??::\F)H)HSI8*Q+FT>Q)I1W*26/:Y?5W%K'8@52MM?Y]%G MM?S\N?3RP)W+%?UX7I=3$!/WE?6VN_W63ST=?;QL@X?M# M>NTAK!^KCR2?DF\1S2>1 M^M\G_8=/&3QU1R"M<7^>S6!*_U/>^7H*QF:\=)8-,N [V&UX.TO&T_XD3[Z/ MYI?)8)8-1_,DFUSV)X.L?/9@_=#B=K, ZK\$NK\"_AT-BCZSP(-%UN9@>@6+ M"%>_!Y-E+95S[GU;[/+^&:^'7P_C$ M;'8]&^5PT?RR/T\N^W]D]4OCQH, ^"DQXW%]/OU9!G.<3*]&$YC.,!E-2M)) MX][/\I_6J7^-']?Q-"V5PG]XG-UD9T^S>%VN1D?NR_D;>/4K MK/7T.]PV*? SR6^NKOHSN"@O6-D5Y'[[O_])$2S?PY8M5_$<*.<\AW6L^VN! MT2/U+/?MN:G1V?6\_3J_Z]Y3D[Z/A_/*=UC\IQ)%0A B8D^)_6O\^S= M\L7[NX+Z;.4 67GWL#A[W#]2/I&QO[P_NZ=BE-_A)[XBN_ULMZ^:O^-A/6QK M[]816'W]\DYUH!NJB)N6[EY+(R?K,CWCBW>YWN]_M_FE.O"V[_RHI,\^(D!Q;%NHV M980;5X1;&/H]E N157#(9.RU*?6(HD#IS1HZY#&D@B&, I5%LIC6>[KN>TK M[TETG-A^/GHD#:6!*JJK2ZIP\<7M=;9^XGP97:Z%E)L[(X-XC_ F\V!:F\UR M!+*HPY\6X0^I.J@P&D^T2QF8L=Q@H[7WEK-4&RNU11M/V=S!G\'@YNHF!L"' MA;NF\M1$OYW-8MCVHO_G\8(2P4?1NJD#I Z0F@2D'S8A$I.URO*IPDQ900SB ME#"E$$.$,B:"2!':6%E^6T2*;N,30*1& >D^#[\]8_S8X5>'7V^L4(E*H9+( MIEQ)Y RG7+B@@\5(2ZR]B^>8P_;'EH\8D\!T8\=ANIU$D\O]5-L^NNH%8$A5 MI4N80 X[+'0@CJ-4Q'XY-#BGB0%!Z1XAQUU)L M+G"1 M@"%3 03WWCO),,*8.\*,9!3L&\U3[#R1LHV>ES:C!N6-'B?J(*.#C%;X1ABI M:C$@[ A@0XHHPMQ@:VGJG?#$XE1QEVZL)/X6OI$V8\:K(,:Q.$TZ@#E,@-F$ M+ZS22:@DQG!+BVBTE=P:IYQ+!>:!*T4W&BV-.2_:#!I@GG!YW.;),67'--O] M\W#97%1L;KV.)@?!5,00BS32&*FH3R6\X_:M?1-/]OI[>_87/:V/HO?O"41) M3H"O564> #NC6)+-<.^X2K%6/E9/9=13G.)T8[/>MW IM)O9">GR.3I.;XDG M@*.J0H/&GE"G4V48YMQJ8'4:O"14D!2T^.>*\%?Q!+2;U6F7)]'A0BMQ81,L MU!R$6")ND+':&L2Y1LI+KX-)/9*4T^?T%#UJ7E>R1U"3SK^66^H'GG]PLLU' MMT4 5B$ 49I:ZP060O/42L !;)7$*:%,*;,Q_VC/MOV330C?'!=$CZCC]NQU M3O[31 A1F0X&D($2YX((*9>:&<<,Y5X+G&IGK&JCEZ#=L-%L->8.,SK,: 5F MR.J8JK**&&PPI3+E3'(C+)8JR""U\I@WYEELTMW0,LSXGVPV'?;SRTAOBF#R MOL.,#C..#C-TA1G<1L]#2B0QGE,+M@C#3FN!I+2(RF>T4#XN(+C?-ATU&4YL M'Q8<4S9!L]U>#Y;/!:[X/( RP%,KE/2&>Q-4=#MR+B4CRC&\L3_SGCT.#[5I M?'.FISU.NV;K1R;.#Y>;:75^$1EAE*6"IE1SZI1)2[W^U^BW>_JW:]PQRWJ79] M_#J\K 7GJ>96I-)8Q0T7 1EL.'.Q[! 3F-FW3OG;K1!9[%C\GP^T)&[.?.>\ MQQ@^!NV^L\J/@:.UJK7UEMH;J2E&C!N#3&J-Y7"M\(BDXKE5X5M;VM- MGOTK^$+VF.A.X!R]Z_8$\4'*&CX@3+G#4ABOM:-8.U?@@T?(.B?:Z!)H+VAP MU0%&!QB'!Q@;W0M:5.=\O52&<4JTMFE*"%->1,3@6!/#1"O="RU&C%&&I9HYNK$7^]J6&7L4TT5H= MM:9Q3*D%^^ES=+C<3BMN9\C@0'@:@@W<P,]HX9TC@J?6:(:>(Y$RFPJ2RE66 VLKFL+ = MCW<\W@X?@):\8G(0STQ2+V(Y4,R852AH8XVPGCKBGWLVO\T-@_;/Y$WR^+$8 M^ATDM $2-B%"S2OHF7.4(!^D]]QI^,H;::WAE'&W17OUMV[Q\QHJN\)'H;*? M1(Y!5QOX2=X'IJR,>(F](8HJ"[H_%]H:B@,U\>R_- 2N/-3:P*\@^GM:=.U% M.X_^\<$#K50#C1"H M*DF'.NB5&:*:L"@"@/O'3-8DZ<..KSH M\*(5W@6">.5=P-@QZAP+)-7U09QZK06QA@7'./;>$=G^ L*OD&'00UWUX,-) M,/B630:W)UTZF*":,U)J0P5P=>HEYH'%XT[2:9Y*#SJ%>':*8E,.B8)MR[W: MLAK9_KV2/4V[IL-')KX/EH&4O4Z]4,>'O>?\"6.&XM8;.[X7B\A$]OS70VS&;+ MT=/K/Y/A] 9H//DG5/S9:0$6-XU78+AC/AV/AJL;[M7'4KS]GA4+_V4Z'L(- M_M<^5Z7Q16@$#!]8A>W0L58"DJ0:E"BE;6H-E\YIQXVQ.B4L>&O=1G3B]"X-VT-9!V\[05JM>21GCRA%C/1;<6'5ANIQK26E$"*P@E!/N@ M6.#!&\.=B_&#HO\)?;E/L!'[5O0D;O0\[V%J?(4/[Z_SN/K+SY_K,G[@SN6J M?KRY@L$,RO=Q(T>3FWZYS,5EY0^+EP]/?I#!YL_N+,YX-,G.+TL*Q03]I38B M_3R"+R^/AS37!E_\?3E;WN&Z_RT[_P+R^??S_E<8SKO^^'O_-H?G_/5RMIC) M4\.[/Y_F6=1]^MM'_W\3]^G7OW_ZU5Q\^/0Q69_46P_PXZ<+_SFY^ 1#_/CY MT\\?4G/ATR1\^&@^N@_FY^3S!7SPB_]X\3GYX;>/YK?T WS_8_+0SMPEG3NT M50#3!4SI7V?!FG'WZNJ[!?9K4(@H7D;GBB.QX.OC][($!*IQ2B57L#*6Y M2K4JRB]K)U-.&1'L'%4'M)U+C4J=49YPC(224F ?B\*!_1TP.4LR ,#KR$>S MFVP#Y]1%44SWJU'"?]WD\]'7VY='E"XN,P#B,>@L\*2D )HDO[FZZL_@HCR9 MP]=N>@7WO"TBIO)]GGR+*C%@_')%DS&\AVO[DV'RM3^:)7_TQS?P'O ]Z2]E MQSF\.\\!^I-1M?3P&GYU]U;)]30?%;32SY/IUQ65/7-FG[/K>1$L*C4HHGM) M))0=[Y;\ &.=7TYO%.% S(0+FI/A?EN)R *33O\ZS=\L7[^\*Q[-5#*H*R;*SQT-4Y1.) M_LO[LWNBO?P./_[5;K_:[:ON6Q+E>_+WI00!D^7=:?H&5ALL7W-_[Y#M3AK_H[,Z.=[T:ZO]CH!(^%O -[PD&[;CW[;+Z;S M_KA#]L+]^9;SW-/V!K#^R^G_>W0!G#A#'^<>5ZKVHRZ05U :"H]31U]'2%\= MAAS_'G<8TM%7AR''M<>[Q<]/$F :K0.R;QMHU[@B;$!^,[M-OHS&X]="V;V? MP7IDLCLE(FW:WK8?,Y2BUOF<>V>]IC0-FAL76/#<$AP453@FH6^?4N3*7('I MS9VDRZ5'/[H++R[[DXOOV?B/K/0A1;@O@/Z%9Q1_^[RDVKLEAYLX;XA43XFN M1<&Q'CCNP*S58+8IF5RJJBR3P9AA[#&6J:%"6F)0*-",IVFJW#.*L&V+9IB4 M2%9+/(^7M1G/=*.G#[OF"1WR=6H-T>^.KJVZ=9K/.0S=JIQG4E8SH*VQ+ V*W =DG5(UB'9 2 9JXJ!NA!XD-Q@JA'SQDNN M7(%D*5-8F08ULG9J7YT3K0.N#KC: ER;G&A*5,C%E,/:&\L<4XQX+[$3!7(% M$:A'C16@:;) :>

S6'V2Y-!EL:ZG33V?5T!J1YVFT&E:H=@Y5**^:DD51R M))FV3-A46^$E#5QN;&S0CGC@:F-CS=(]( *A/=*H,M-:G>4(5),C8."-XEOK M%0=K++BG1C))-5@@5O-4">V))U(@1OBAQ,#VS<.XR4I-AR*\.W8_!';?P.T: M5]P>B L^(*--BKC 7K%@T]1Q>.U8H_D[^PS\[%U>HX:+$G7RNF/@%\AK32L. M%@S3%%1MY+CAF@C#@K*I$,PYF2IZ,"&/??,P%9V\[MB]E>R^B=MYQ>V4H#1( M[$B0G*=::@LV-E->.@TF-]7M"POLFZ\9[6G9)&]WLKECUI?(9EFUF= R128- MAB$PHQ'#RB@?!-&!8RV,]&UTA>^;7WF3>O2AR.%3./AC\CR;G\%T M7;K6 8(B5+G+%0F(4,DQ"'6.)5;1Z*8B!*\!*N0>G&W[<)<7.V^+C=^'HPWW M,&NT!T07^3]$E> D6"#KD!1S1-G&7=6&TQ-*CDAW"A$!!>8..QX$/)0_.Y[ M!@/>Q=([W#AVW-@$&[3NP$\U<2KFVCC.>; ZL!"$1<2J($6#1];VZ<#?+VBH M'M)=ZF '!(<'!!L5B)IKT(#ID")&I:26:VF,= II' RA00AVKT9^6P,!^\6" M5S$D.OVA@XTVZP^R0@UI"9,HY6!^:!Z"TO _1#0CFG/XKX7G#/9L8.@>8:13 M%CJN/SBNWZ@L:%5KFRBMJRRPX+L'>7@;>)+]QS>U''#>!.T&-Y,*F+)72%ASLM,1PY:%$"_;. MPTVJ\H[KZIP=!*D(ZF.I#J2:B5);6=5U'P*E(A4^S1@:E/,J1%& MTZB3<"JXM:C!L[^=!=$Q:\>LS[<@")8K;D5:2(:MX=@K+8/G$I."6[GQC**- MX<*W\ !VUD*7F[Q;;O*W;#*X;<0!>("!@4VH4/,KP&>I5#HHKP4W",0VQ9*0 M((TA%J4-GB;QU/+S1X:*>:MD'K96P'=!P8"[,>IN#?V)UW6<0<51P\5FY"B=K#1 M.J6T880&;+BF2%&3*B\#2K5*<9/52?>1==P<3G25E3O&/W[&K_GXD [4IBRV M_)*@(GA-G+8^U59Z;UB*VYYDW+%^Q_H=ZV_-^K3F,.28:Q#QP.F$\?FSW "4BMJ1 )Q2:@E5@G#-XC_"8L5H:AG19&-N MT6M&!CJ3OT4Q@H,(!?P"I#$87??'IYT.3&M^/TMX"JR.:4H4#S1HQ0T.&I% MXQ'"/90>V$E94VSHS$SF#CB."<"6U .U<>&XQ] M[%8KVNZK[[BVX]H3X5I=J=9,,!HLQ2XEF(/4M0$YG7KIX)6SK$'WV3ZK=33% MLW,WI9;U7DH7 &?"XE,&D0IJ4&L=L2+5K\$AL)X4[*=PQZ)92 MF%>]O0/"EBG/'7&$HX!!=Q:"8HPEYDZJC97NWB)AO9.XK^B"/H$0U=,3G\Z& MV6PY>GK]9S*/L]*W;D MRW0\?+]CU]U-R_62MKR[K4XCV/K \FRG#2E2%0@!DP.>B&XYYA@C1DF1H$!1C'%?@]GK9X5PFD&9EL!L3OIN*UBOM:?P^@@ MN@54TD'TR]5@7N^.B[QB3'#NA.'.$4-3(I5T7CI+M'O;8RY-^!%TTZUU.BVX M@]@.8D\=8C=JP;1*/O0XGAL*C ID>8BG"A5AFC*/G$;6-IA\N%-PM8D.I;(5 M"-LIP1U"=PC=(?162C"O,DVE0\QA*AF1F'-!K9)>8QS[4$MO68,=IE[![ZMT M3ZEVX'&G\79XVN'ID>#I1HU7BIK?%YL@F3.<(6XLM:EEV&EA45#8L8U^WP83 M&9KP(:!VP.EQJK=%UL-?YW'WEY\W@'CE=GV\N0+9,%B;Y7@TRP<]NDR%0PV0Z3V;98/IM IS_NPV&<$O M1K.8 !3G E?D63*:_)'E\_A9_E.2? !0F.=)]@=H./W()KWDJC_I?\N*'P%W MYB.@Q6Q8C&!^>YW%&RWZJ-^6XQK UR,8#OQ\\FWQG#N7C+/)M_EE\=WH*EN[ M(+GLY\F7+(-Q3))^,@9X2*X7JE?YX[@2R]L^\/5B6?XYAQO,XZ#[DV'2_S(: MQYO/I\DET/'Z$^'#[,_K; #@5"PB,/UM?$!<@ZQ7_+Y8S>0JZT]@3E]OQG#O M$FW@L;!J%_7MF&9YL1_%XX?Q[GDV'I?W&>6 9>/1[]FX>.R7#![XWS>C8D&K MZVZKW>DO8?4> ]35-PQN$)$S7CN:)0 P,(G1'QELV;R+.*=+R(-P)*#."MV M-2X1+-\0Y,]RBT$ P?+.X7H@R!UYKI2@_VN#!!4(5ZTNJ13<*>2U5IPK;(FD M/!4*&X:E1<_H?E&(S%\7\_U;7(<[@C(M!>6_7:2/RTJT$I7HZ=1:@7L@6#:) MRVU[Z*@M3>Z>$,!AY8SG15!.=:J>59-1399]Q@FEMZ7\N*&V'M:_I M*4\OOI![6/L>\$I^74+#&!!X"',#1B@0_'*69>=7T>.87(.RJ=KS;'47HL 4Y MJ4QACQQ)K9-(Q/ZSUF@>/"78!>6Q-NDS NS;"O)_-$&<"JO#! 9:99]1K30A M#%FB&0^$@& G.CCAL,5,D6?$W;86Y(VL/4;[ .4GD&$2U?83EN.U6"USVF%C M!9"+Y K4/Q4(Z.76$*2H-+IY.=X(R0@F#I-=6961SW2PB$CD099S$H@-E'FM MG+386X(;9]>FUA[C?=@\;\:NC$ZBP^GO,/M9='[497[I^ZB$ M?@]V^ ']83&JK_$&Q2_NZ J]9)*5GJ[^G[UB\"N=! :?7\(GT1N4S?*B'(M\ MGT1GS/PVZ%'6'):/RY9U%JA6,'?C?IZ/ MOHZRH;V-4#WLX(7X]O/V3@K2/8<2V8< M\AZERG!-A T!*^889O I0.!Y)5PUL2!(&754(PXJMQ9@YWB)@XZE! )8R1EP MSW5T*\]NLK-VN(F^3L?CZ?>"C^):)+ E>4%8D7X>\(!% LR7[L*%:KK8[7R3 M=ZW?'I=O\L,H\M7T)@?"SW]\M[W_[OZJUZY>"PBBY;:- (LFY?OZ[2810,=K M.XU1&0XM]V*0C<>+;PO$C>]AF(/E^P>F>S&Z@NWYF'U/?IU>]>\=3?P^&LXO MX27,8Q$%&<#^]Z_S[-WRQ?N[,8^SU0G,ZNPQ.WO\@&;Y#,K_\O[L7OQG\?S' MOU([_6JWK[IG'>.SMCXR? 0G@U<,23<5KUV+L-Z/>NXYCV, \)?-:G/3SY-7 M^N'8Z?\>S]_CY#;KSTZ\%L1I;C\^)\D_8/,?*>?:[?Y1[SXYI]WNG^SNTW/6 M[?[)[CX[Y]WNG^SN7\2(U<[UZ@^[I^W%+.OG-[/;Y,MH/'XM\M][QY)')KM3 M$O(+SN9I_[^B51S?442XQ)8P&6N0IMHS*2U/K?&<*[FQ77?E_X_I MPPO')[S[C]'\3;L1[C+.N#<\IUCCK,*OMF,6K M[ [AN M"JV ,Y8%R91P6EDF"G7=F&[]-" SP, M]%*J1W6CE<!8UW1Z\E M8"W@*V8>'@Z "=4CN-$C7QU^=?C5X58'RM0*K!7:-_FBS\M5A5X=='78= ';1&G:E6*;(:L -RP-&FDCJ MB&3:@'V9^F<T.S,M M0ZAB6LH9\18'FTK,K31:,6<^$T9Q:9[@,G(64*B2-Q&E[W>;[YEG24Z+)K(6.9SN>?0'/LBI. M[T((&&N/D)+<>&,P<9YC[TEJ;.#/Z+7:J+MX[PS)>:_9VM$M=PP?]FD3D^?9 M_#S.(1O6ZL"\D($;79-V<+:H2V,B&)>4$N8XWW< M>^9^T<.->K@[[N^XOQW<3RKNUX%I"YSNJ',\Y 7? M_&K_UB&BN3/]/;JY1<,A1.*ZX/@1L"E!->GJ./&2*$<#XD188%.-:6I2G%J, M15L]ZOMF6+Q50YN.8SN.?1V.)55O5JZDP=11JYS@J716F("I=R[E7@=KV^L( M;YQI]WEXNV/8CF%?P+"L8MA4<41H#%,'S;'65H%@M89Z#Q\)]Y+(U;Y]UQW' M=AQ[*APKJNYB(F@J/;,@:@5G#!FK%!*<4RM *Q2DO?[FCF$[ACT5AI55;0$O M&!(&JY0JQ0/V2A-,!8O*,1$JJ#?R$>_;2B7D6/Q*)Y'A_2V;#&X;\1 ?7\0' MZ+A*]K#(*<4D4AQSRHE.97!2HY :90QEK7 =1]G_G^66Q@,<+16Q[8OZ=!'= MT^1O7$EKY;"6PE&M)>*",,,THP8)K[SAJ6U;A9&.TSM.[SA]>TZG52TA$A@E MB#A$K.226>V<"V!)>ZQ3JS1KGZ^Z.6:_HZOSGD;=(8V.WX^/WWG%[\A)QI!. M8ST$;ARV1G/E,:/2VRCU6^CJ[J1[Q^T=MV_/[;+6,D\(XY2AEG'&)0*>)T92 M$J1S5G#S NF^+S=YQ^P=LW?,OCVSZUJM!<:I3ZW$5GD>++9.ND XIB)%S#CZ MRB[V3D_O\J[/_O47V.[!Z+H_/NV\:X8KH6PX1S+%1ON4\#08*XW TJ96Z!!8 ME=#9BKSKU?XUR\.TQQL]%-E:N7M*XO5PN9-64A0#5R(O5"J8XQHA:QFFWI(4 M>>29:6O'UJ;XM,LFZ9BTI4S*JRI#F")M,/,&:\H=\4I93(E0R#)+#7I!^M>^ M,ZSW)$]QCQY'(<&.58^!56L]A'%*TM2Y(+%7'!NA5.H,]B;5@BF!5 L=SIU, M[1CU1!A5UWJV!>,$T912A;D*%!1?AX6WC%.G?1M]Q1V?=GQZ&GS*<75LWR'$ MK9-95+O2;%E/<5.)'_Z!"(U3T]\.AMFL^7H MZ?6?R7!Z W2;_!,J_NRT (^NYN)I\:<8'I5/QZ/AZDE[=8H7;[]GQ8Y\F8Z' M[W=L&+MIN5[247:WU6D$$A]8GNTPDNI:5AMGA'%'#5/<2ZX,9\YJ8Q!5OE:% M>)\N]B9.CVC20[+1&D,[$\VK\,MAA[WWH!SL.NT.2CLH?0&4\EKG0J:%TE(R M21#WQJF 52IC7,22X%_23VF7>$@3H4>&>U*P#E0[4.U M0/5UP/5FE,\8(,5 M,X2#J<2=#L9;9B0-6&))2(I?/7[52$%,W6.XT4K7':YVN-KA:H>K3^-J+89! M$2=269F& #JL R4UD)C]:I5!H*V^0;"QB<9A/:V:[&K?P6H'JQVL=K#Z-*P* M7)6@18"@-,6("AJX\]QR@11RAE@L'/?TU4/#C026F.J4U0Y5.U3M4/454956 M546M:ZLT'DVR\\N2HC%!?UEC0 7=LG!54>LZ%2AFC M3L0N51[61!#M,4FY%RYU@9[7RIN%U" 1# W.<,6T31UCFE.CC'>.DI+#8/VS MH9D_^SGX+,F WZXC:?OJY6S-W, M9O#J(M+ITVOF%0H$8RF]Y!I90X0UW CC@:2P%K4U\Q;!M]X*1CE'3IL40(\: MEH94<:/#W4G_GSM4O,N.X;-7)>&UG8K+GX_R>39,IE^3^64&R#D>3[_#\Y(? M1A/X9'J3]R?#_,=WZYOXU(#O#[!V]9IF@6 Z!;"-)D,84O&^?KM)A/'QV@I@ M5.I5!3PE@VP\7GS[+V?HK'@/PQPLWS^P*!>C*YCWQ^Q[\NOTJG\O6>C[:#B_ MA),94^4C!/W+^[-[$F;Q^">^ M$KO];)\/VSHK[ B2OU8[3#<=TU_3"NZ+]SU;& /@IVQ6FYM^'E;HAZ7=Y^QZ M7F1%EFM$="^)F'WB*;LG0 MG_YIF@]K.4USLO#K1(KN_]K\G8&%D\=M'Z@$T M3OU[+_&P5QOZ!29RVZQ@(IB(I48K55M:P:4WH.M14!.II1H4/,TD)I.JH(>6(:AG] MQW3V.]C;Y]>SZ2#+CZ^6T:[B7/":.!=!!FP5=I@KY)7R/E7!4V,U=?9>*^@5 M[\6U_3#Y>[FRKR//X]&R)GFOM5+["(3S 7/5EDRD:EE,3%#K&<&<4TXE5T$* M3@.3EFA+?4-,U(P$HSU&FRS&UW(Y==BF=QA-1OEE-DR^3:HH7(X?MV.7>_*WN"6O9LCB1JOO[4P* MK169QVSHGB*';\G0I"JS(!#C7M'4*RXY\+0A3J56VK&EFY5XQJK&'X8BA)DC7 ?$!>86(^Z)"(%[YP3S MC^(90-C>-!'!>^25C^*V,F^L ZT]@%8;W>P-P% K%"51%0@ _T2]:N&4X\LY7<\QO9N86,\Y15HY((S4,Q G MUE+K+'.6!^*1<([*G7).,=E?TJEX5T+5CJFG/V=YGF6?KK,9+,[DV\]9/\_R M)Q,I%;<:I\Q@K,"$8-IXDW)@#D,-5YZP6B*EQ,X@[6PJ*.$D&$N=E9@)KIF3 M4J,GDT\W/N=>\FDY^(UYIQM2-;=Y[DN&39Z1Z5D03HT!_^LFGX^^WKX<&3]- MDO^W#VLPNTW*%![=*Q(_W?0*;G2;](?3ZY@/:@8#,(TB922?Y_W)L#\;YG#1 ML4[_#ZYR>//X]WGL_XD'Q4_N\KF ME],BW[1X%'S42[Y?C@:723^FGL*CZ\.93Y/^]?7XMO@P7PPD@=OTD^O9-+^. M:_]'EGSIYZ,\^3Z:PUV2P3;/ MDTU 5'Q<(M9=/+F?N+6!;%Z8UQ7/0JP-MOC[2D1K"@_=I[]]]/\W<9]^_?NG7\W%AT\?[^S 6P\P M O;GY.(3#/'CYT\_?TC-A4^3\.&C^>@^F)^3SQ?PP2_^X\7GY(??/IK?T@_P M_8]WR6@YE372:0#76@%,P'@K;;19;8\"RF645_E:J5>IU%CBP!TGJ;&8:$^, M +4/.>;N5=9;%Y*_QH7Y]/6W/#.1V=?5O]*LQ "Q"&^E J*GZY'('B>D![K9 M)C7PF4O6 Y0LSD\L<&L\ZG\9C8NC5\G>=X+7"G.)X*4W4G/#8\30&N-#FDK/ M<(KQ/:5E?2=^7@QZ>19DKUO!>I**O>P$"+4$[G?^ACM259WD7%$GG4AAIAP3 M:Z4C1@>,0)4TR&_@C=6.?)Q.!J^P*9CTA-![V)6H8HSF4>.9%.Z5?M2)[$)9 M^%Q3%NXH4S]M+W=>!55-GESW9_.[:LVZ#E-("IA?U*GBZL'*)]F?U]EP%,GQ MNC_X'72 J#E]R0IM;!25M&G4U^)]XS(5))LG-]>P;)6N5Y(VK%,?U*3\9CQ? M?^QP%.E^#M]%K2G/WR7X1U %03_,9DDQKC^O1[-X-FD&+T=YH8Q&8HJ#+,XN MS?NCR>+9[Q/R8W'WDGL&8[AGI:L""3UZQ^7OXUAI>8]^I?S&7XZ 3&%U8<"S MJ$T.ICD\OKKEVGU^>H;F\2H4<%&M^#^O-JH_RV"O@8=F\,ORPV%4J*^CWR!^ M/P#E.H<)@_Y<8-+WZ6P\_#X:POI.RS7-XU;!;>H["ELRO(E[$VEB6B(#7!GU MYY)6X.(\JP]BN4]902?3)9BL%C-Q,*)JEY.K_NUJXTM2SB,IPKIEDV);07^[ M&DV 76O$T)_71PFK "R=P>3RP2R+MX#'7!1S^1[_FDPWWQGN6%P[F@S&-U'[ M+P[+P3VSY561ZA9,5PXB?E$0S>HCF._-O+!IXHQ+.-D1KC:XO^QJO M78).FXRN@%S^R J;"E8!_@%[*^\E<45GYP"#G/0G"X8]@+5O(7S,IW- OSO,64B(29ZMUG4>JTN=7\$-+DN5)HZW M? N_'$V'>0*DL<1A1KQP'?5>!OJO $G,28ZV5 M>EJI2 M1J,73#S**;7"*;'K$O^CD25F/2WW8SP WBV<8./;$@P?8==!/[^L4+5CVHIT!;*<-8Q2-=W!%D[V7#K5/4WQH0&9>ANC/& M,J4$"\(@;E.D<:">&\9\=%&E&[#QZ65NBGFEW,BG?O"]B%TK+PZ M9-0NOV?C/[*DX-="VQF#&55<7WK4'S+RHL4UGQ9^ZV\3& WB%O7%.%9H4AZQE'"AO#*."!A> M*BE\XM2]\CFO&48_^]=P W/.-BA&T2G1SQ=U)6B_% MW84BF8!\+;YBJZR^^&JT_E M1-JOV54_ O,LJN1?1U'WV;4JTC$?V6D< [K:%*^2+%L:$U+5FBQ3JI$B*36< M(Q.LH-@JZZ23&"SX>\FR3RJB2P-^Q42?OH:"A:*0V5^?EY[@379D/<2S1 =3 MLH(@@DYW3OHC.BI=H$_]J+04SK$@=,J"XZE M-I T%GYF2 =%F7P1^D1/Y!Y+ %'/@E9F[AW9DE1E9 M*3.$*8VHL(!"BBN!+3)I&HQUPE$";UX$/Z,_]MA_MZ=55TKT<'09UNDRQZG+ MU/TR,J5"I,PZ3&)#VG@:"%OGE0Q$*&'6&B<^!TD^C_[<7[_93HLY%"VFR-\O MCA9WNDRGRQ3P(VJ.&4XP R7&,RI3S@W2P6&*@H7_*TH8WPE^"G+;-P;19LO9 M': J&1M;*S)JO26&VGOE1;=% MY_V9E[+'>9.*X8&6ZGN5%J^M.+H8#_G&W+3B>'.6QP.G?\26[*M^EV5.\$.9 MP.61]?)L;__>H8@]EV00HCH]F&KO4N2H!.6'6YYJ&R1B,J1!!>;)MB497L!5 M&XXAB1X6V?"\#^@42S0LJ3V9Q6/J\=S./DE4UNJX2"2, MD(H:JKCF2BO$>+#.@,KN.;N7$K9.HO^QF(9X-W MPYO9;75(]-LL*ZM[E$501N/QHJA.5)-B=@/0RZ_P?7\< MRX),KQH00QO..8J:KQK4H>")3QU%H.A+;A&+52_I)E5HTM\UY4TH=. MEY;'2=MTFO0EU'!G)!2M=WI^YMWN'G*_CPW[-*,DKIE13!+B)6&$"NY2HAU2 MRIH@@9JUO%_C^YG8T-"9:,KV!0[[7>?JK'GP/ @4'$EMM &$48*"O4JUBV5O MQ(:"#AO!H:EUW@L(+]'AWEGS#ARV 8>&3KU/9P\7";F86C (!AD\;;C] 7B$ M K**!BS XG72@N#3//6.6@/A:G?LOBI+'RY;@X3'Y'$^S.S#=^ M9E[KGP0@J^3=R?GNY/QQ!QZ[D_,WD_F)9OYT!^>[@_/'?G!>ZEH[3IDJ+XB4 M##/.%5*"L4 I)88KA\V#\?)M=-G7/3LOY8EG-1U2@G9W2+[],()/OLX=TDE+0<,0Y;5>O.S7?IV17X MT"KB9HU@QL:&2IAP@ZC")J0Q^<-[JZQXL!C05N 3XRN'!#^=)M,=F^\TF1W M1%2:C-=&8Q$#2$QRV'+KX+7F3A)*:% [@TD\,G](6-)BR#@!P=Y-_/4.@3RV MFL=_.N0ECJW#.S:B:FXPA:UTS"MGC.&.,>,"=PI,5DU5C)CNBO)[ W>M&ZU) ML#-EG/!AD@=;*#\:2'ZYXG)_1,,6M6R^6W9A^/R6S8NN]Y1)&S#"3I.4ZX"U M9"D%:\XJ826R+/ZFO[8$3\VKZ_7\?J^]GI^5/+&?F27R7:E")+OEYWR8S/N3 M;R, BZ)[XRG^?>!PW6 5->(L$X"MC4DG!2*@G! M2B"A, \TU2K%F'&:6HS3$.M5+( D&YKYLY^#[^;P5!-*RAG=QZX[24T;VG5O M,80= M.\_K'4%28H4EJ: ><8^9)2CU)A4X%:JB;!R8;DY+X_\_>ES:W;:7I_A64 M9_K>I(IVGWUQZD[563.^-Y',/%KS9T=SLU.JQW"P84-UR>*?8X/F)ZEG)XI8.AK= MA6G8ZT/\/29SG[AE^%0AH+K=RE\FQ:%ND(V_#T=_Y#MB@_W$<]9E*&]L@.?K3=V$4):1 M2ND6P ' P!-$N**4&24YQIA 0RSVSBWU-'GF7%XH?(^;N'^?_OSW9WZN[WY- M_WLX,OUPOE5_]O+Y;ZH;]U.1C/]K5M;2V-PI*CJ '7>;I=9=V/+8L?)8I28+ M4X8HJ)2*+=YBDU^$*<", J,E<,LU69XAHHK67E6<6V9KF:UEMI;9=L%LM%+* M!%N'C5+2$.FHDE0JJ@TPGE$'/'H5LX5#8,-9['^RT? RS:_C[A<(HI^.FL'6 MB']M[/$RUGOJ9]$=-CIXQ7Q1 M,P4@X#FS5&)!B39"13N) \9H"Q%;AW-DI& M6;\L-WO=N]U4ESZ@),]U,<\70EM:HAF@G#@BJ9%:&@<8=@YY[AV2;(]*=NP# M]/MLB4VX:AQ-K@:7GZJK7:.<9D>>1GK*AL 6_@OXRX7()Y!#@WR0]^&$'? N M# 1,2*(D9A2KUYRQMZ^S[Y@06 >"6EO,M(30$D(3"8'!2O\/KQR51%,8",%S MI+%7W'!.E?54.KZW,\".P8\Z%-1Y$&@>^(_)J'X6Z]H.;VZS<;6<;7O&G^(; MLTJ5%V\X\,0[#ZA52$"+/ %"B25UP )C"2%N'E4*OB17>CAU]NS!EZ!A0>@JU('7: MC\T@ICW:YAU!DH=M2=KB0FUQH9VP:"#*1<4!@B277&& $87("RZ=50)014@@ MTYI.*G7P'>AP1-JZ0JV9L27+EBQW2):55FU,!ET3,(8%)A1(HR4G3$J+%$ > M\=>8;5]U6JPCY )U.*XU Z.ESY8^6_ILZ?,%^JS4/H?8*J0$IEYIJ@V1""D4 M]$UH;#BV>US'B;V.ABT=*5M%O*7"VW:H=1S;N4QIKN\;' M/]:37.-F5JI_6FJ)UTZ V%W5I7U-45LXJ; MMRW ]PS?'U/,YC[K[&UY:.M8Y_8>^+*:U4S(A=5,,B6U1LP+;BE66%FGA' $ M .PQ,$M=D-?PT(J_D<;47-EVY:C&.AB.0-ZV#-(8!I%PD7UJ%0CDH3BF#%$J MG 0<"\:Y]HXB*/Q6W)8MI[24WBCVW6@6NP&^\8:E=LHP[< >6JK@ALNBCP**RV!'C-HY,>."RU MQ19JQ2$S4AK5A./&X=6#:UYB:FL7/$FD<[CH'HZ1YA;$K%1!*<)""1*@;R'R M4.HM%:EN/O99A\6*Y #R&)QM(;+1B6K\'H]C7M M':.6=C@\BEJP+6J/ ;5DD>T' />88:T\E=0*)+@4RFL+M8/(,+(W)7GG1=J$ M/(K2ZB=A\=Y*D;:C.PQ#4#6$$6T\D59:A"CR6B"-!7*$84 %4:])Z]V6R?N0 MJK4U[R3<&KQ.$^,5BQ[NH1[7J MW2WJ6]0W O4!]G/4&P8X]CS@G7 J+- $20*45LPS2^C^5/C=(!S26O/8&X?P M-2S<357;[Q>)LUFWK!&'85$C3C2F;L?>RG-LJ1K'UL:\4\K#BXJV7A(C&1#< M T&)Y%KZ<)2!EGMEF:JEH%L@O<,LZ-;(:KEJ8*GZ*)\+^0*6821 M0]13;ZQD&!+L*"<,6LBVTQ.G'N:BH,-@K3UK6N9JF:MEKB8S%\>+G@'(!2:# M4@LI@X:E%-)6H7#2!)A# SS]U^Z01ZY< MSNK9Y"8\3'>V>Z8O[Z^H+0O3_?/"/MP8G[O7V>6DGPVOGMDB?C*>C+*J7'-_ MWF:#/+N(([H(M]']8?>/-\6.C2\_9_VL6.JWDFC)F!,@;"DJ))36$.^EX]J) M&#;T=F$>Q00B KGW0%OJ 5&8$NI1N( 2C(L@C;.PZ6[CRHTFV?VU[/<&V=MY M'2/PEWN(9P'>E<7^[TD^[EW=;8Y:59R39XORRA_/:["7U/^P$/LKK]8)#R_S']T]625B:^N5YK7S[GC@"LX7I#8(<+5]7+S>(S-*_MY80E.*X MP%+2S?K]Z:?_YPUX4[P.C]F=O7YD B]Z-UF>G&7?DT_#FW1)>'_O78ZOPU_# M.*94T@WSD=[FV?O97WYZ2!QOY@:@N0J"__/1FB?6FMU_O([K2 MS_9:.O%ISI6O@Z!\K)Q&_GX1M-8H;*ESYGUDZ2EQXXW)NV2J1 MAV'G-/7*VBK3;'FC+-5>J6.K%#6+)H/QVA;=AM2H6U-T?I=:EM$7<(('#BVL71QNFB2O@> MXX@HR2CBP% 0_NZYD09I20'#2K^JO,TRO9R% 5Y\S_K?LE_#DUYOK\$1ZH13 M>AMF>S#< EM]K0TYFK*17!3& 4IR2A@UVA!*!)($!75'(*")]PJ\RJ^US$91 MM[GX/MPB"0%XW'4OCDO!0:V"",(5I9Q(K 3T0'"&C$&. MU4 IUZ,LVQJIP YK$X@.2+/!K6;3:C93&B(5S89 KH0EUFA-=> BA;GEPE@- M!2.6;DY#?CC9GN5&BN.NZG-C5K=I=9LI$U6L-AA@ MK)D./!282!DN 040,8ZH4A#[#:TV*FZ\K=,1!*=>S^QX]("3'M^1Q54_$O]R M@H'6C\S"2BQ-$&L;2+>!UT\%7L?7<1E[@TE:3G/QM;381KF5$ J!B0% 4.VU MPL@8+["R3'N$28S+3%>)JZUB2]R^IE7KRAW9SB]<(MXGZX62?QP-+R?=\3_2 MT2@=C.]L+^_VA_ED]'R N.<\($I;'TMB,.:TMU !YK'#P@FN*@'B$GBBE0K? MP)2Z,)F.>L,0AHQH!H@HP116(;M4XU??!SZ,+Y\-)#G_$O9J6=1J>>VK&^/! M/EAGM/ 5<>UB2W'MX:"2Q*8%Z> N&<5HVLL\&8?W%B'FW6$^+B(')_VK7C\\ MY-?DMES]Y'LY:[TL3])Q\;/PHRQ^.0^TE7Q)\_#[R6V8G>M>/AZ.(M44U\MC M4/KT@DFWG_9N\G=)=>Z3F_0N"2PX3+YDT^<*E\HG7_+L7Y-L,(Z_7[K?]^ML MD 5*2_+;0(U783>'5X-PL^$HZ?9&WX/P%&FW&V-+DTD> M+U<9YV4Z3L.@_G'=BX\69G3P-?V:A1\E81F#EAZDQ-+=P^NOH_0F3.?@,KX( MSYIG>2?\J-N?Q+V0Q,?^EO7ODIMA$!OA5O&]\.7L6]J/.S&\C/,RNV"8FN$D MC#ZL\' 0YRV?W-[V>]FHO,7XNC>Z?'N;CL)7XVZ.LB-,_6!R%?X2T#P*]QXO M=DC1C83_E,\6/EQ_OF1%1L'55=C[8:&^W,V'=I7V^C%%810V4[A:W%-Q)X;Y M"K/1*9XBST;?>MTLB+Y^&-OH;KI%PJ GHU&X6IBRL %&6;EBZ<-+ATE6@R2] M##_-LZ1['>1N,\/0OO?1++VZ,EY-YE/$&><8= MA8QZQXN2H@I#SRFQCI$*5RL>Q)N01F &*/%,*\TL10P"C@&C=NUDGAHD7\EP MY:;(9TO^V/;]GHVR-B6FII08LK64&%93WLOAFQCKK^#2!KDWUH(H"8(9%HM* M4TC%XE*"&N7K.Q * !"SJB7#DJ494&\$U%=(K MJ)" RE,;%"$.EHJX/@[ ?\SG^D,QU6^>5O$VK[K:P: -BSH0Z>[+PW$LIAS% M^R,:ZPG66/[A!7BB!3PI4-0AKHF3C%)MA7="6& 4((QS#U>#Y\?TKBAGO4U8 MH@[?33GDY3V\R<+6L\U_/&[)>E]'GY>!2!Y6@&B=5:VSZG7.JI+P:*7GBU:. M8*DQ$#Z<"I2T &E(B*!,4JB7HB57/A#4E,?:0;SU437!1V6@X-YB8RSW5!HI M#-12,&PAEAA9W30?E5S71V7#E[^ET5S^89"/1Y-"DJO!Y7]FEU_#]% MU7M%[Y6CF!*$H=3AS(T\DMAB$$[AP%B@D!45BRAA&D+HI<-.42J(=AA1+Z42 M2%F+W+/>JQ?OL^2]6HPTJ0QU4__5*L^QR3!0L]Q?<^=&8+'P%(.D\#X,NG?) MJ)?_$;TBZ=>BN4FX?'1F?+V++H_;<#+N]F[3?O\NT&(>?E=67+H).ROHZ5EY M:!Z.P^^BU^.J-P@*0?Q;Z8**:L$#XW1TY!0^K7"705X29>FM^5)J$WFXT6!X M$ZXT+GT.#QXX'MQ+%T<\M%^-AC?56RR-+OMSZC(I/#3ODL04GXS[=_=\/TE1 MF24OG5Y96/?P!-WD.F I*[QYY?Q$CU)>3%BX4)S"(>< MR[D;*D^^]\;7T5\T&14HC5,RN8VW6K-NUCV).N.2J4"% %/),UPI&$J9L-I1 M ^,!@GHAE?']O_A9]'@55)HLRZA'9%(IS!Z*FN6"0"]0Q>+)UJ@7%.O6/WC8 MXL_KT<)K\S5[^V64I7^\+6)ZWZ?][V'D45)>CZ8C>>[QGBMP5)>L-.<_G[G_ M2LSYIX_GG]3%A_.S9'6?U2X>, KSS\G%>7C$L\_GOWRPZL+9Q'\X4V?F@_HE M^7P1WOC5G5U\3G[X[4S]9C^$SW]\N(UF0[FW=6J096@S688;(,MB2$4_J/23 MJ6OZ9;)/TL#4911$T-)'X=JEN)C^[&U5SHRR;A9H*RBNT^B$]*YX,>7YKX'T MR@^")I5'MAY,/>^7"[J;>LN#,+PLI>27*.BN\FP<(P;&RX[:J[0WJ@C$ZWGY MPN)&4V=VE U?LB+Z(LJ8R_*)\F79$^\>XS@6A!D/YM_&@6 MWE&8OP,!C./G[Y(-?/2QF=[[\\DXAJ+$+>%+N3=OJ[>"9QX"!AVVR$H1E$NO MP_G.0":=PEQ8[RIZJ >6&4JDYLI0((7&"#BH+(>081+UT T\\]L.1[I.+\M- M4'CDXPH,%]/VB+[0>NPW\-C#EUWVA#_C>U^SC.5Z']5?3G.GCP^:7[MS7UE! M; _E*9\T!FU-%7JA'O!II68<\]I'T\R#^K-/!>?L%>Y;.(Y,-8OT<%]\3!?VAUB>O:"+]]ML4>U47F$\0?VJ"#CW8J7P9O_R^-PZ7[?Y4]6B%H^]PG-A[)INI3;SJ M['J_C4B98\#53L/ &C8))SOPU5GU6"?AB(+(W&0TW)%RT*PHIZE3ED$^-V@+ MHA7%1D(%!(4228P$%YH2#C'&!CP= U*DX<^TKK(?R./!3K_GH_'OL^-KX6N= M>4]^=[]]VL@O.X^BRF+=N75*KHA.T'6.(8;[!%3;W:&S08&8!TLR>%'VPRDH M.&7,6.0ID4!:CY 0ANIB++J0$AF[;I.LL-DG46Y6Y(Y!I+919[5#(R5N&8, MB-66 \FDH(Y@#6*E>Q/P2("48JE2VFO!*/Y&FBSQ$6XE?@O&+9TL#E+ KT@A MO!*-[;SU@"L$.*+,,^FPP=I2+ PBV!T*A:R=8,8Z&!\%A9Q"XN?_3BH8D4I2)+R06K)83G6[FOK__?C/>I#=RX<$ M01XON!;"&0 U:PG-J[?0FG./*Z=[7?3+10T48J&&7@+@N:?4:VUQ0#^&C"K M]'(1Y8:B?_V42LJ.N\;**6/^6'"^&JPY%(O21AHB)*!4 %BJO),.4 P\)18P M@)G8KKK>&*&.12O4CQG@QRC45P0[QHL,%<,A=!03JS0%D IEA !8 P2($O!0 MP+Y^329"VS91!^*(_S7[,SSV(/F8Y2?MD.=T@5_L)9):>Z M= )A9AURSG'. M/)4>/5.4H0X=_-?_.FN&L)9UR^K&BN13DKS'@UBV"*&1E%,.O"5!REIEB-# M*(.D%""@5I$#0>SZE4DI:X%Z&$ ],'"NB$6QB#2QE!(F!(?AK.LTX=!Z7V!1 M&>P-L9;CJD2!&E-F3 FEO9"3#!-(?8;R]SG]=^?]<=FG%A1A]+6N-P:EX\? M^W@1+V(4,-A*KX&FQ MH<5"](_:#1 =4' KVU[E2[>MZ-?4FB?367WRT\#Y&D;XBU-DBYDMJ MC;W00')F "76>J,+J'M*&%"' O7U)3@"M9;1;QS$C\A?_/^&HRS\X!_#=0*Y MFP?6=?7O2M&+IE;_'_^_2/>@5UN.":*&:L M=1@?H>@]&M!*4 G1HA1P:;4EUG"M#2"6%Z#E&!) W(& =GV1"VB=8=8M4%N' M\:O47XG0HM6V$9!"$*0/("S\G0G!"BPJ2 4'6U9_&R1 (:*M #T87!ZP %T1 MHW@18*64*'H]Y:Q6B*"U>RDT9!M;N)[7V!LCU#EM MA?HQ _P8A?IJ8(< +(+ A.2*4T>,9)9"0S3@#')@$.,(&[7E\WD#A#@3]*@Q M?D0NY(NT][TL!V9C,[_149B]UU3$(4"5RE]6D@!DP#135%.I"!%$>8>(L,CQ M+1<"O_C'9@V:YR >?U\SBY%V>&O]/C:Y>T10Q96@#\V)8@ KI@1ERDFC",04 M*;LCJ*Y=3KM#^%'8PT\ J0>&SE7!2!?%M;SETDA" 0U:($0X8!!* M*06#5ABS>0.-YY7?O-!RPW5T4F7X1928+#2X"@-YX" X-:&^!) MN,5!RT4*'@@RUQ>3 AQ%TXE31J_QVJ?2 S(QK:T#RP6XJ6>6"J04 M,IPJ!;0'Q(2WO!&>&+'EEC)&U03N;KHNN&%K5V[MRB< ^B#2%X5L(?)>,,$X MI=0JJR A$DE(H?+>@BW7IZX-].M*=%%KTXD6\DV"_+' ?%54HT7-+@8U8M MZ3"F.IR=.=16,,4@A!B8+5>LW;LHE[)%];&B^A@%^:H()XLH+RF\1%QZ%D!. M.0,:>F>DP8ABZ.SF68H[0OBZ3*,8:M)DV=VG)FPNX%Y,-P#5AGL:O]GCC_.DZ_]+/9^Z_=.(])CN;%--7]Y?:5NJ0O^\6#)=?.Y>9Y>3?G9^M=@Y'P;Y>!0N,QCG'P:?QV%! MX]_/KWQOD ZZX?$^#O->7 J?]D9_3_N3["+<2?>'W3_>%'LYOOR<];-BO=Y: M8 $T($@3RRAS3AK@O+)0(1F.9XR\7>QV0+P7&#B..:# $"T94TH[%W8]$R*H M@UG8-K=Q\4:3[/YR]GN#[.UUJ8Y"!/YR#^XB8+NRWO\]R<>]J[O-\?QA4&[> MB.)1]C4=Q3LFX^LLN0ISDWR+DY,,KXIWAI-Q/DX'Q3?"K[Z'+Q>K%/=UGGQ/ M\R3\>Q6.\?)#;Q!^-)SDX0?YC^_OK_QSHUX>4N7;]R@1S.:D%Y [*%]7 M+S>((^O?FT8(2HXL=G+2S?K]Z:?_YTU8F_@Z/&9W]OJ1:;SHW61YW>?9^]I>?'L+VS=R6LY ,X,W3II[I M/=!??GJS1!O3S_@SGZWW$:[]BL]\5/\5P2E,R,MFP2TJ4;5;!E=2H>1+9OX2 MA--QP-L_DWS8[UTF_P:*?[8]$]U 2]EH"W:*0C=*%A(O/W%5^E3WP2^]]$NO MWQO?O; 73H<:]CFZK2VS3OM!<2[7^MX)DF*0\EI+G<+X&-; MT1; K2 ^$7WL\W66C0M3UR_#;F%5.7'(XQ-5S#]GM^/"AES.$I*=))HPV]UP M_+OAS7_8K%M9>PR+M1>GN?;'O]ZM&&B!WXJ!=C>L+P:JAX+Y)$'PU"SM//NV M#EP47W[?&X0Z"+AL.8BF(7KAQN/\.,INT]YEN8K9G[?9 M(,_R\E4ZN$R&X[#L21FD-P[R/L\:,_0F,5FMYNXZ#+Z/''#^?8-Q'5SB!Y.+ MT@C,"&R$9Q(802D'&G,!O/5420DA>:F/5?Y$KL58D&@X7&68* L\( M)<@Y23$34A/ %8">>"P8>:GPTF-$$V/FCX]H6IXY39[9N==;=;NC27:9S!3; MAHSST->Q55VWJ+IR4LE9=D0'#=5I0QEUUFC%K) ""D(PL<^UCYB%F_:RM?77 M[M?!G[]/$323*4T0'[Q-GVQYI]537ZFGLD7^M4'0 .XM4!10;(&F5CC+)$&* MH\ XZ[+*2LIJ4UD%@CHK$>V-5G:2_OFZI,#-[[]6NNGYU54X\(S#1BI//A=Q M3I[-'C72,<@-$MHZB@47\3!G:$ )T=YR5%4C)(("Q0,A13KBT'+H@N:TA MUEJI7I4]NO&47<0DT"*;,[IBRXS)VU&61V]LD0_Z=33,\R3NZF\Q R7 ($G[ M_0"3&;"GIMTDVGS["Y GWZ][W>OD>S::7S!HTX%=TF20C9,O:=[+X\MX#S,< M%+[_PC,\A7]2X#]/+B=9,AX67RM(+^:I#HOU2;[WQM=)EH:[=&/>>#:Z34?A M$9](2CVX!%,IWPE 0L;A87%%G2S=%,HGTDAG*89BL/.H'PN6W:]C^0I3,BC MD2FGFFS7)EVV^^!@DBX/_536L/&=5NQB&\G:[H8VH:$=WS&.[[2PVS)YNQLV MSDEX?F(.N@_8SZ4-JZ@NF$<#TBCK#K\.PC16C MB+^1AD44MH1R,(1RO IMQ0?;]'EITH8X' G3:K5/R2"^D$&,2J M<\013KU% M4GJJC($0&^F1QJ^407-OT-8TVUI#$UM!U/).J]G6I-E*,6<5+X4$A%%+K*%8 M40&MYC+0#'904_E,/N"K6:4F[;;6T,3FTZ(%EHPQ3R 37(B76KN:&!8XSD9I__Q+&%@1!WTQ_)2- M)Z.!2?/K,KZU/E6F[1?7HJR9PAOB13*_X]AXBY5WS%(0( 8T EYQK+'$DKS4 MQ7%M4*TIR5M0'2:H6C7D>-;R@ ER;36$51A3 6:A]5CK<-9!4@4UA!@0C?U. M*R%>SO:Z6[#FI_@HD3"[_;1WTZHA+6,> !"^I9>F:Q.K\'JSLU>E"E5+/7G *22 .X8I M$>%+CDDI---66\[7K"G7N-BJM7? 3C9_Z[]JF7$GWJ\C)<)5>0\O2H=X#H/6 M:QUV&E.JC6) :*4MP\@:"E[J$?]$U9"F18"UM';54<@7S> \NN0/7CXXL_KT>P*M^G7 M[.V749;^\3:]"H_S/NU_3^_R<)^_7H^F(WGN\791IL"<_WSF_BLQYY\^GG]2 M%Q_.SY+5=\ N'O#L_,)]3B[.PR.>?3[_Y8-5%\XF_L.9.C,?U"_)YXOPQJ_N M[.)S\L-O9^HW^R%\_F/RV,H\W#IKE:;\W+W.+B?]>V'$E09Z/Z>]P2_#//\P M^#Q.QUE\[_S*]P;IH!O&^S'H!)'?!MWGJUD2J %UF*N8$DRTE-93+R74F!FA M-*U6L^3",Z<0(8'/*3<2*DRAXUQRB:5A2]4L'R#JD;L[BBE!&$KM/$4>26PQ M )H 8X%"5@3"WC(S?!B48B ^WRC[FHZB6"U*4 ;^#4\9#\V5 IB]Q?S/*EIV MJQ4MKV;S'QYANBAY\CW-8Q/$LO9F?C1%*R$ &Y:I%&^>=M*6]T#/E3RDAUVQ M\=1O=EP!_<\=F48!]BM%O>RY*,V6#$>SRMZ!/9.Y@$KF4NO4RV[R789"+6E/ M:^BCCRSQQ?4HR][>A ^N\\0%0;6.4;E=U&8MZEG4,EY8T],A\9/9NB=1.>V1 M[=[6T3O9W;"T^!B<%3S:30'"IZ8I#/.@@TG*E_'+[WOC M<-GN3['^Z+QB?G(VC-T49CV7HLEKVJ,IJ9@MWV^ZR4[6M7K$ V]7_[C.4=$W MD2<_](=YGN4_5DN6]09)M^PTG QOLU%A%VJ* :CV:?##45 K9B/NWB5?P[R4 MT_)C0\;<*(;;1O#(443);3+.O<:[,;+P'TJC>>PP221UU!@EG.,*0L,L8LQ[ M^73(Q\S5>3Y8O'>VE/DX]:3^[<)NT"-R_MF'07=XD\V-U(^V4I_BVTSA/7O, MVKI-$K;3/)W&AM.UQ-*:ZQ:OTN7\>#_%13%OB:XFO@<1WK#PWH[4?7N*U2N5?@PS#"#KF(*5"0&UL M;)0C%(96V'K.J>+P>"W>/[SW+,%AMM.\B65.V#^.'C/L;25A8CEAX6%*PZY3 M*HH_T@):N98*(1@0PR&F"'E-'9&.*.4TP(#K& 2:KA+Y7UU1$9:O?L7G[/S" M)1"\3]8+T_^4?C;[7@(&@,%F()*& MF$ O,!P9D1*02*A )?J^*%UJ% ^*E:1*,L48940[I"GVE-"29,)FR"[5^-7W M@0^#]Z>C2CZ5IOMXE>64F>KBOQSLO\I#;#(&]&;-1(O*"KH_Q]EHD/9GJY?K MNY^SX==1>GO=ZZI1EN87$<7/+BJR02T&W("@#U/.C<**:^.\TH1CY'QE4<.3 M XLAXDQSJHC4ABC$%+3:(H(A7TJI> U2:J>VB^MLFL00?;IE7+9R].O7V,21?3^CJ8;J%=)L/AREWR=SV:2ANE,OJ1Y^/+D=I9,,9WW_YV' MQ9L$--T5"1C#FUZW%^[6ID[,@@SXBZD3F)U"$L'QWFRO'N$FG::.8'P-"0NO M2V-JH_V/(1>25D(18 MIQ@UB%+&B= ZT B7!GOM $3;X0RQ-\Z@O -0G?5H6\YH.:/51 *K,+!@%4Z1 MX10X!Y6G @'%J170.,!H4$>4WYHF\L_]L H"HB-!G:'H+:VTM'("J@A#BV#) MH'\@ ARWXOL([,WTFBF*Z]V(+K) M:'B;M8;2QPVE+U:DK',2FJD"D06;*6&,B#7IE2)42: U(@A%TPSAU/$M':Q6 M-L:46[D^4PSIH%KUGR=Y9X:CC1!@&(. MJ8?8 [J4GKMC6TG-D(90= 2LM75/B^D6TXV4VY5&Z\IJCSB66@A%&9/2(XDH MEEP3IZ18ZB:S8]-%W2 7J,,);T'>@OQ@0+X:ICE88!I)+KP@4'/L*;!06>^0 M +%="-)0+Z5A[MBR4#.F$:$=@H\;T\<5;_+S* O[8Y28Z]X@/4V;[,I$U3P^ M6E/IX!C."8H P(&E@E%JJ,9,*H\U4A1 3W5@JST:"Z:Y<[^;LSJHB7<$)<=@ M\6PAV61(KHA NHB=LE)!BX'WD"B*O-%, XH0+RHU2+ EM7^ELWVM",2P YAH M$=@BL)E"D2V""(CT2@%"L,9!*$H@-!&>H/"VU$1BO<>3>*V0%*Q#2)W%3EI( MMI!<7RA6@@.!(0%H'B&B&<64:X8LDA*'8S/5#KZV?DF=Y^9:$2AEAP!T# @\ M$4?\^3C,2Z+RWCJGY=;>=UCVOC55"0$7+>*A]-X9&)C,6@JL4P0)K2B$!#$! MA-GG^?KKX,_?XTZ>7[2P M5G#60=T'KF6\ ?$.!7Q#?&\*V\ MCY=IR,T4^!0M!+Y7,8P@'[!!.X/7/^_O$O0 >A.HT9S<-W6\_P1,:WE>KWTXL6 M)5J7A-DA9(C642M_O4G8IWHGP8+>K>"$,VVQP(@21H4"E%'*H7=2 +ZE5+'2 MGE-+U"4.A[:=-O#8R:9O'4:GS6\G26%,^.X?O3[CA7@\O/V>A;KYOES[:L+;K M:$DU>WM\=_MDAZF7^]2M4L2Y\OM[4JB!?:K"#'[M#R-4@4HWFE; M6;4W:UM9G9KR?60]C]I65D>YK&TKJUK.TD<\\+95R%/8:;O,M%MGM=-7V\JJ MW2DMR;1;9_\D\T#RB[.Y0TR"V]]R#N M-1W+$,I%W!\1$'NF!3%(4F&@Q(9#C@G0UG%/Z=;S.*?6\//1U!:^B.B> 6UF M+T\7]O+ZJC5BV1&BSLINK6^YI9E-O,-[9Y45203!2K$UARWTS&@%8SL:*KUV M6AD&*"!&>+'U9-$]DP@%'2G;MGDMB;2Z2MVZ"JK4=&0>0U;SV/=,XE(W"GL>8=/(LUT$=;?.OWVMA_&5(2"Y;=A':]BG-IT^T5S MXB1^M([AZ20LM$>4M+^V#E7I: Z8%,X;@1PR%#,F""%, MRD;_/-WGL]M\GNWR^G@0=PBNLVIO\W+Z6_@?%_Q717NEW"@R/AR/I'8$$\J1 MTUAP$?:]QL H8<@>#3,[1;N '81:M+=H/QRTKROL,5ATS/0&T"(%F@I!-=,: M"2, =L9 (<)A9X\&D]W"'W50K?7 6_BW\&^$L,>5;M_8^6OUL(_U,\K9D5TMP+<$UE^!. MDL]6I"\"65NSZ\CH:^\UNRIC_>^P&7I7=S7LYN5'VNTC%%<,FVTX*FS:[R># ML/3QON%*9IB/\V0\3/RD?]7K]Y,TF2%B]4>N\HFX_7,KLSA_T*OY@W:G#YJD MHUB)*V(VNPQ_2=Y\'&6W:=C0V9^WV2! N$AZ'!9-([N3T2@;A-\$7(_S-\DP M%NG*XJ +#!35O73:3P?=+/E\G67CXK?I3>PW&CX*#S";E[5([=]?8K5*5S-# ME+/8.\"LHH(3;1AW$#',<,QW6SIUFO2V-P[3_C_9Y6P-XZS]/!KF^0/Z^E!J M7RMQ%W@^-*G#)>H$UGB)O5XY7<6T;WFJ*P=\;&*TOM6<&0H 5%HYHCED7!/+ MQ5*OZ5=.M?@;J6&J<8="LI6ISI/AU;J3/4^J+I6VASGXZRR[S;K3-&U8IFEW MDE$6HTG'O6]9_^Y=LYBIT?RNND6GY#SY%.:T]RU*ULZY@?ONI$DRU-]'PLH_E8PE]OP]8H"/VF_# \>S\0=1S2E.O[=\GE M)$NN@K8W#T7.D^_7O>YU(3K"-8:C2.[I.,J"WB@9!-K/PE/?3(L]1J07M_N6 M]B?9NR2Y*$3&37C^N^0F[0W&X?_QN6)B?10W7^/K<=*+^?://'4 >7(['(=G M"P--NJ/LLC=.^L.H;8:+F^KK^+/AUT%DFBBK'KO:]RS*OYOXL''BBJM'F39> M%"0KIF,PKV25W(9O#B_S)(L%K9(&0;^>)WE8WN&55WM -\D"&Z76$ D^[X7U M#:PY&4PWW*SVYVQ?]>+B?;_.!HMBH?<6,^@IZ>6W0L\(EXD7"?@IUJX;5/HT M?KQ:+/U<#\JK3]I?H+CZN)?9519 L7C<$B?3:UX&).1QTU8&48YAAJZ(E^F M@RH4'W;8CZ5?P^L'^+H_OMGMIA,0'WQ-&G_ +O4WSM,]S:,\3=<;( M%+W!)"V5QN+M\HL/GWBY^,Z;YT>T> +YN@S:YPFW[-WGX) M@OB/M^E5>)SW:?][>I>'^_SU>C0=R8I*U];J4)GSG\_'O'L\_DO'ZRZ<#;Q'\[4F?F@?DD^7X0W?G5G%Y^3 M'WX[4[_9#^'S'Y/'5N;AUGFPMQZI"ZX! \9!"Y$D1:$%ZR%4#BD!B80*O$5O MUBQO;J-1EESQ8M9UI[Y[FP1@@*N5?(:1!. MVT01 2W5E:+EBF.(%$!>(TT]!8HK)C$&5A%JC$&O*EJ^=1YXH:AYU!)7U CB M2?-;;WPWURZ7M,FI,MD,77+MXNO/+,E)%6.7\AT#$G.Z64EV\N;I&-#R1@*L M5R]<-+]>>.UPGADF2X/-DIFDS>UO>@0\!8MT-P>EEU@+2L-'*'S!:<,$8MC" M^!%Z0K8_+#SU3(M8%-9X<.@&S3C:&X(1_+5Q'F;FO(0 MF(@L@I6I\$'#(\I 104@TFAC8L&PH!4:YY>< 0^ J<(("\/,-B->,.]@6FM$ MWY%DC306I9\6EJ^*06Q#(#87;S^\!#BR )P#@@$-PTD+A[.A@MIPJR#Q 8%6 M8?<2X.;_F=E6X5:1QSH4UEF#DBD]( 1"9SU$A&\%%'_\NE^U7BM%U(9 M08?@-A6H#37=TB.H/$F3VV);A:U21&!>]H+T[DS#+,N8F>M P=DT;F P'!>& MB])5DQ7?F[=:G08>1+XN0EI&Z2"?@N\V3''XO-\?=M-I:.8D?#CNY5>]\/(V M&Q4P* (0OH1!%IZI&.P4V'\R6D1-A(?Y%LTDR3"01V\P?>CBT2XG94A5O'T_ MRZ/#)'YOD"5W63IZMY*#-2U8(K?&:X8!QQPXZK15BC@-PBO@&2>@Z%R:KA/2 MMAT_80+A^V0]?UQ_3D;9*.T_ZPCSAL#H(;,8\0HH%(* M"[64FAMJ*96^XH@CE#D%,#*.8^JY4,"(<& DUE'.O?(E@X;%R"[5^-7W@0_] M>)_'X9'?ZC3/+I/J"!-7QA@O8?_>WGC9/[K*$VTR(/0*5^2V(B4K47/_Z]\$ M@ORG/,FOTU'V]DLQK[?I753T"YB-8PS6I#^.<43=ZGQ/8[JK04UY7)MD>%M\ M_C50Q+3-3;C".*Q%1'+YE2@]\^2'3Y]_RW]\ER2J.7&O#^EQP]CG)Q45RB'* MJI49$',&6@*IMV&K:*%CEK. G!J&!41+%88_Q_4J8%!%0<7EKN\67_E8+JCZ MGHXN S#"9)U?%9_FZEO:ZT?A&XY]/\<5>USA^7UZV]^+2USF;ONIO; M_O NRPIPGA?KOU28I]A@>557^G#F5XRXAM'*"CKPY=R*6,X @FS4C<%YI1#,_C4)8BL(P+B);M+1']FX M#%6=RR27A= -X/E:TG7_+OF619@%[6_=/7D5Y.VZ M$S5<^Z[WD#"380^ P!8Y9-PZ::422#)&M2%*2$@QT0X;@H!;JM>_-A"*/_X> MPXL'7S\6D1-/VRN+2E6?"CM(W/?QU:_IG[V;R4VYS^=(^!A.MF?A^195K*;B MM@*-^)T9/"J;_FV>==\'3>=[T-/S;!"6J_>M5'#R)X7:>FM9LOSD=CB8B;+A M))\U(RLV72#W7MCN6USQ:G5AK! '6B*#'14Q@1!JIBUR5KEPH!/WK%4N/EFQ MQ.6:!2*[/[-/K^':'/;<(HVSP5;6J(CBO4\'@9&BQ'S(",4ZKGF;(C1]W41L3'WT]CEL+0/J;Q5-N[36?A MS?$\$B/SQ],@YZ U]2ZSP64>X^_C1+Q[15S?]M6JY[(_2D%2;JI\22-]O6K_ MN7N=74[ZV52*+[%?90_G:AHP=A'%V[-*/PV@TQ1C:Y6E.E"N%Y( )BTTUC@& M*DH_9D&S!U89C2WUP$625LCP0-V6<";6CK[;ILK[0@#>DD91_5?D=9^1=S\ M",3&UK9]H=/PEMU)V^M%71SKGN2E73S"#[U!N42+\.?3+!136]OK0]V,_RA> M99=O][H?59CT]&NVUV=P4W/)7A_B8S35G"846_B=-/P^93%'/JS'7I]BEAH] M2?M[?8Z+;'13@F4NJ@N+1BNF3Y,GU,S7O===^2& HS?(>]V]/L7?H]/B -3G MEP]U8=,=>"O'\\DXCST^H^&JOH2S XR ?=Z92G'%HV", D0 @8BCQ!N)+?*$ M(*ND\40O-359VXWSI*I+RULTTF(+/)*26 AJ1A'U#FJ16RA:B CWD.IO 9+90-K)*'9D6=Z MZ)@=NXN3[RKYJA^S47&K*C^A5:OCP7?\N-LHM>S4#OQT!K[ZN?!8)V&U0\;] M48J&'B9^+@/8]EVA8IFF%@$@*99VG5@&JZA;)Q6SG M'Z:A2JLDSFUP+D =P>L\%C16OAXZGQQ'8OGSJ&.5 BLQOO/K49>_"G:O4(:?RF7=1!^F\!VJLZ5 "\L#.GNWXVNFKGKH8ZW5 M[MU4777&U.MHJP=HWGZZP$,I4=G"OFT5%(AC8!335%,L,;<>H]C&.XA9N2Q1 M8RCKASR?9)=V,IKG.Y114M5@X?F4;UE7A1W":VWC>N@%'EH+PW%6;7D!TWQQ M-J4.6"R$(M+%6BY$<:0IHM@:8@ 4LG8M>8;UIBC*"+ZCK>'X6$'>#OS4!MX: MCH_)<.R'HZNL%W.?AZ-I>NA:>OD6@L<:H9YS5$EAQH! 3+GSWE()A78(.A)D MNY
6YS#VK14R>GJ+'+I*?^CL=@IF;$X6E<2$ MX,Y)[115A#(+E0+>2*^IE93K-]:?].! +4=WV&/KS5L'W5 M]VY*H!Z0^:QX^:K*GZ6XEFA1 ]D)"!$%3DE+#2!" JNQE (:K1T3^X@!OU\Z M=!/[.>D05F?Q\_4W3V/%]M&:%?93"WDO4>2/\,!6ZB W-^Y\328,W+?H7^\Q MI$829PVC3$J-/ U,"2$.WR22-"<0?:FT\D:!Z.P=)"U%MA2Y=UWI%1KF3CCC M\9)\ BV5L%H%8P5%(RJ990Y83&FS@A/I7220L2! M$@Q1QPG89KKM/%V^R%C?6K<&!'"'\Q/7)M9Q9S;4!#-51(M"@4WO0M-,^-.% MNU-3HV/K5(,8IQ)P103%X4_BBO"EUT0E)>#):E*>*5@B@D-B"#44R.UPE;#\ =S*D92\RV2U#Z-((B^P[4&5;;T M=4KT=2"6"[%(-D326BH#S 5!E$&J.8'< B&]HH")I7YOFUHNGL;Y4Y:+Y[KB M/FFYH)6B&IM;+EHLM*+\L$2Y!)4L?HHE4U@Y!@5UD&O%$"=">Z.1K4"\Z!=2 MHQR?%PC^'9!V&X;!TYK2.G=>0\19!X<7@*VI-BV!&K/:!4,PF8,9I[82RC MVM?NR'F"()L20$+>2= R9\N<>]>LEF>FTLS]-6K\'HTTDN)%?6:F.;%4$0

M%$GK;+2*BN;*RNLHJP8:;@Q M !MF:3C5*2,$0E@+;<-W>>UAK2^3R,X-1%)V #OQPUUA.?IKT?-Q_OYE#>U@ M[[$)B5_:V T[38#?TP^#))X^6*'3]N%SZQ"Y6:[WX>^M!/E29K<#D?%CZ;] MQ">#^S];&)+&23Z\R<+W>X-QTAL4W[Z:Q&S2=\FL$^TC]J=1EH1-T9WTT_CV ME[LDO;WMWQ692H,D]LJ^*3ZXFN>F)J/8J'PZAH>/\^[!>CV0@;7UOJVBM5K. M*L*O1'F>3V[*]U[N@VN4 H@X)RT %#BID56$$28AIT@#7NF#RRD01"J,B+44 M/F&-]KK_M]UG$K+;6I)%U,?]LL]G7-8M&;IRWDTV:Q?*?-8H_G MBGOM"%N[=V&E]&&ZRSH-V^O<5K2/+]IAY^6P7>R&?9J.\"-;V[-(V^72)D^M MZ@D"]V0;.3_?J?Y$H7X2NV%I\3%8N]M=N_@'MO@M%;2[83TJ.(5(HD^]_(^W M5T$)+JPO^W8B--)2#"%;^)L\<09KH@PDFF(,A=*4$4NL$8A34E^&DD][H\+F M6S$XQ<7R8:T^1"1D^?A36++'W4A_NU>>;3"-#5H8AA=VX;?H^:C_=[76ACF< MXNJ/;):_[!L>#9,P$,M+01-"!J MI8&=M EN'@VTJ#]6U*^M#4<6@P 1:BZDTAA%'7!-H8*E8 M:ZL-M-I RPN;:@,(++0!@XD%,I8THH 2*(2(G, !$\133.NKTKZ9-E C#;3: MP+%6,YF&<82;] )I7"9WO:Q_'$U^UQ7XJ%+-# ))#?0:&P(I$$!$>$/#J+*( M6U=?[O]C2)\MCIVNS?K'?[(JTL$[7"?4FX?HF@3[LM+VML O"LNI"\ MFB %B--(&T]YS-3GF@C,J0S_:EQ?$?;-).]+.G8K>5O)>^!H7A6\?"%Y 4=< M.@0X-#I\*C4!P#ON(/>6,J>; -X5#LBMY*WC('S8#O/Y"?G;L!]V9;\WOCMN M>]C:PEOP.?XEUT$Z(HL4QA0IJ81A$B$ @./0JMUHWG^?+]CZ!V>T*@/@UE#> M&LKW/?!&Z $8+#HI,8BY55! 2!"5D$H#&?)42&7"45P^7E)OYSRPPAE\=1YH M+>4M[(\*]NOJ Q@N] %@PON.4"R@I90191G&G#FH)3$0F&;PP K'^58?:/6! MEAA>IP_@A3Y@#,64(.TUQQ0:KS%A"@NNG4&24=@,'EC!,M#J ZWG?%8 (1O= M)#_T!DDLV9/OJIW[?F7^XW6:(":+&BO>4>P(\U!Q1AV3 EGFO0!2!/0[]GC/ M\W4*-3T']6<*+_WMA:+9L+ZZ2W7MQ+:P_<$#:T4<51)05%"4*94ZUBFB3GCE MK5;AK5C]S$!37U7Z=7 D7L91C?7+6ARU.-I00/'%F90!$,Z>!"!/"66::^R! MPUY'?113_;B/:H<"ZJ6N#J@%5@NL?0DHN6CAB+C52!$I'114"B^9AE18Z;R( M0='+5;AV+*!>PE&-S5'VAJ-'*MF]=M4?N?+#:0FOXP3W!F5EM&*PLQ]>/BC) MM9S(?7]RGBG9)5^W;CV97N$V_9F^_C++TC[?I57B<]VG_>WJ7 MA_O\]7HT'+,@7F_.?S7SY8=>%LXC^_WZ6-0??-6D>GEN]E=(L]KV,/V>#;)3V^W=E!='N9#2*:W'_D9->_K#, MYR!@MM_[G]ZTF&,WS:\7/PH3T@_"O/AFI2[I__HW@2#_*4_T,$CVN*JV-PI3 M-!SEX8+3>2JOF(Z3499/^N/9);K]85$YLJP^>1OK^2?#LDQI48(RN0R/]NXQ MG>P -LA344;[WAP1X]GR0RX#O3N\^=(;I+-2L]E'KWW+5;_'0UOBOD/>V1X$RZ0A+4:1P3?#"^S_N+SL)AAM>-J9=\" M"^4E$8S#&>=K%KM?E\\?EV???7_!H M$K+P:$H5_S$64VBI4%A0H(#R!BCI";:U=S#_.6Z-_,/@8[$''O2>*#ZT87O- MC\JK1#UNV.L&BG?DQ>#G'6ZG5==PT85>42"M49!ZIJGF2%@-# #8.2B((O5Y MI6M;PZ6(M4U[/:-WM.XU[$2U+\(%1QP)2K+_FN3D:L=0T1?,=?[."V(2,V3V,=#\=!)>_->M \R<8S_?NR M/&&U^FFSV+A2N,XK005@'A-LJ(9*(8ZI<2RH/,)2KY<[7N?ULYV, MGE)$JU %*T*5=CAA'0#JANL.*%=4#A*."*>T\#%EBL'P'VN1EP(I [D&8(\+ M]9BVN7.)JE6VFL-3:'%N5)Y[2312,7-; :4L-\@:SA2P!+)'1/BV>:H6 ML8U1!W!TF$15R:.## &C(+?6*8JAD)) [H(DX8X!H'8M1>I2JA#O4+H3KFJ4 M[>W9N*\P^:->X4POVM,FOX4YSI,?/GW^[6&N61,,B ^8/S[EW'53$-AE%F," MPN-=5L-&HB"X24=_9./RQP^B-/[W@ZB0& D0A4WOIOAF<8.I .J%Z8EA!=UA M/BXB#\(7!TEZ$YL?_T\, YD%E$R[TX:?1X$4?4J3P;C7+SX;32>]D%=%P]7+ MA];:#1L0GPVG_8X7ZULL;[&Z*N[3WOCNY7[# 'LGH17"^Z!'2F,LH%Y#Y1SE MQD!3Z3>,* *$(X04#H1.A0[_BU_U0>TDD+!F]AN>-P8NF^WFDYNP3<*7\@?; MH]AHZ73>GM8MIJK%$SK"^YK#;2N_OQ?HW\">PV%6O_8&Y>.ED_%P]D:91%&\ M4S;!E?(=0B!HR!(0(C AFS4IYF^>S@PN;\B>ZU%,:^__>]BM@=M6RC6DKME13FNE"2%DJCS;J%<$XP7+MKZT&542F"D%&MU6(:F]%YLH5] MUAG?UI?WB0WY[]M8V!9@M0!L3?T2-)3\?RZ- \>8._V4(8_11:"=!5!1Z1Q M-!S'&9,&2><18Q9A!@"M+=#._6L23L8?YLEW^7DX((\NKM/!HR%XJYA@\T+Y MK=KYWBXZ2N%G#7VTR1E0&$VG/.@$8! MC5P23+$1]96M?R4:FQ#43.@[]*)9_A!06_>IJJF2M73;[%M%;U6[]NQ4KRFQ MW9T-Y\W#H$<_'%UEO6AU&L9\XMO>Z&A.(>OONL92WRDQ7+NE&JGG-93''EK/ MY[[MY&'HVVNDSSV/#+[],[D<3J+G>>:2J77.IG?%I_[;@>O_IL L,%IS?J#8IPDT95$GLN-KR(&'Y;$%U2 M)<,DEH<;Y VL$CH-V V_BL.YZH7]'*/9LYO;_O N+.[M\#86EBQ$QF \W"RA MXB4A)!>)7]Q)3@ 66"#@))74(VN\IL@HKK"Q]_(ISHIN0.=7/P>BO,W_T1M? M]P9N.H*/\P$\$ \?2O%0D0V19V^K4N'#F7]"+A0EJX-L^![X.\\&;_YC_'U8 M=_Y*\3CY^V0XR&:56".OQ/2M;- +(+E)!VDI80MR20?#*#\??#?M]Y/R_=F: MYM/ _-G23\N*]N^2]#;6:XSU/I,8@7]3%!0MJXG&P4?KW&0TK2<;+KW-O2# M(E#>"J$L1_38]ED^5B_#. MYV(>?YU/XXL[9(.V4\M=I_ZRX?X(:(R+FQ5:5))&C2HOJ/F)[;&C=2.52B>$ M!APK;H+B2!C2 /NX;H8HQC"E:Z^;ZO?/AH-=KAY] MJZJJQ%5OE(^3?TW2T3@;=:K)%LDH^U94WBR(>X[;!X M0-_+IY5[2]F:QJF( M9:!CFFA,Z%D(K*P46!MOEY=RZ 00E61?*)AA"B&GF? <2Z3<1D)CJ0W)*=F'E_M> M.[C(?Z182QE+E&$(.?!0.^;"VC$8Y+4G6&U][41-:P<[2&PE;[Z)NNR;_U#Y M!MNDWLSNSC17?3(8!>WZZZ#(#GQT8X^RLM9YV/AA@=Y.#PO33,1"#G8B.OJ3 MRT55\EFR>P1//&UTBES$[>(#+<(*G1/"$)WKO"+0(6,-&&X$@ M8TAA*I12$JN@KUH%(2!&WZ_N]M@B+_7A>;#(]S\:WU77MK23A46:OO7(J6>E M5E;P'0,O].!Y+?L5K3C?+1M]FMN^YJ&7KFU?4_\#GC6Z?G$"L M9=9IXQ B@#H?=H0 0! 8CB *A&/L0RD=#J+#;ISLQ^7S5*-=H\I3Q>?[@KH* M.E"2@RR?(BI%^SU4'@M&33@W4 :<0D9# ZAGW%K+EWQ.*ZE'%^F?NMSX?C2\ MJ6=A5C]&"+"-9;E?-Z53K-*.H-S\ M(U0;E%^J";8RE&4'DL.LV"8JL3=/J3AU :MY$1+ZJ107 L,N%6*6D75 M4J&@323]LY6X5J8'C#N$'&:A-%')Z&+< \SD,B%;> &4H,4E!9) E'5(=3G%T2.)L( M^IJ0##MX*UMF!T@6"PT+0B49)"JD"*,4)@8R]F+QLBEY7EH:XP6YMRD MM[UQ;#B:7:J;X60%3^R#!7I%G,59[6$6CRI81??;Q;"FD?S-4)2"#%CSI[,Z M/E.:AQO1_ -C[H;E%U?:?5/J#G\[OWIT)SY;FE$1+S#E6'K.@OHA)%+8&FV, M0=YXZBNE&3WV :-T%D4%$6HI:#$1=.^!5@SA0ZB-.-M8)UIH\[LY2/%E[NX MX8NWHI:1Q1B$J6XQO5!TLPRF@0>#(JH_+8N@AO\4X;L1(N?A-VGI:;M?<>W] MZI;GY=DXH+J-T_*# &Q6AC$VK92 M-B7?93;EUEQ3%PMC:IZX>+HZ\239XUC6L_G)^>E5/4',GFI!T!=4\Q.%^DGL MAA?-7NWB'^_BMU30[H;UJ.!EY2",[, K6$1;2CS,C[)OV>#10MC'4UOW$28X MKF*[CPQP%4,R@I5,'@<%)$H:#3RF# !));$(:J^EP!K5ZBW]VX7]?7J=WS\4 M?NVYA>F7J?5/_=G+Y]^)F_7\ZN?AJ5U )J57.<5S.HB9*6FEIJ M:C0UM7K54^15"7N&FA&"A0+4$*ID>$DM0AAK0*A5J+[8E=+]V@SR@AT(6_IJ MZ:O1]'5L;+4J.;$%.0%F.?->"L@%94&7LAHSK07'6EK#1%MW"]EI&PV^-H;9%DLGW%TQ7_7UCSX(@R; M,N.%-A) BAV0C(K".$V!F$[*N$^+3JS956#2[M8U^DMZC/O=!ADQ] ^XY3< M$8<'UE6Q6:E]!K62QGE,E'840BN!U8 :BBW7T#)"M/34>0!-?5KN&D?8G8$3LJ-05-1OK9PEXO8 M'^,U#L=M0YE"5"@1CN$6:6&TEUX+3?9Q]MXI[!'H,%EKUZ\6]RWNFR#=,5S M'#DK#8) ($4I"#J\5DYZ:(G%&F.X5#MY%Z?XG<(&W:%VBKJ$V[TVYY!]EZM*6T@Z*TDV2P50F+ M\D97X'V>L(H*O"U?M7QU5'S5JF ;J6"<-;IH\$LYK+%H<$MI+:4=%:6=)(.M M2EB52-(FUD9^@;"*VL@M8>VDR_H3#;C28DOER#EJE%4.6$X=$"I:7YGB7BH M,++A%G]-9Y>NS-(>"J ^(MS/SB]< M'[9,W*M+%>ZG6X5#;*7=%A]VPXSFPO M[_:'^624/5MI5E" /"56>D$IA4)K[I$')LR<]Y3Q2J59A"%AA@ C$:,"D__? MWI>?;=D4"ITTU0=-[ \1^.T!@"*1\[TV>]1 M%AO5TK:D\_AV5@S'.#OT2Y'?%-'DP6EOH_5F::VQDK?&D0^_G632V7":7\4% M-?>9&Z+[IU)R\ZB@48%^4L"V\J*4HMETG!<)=H#FXS;J<]OE;%53CC6FMJ*< MLN49H6\K&AVM(VM:P!P'%%%/9\L3$PC@%A)UZ*[Q'MS+/Q4^(B>MU[(,$ MP/)#ZM#'TD_B9/$Q3\4]'F[WO1S?E+$?^RY:Y0, Y\$_S">3'!\!IWF!ZEFFSQ0U #-'MD$0!(8GJPZ80R'3PKD^\@^@ MW\U-$=^ :G%*0[CS:T*PLKGN@<&DNT'(DEZ^V<"U@2$KNT!(OB8IFDH1G 1O MP+53%F.T!@78!@L4/0QU@*?MNZYCF(KCFJ8?VD&@L34 _-5] 9HCGT;.\Y[Z%X),GLJ'Z0YM:O8N!GB\/FV:3?:#&ZB:X9J^ M$086LVS%]FS@N8ZA,\>0;6^UYOH 0%<1Z:[AN2F=&L!I[9V(_A&=2/='HAW3 M2+A*[D^BMNRO4'*9Y^"@^>O9%&P4L:5R(,UN<60V5V$G49+A]J^B-,J&N]=D M+:6E1\B^XWNR:7DJTU35-3U/#SP_M&PU\,RE7EVK) ? B:V2T<8R1]BXHDGMXCA*XC,DA:\F0@18"W-U(.4"4$ MR&Y*KB@F@"]#8E&C))WQB1Y%/I%B,6*%J[A23L,^X![^\1;,OGC T4J*OD5) M&ETE*=B]O 9E&)5C0!ZPA L^[&.]6=["E8#96XP!)W,5FX6.YQI@RFBR["F6 MZME>L+$K85=^ VU3OP'/&;N,OJ_I*E M0V&.::N.[X -;3J*KOFJ(^,HZM#W MY?90FL!U S?T-47WF*IXMAE::A!8H64Z6FCJC[H*GGS/DJL ]A"7+_4+K//: MEZQ:_?#RR4/7UWPT5PVZC(8*";BNRHCLD46[9@ MT9H+HEHS ^8:=@N.;B@'EF^#K/1DYH6ZY02F[KNFXWJ:JX1>YX8+.31,M#F- MRG;^"LRT&@!42M?Q"+,@X;G1= ;,ZAY 4=SF!?Q(@TGY'WG;EOVW_V>IBOEK MV9Y?*N81#7#,55R!IG[ @"9SP?_Q84=E/U7H>5.%D%Z>F"ID/S+71M^#D3UO MM<:.3@VQGD?RUOI)Z>P@!L*TY_SP;??#?@X%MGL\[&=W9/MD+%?38L!DKV&K'&;FC+6=.EDQO#'-\/;XX7LNB?^N*W:XE M#1N&;L5,:;(W MGP[#"4+>S?"/]SF6H:J@&76";3S*6RK77<4,B]P7$-19,5S5U&W)?JHCJR7TCZ/?4?9;KFJHX:.S>Z1\%8E]J$+YNZ1 MZIJ4:=E-GU=/L115EC&7G5F.ZKB>KBI,,U5=,QUSJ9YURY2YAEG=4^:+3>>> M$/=$9AJM"?&V(6LA\QW;]0-FF" _==F3;4N1+8%\*6L MR18?)8"+19Q-X?+#=D4]*($_/D'H6M/L17;EP+1L"[U2S @M1]%< \-1H:?( MH;J1V2I ,G>%WX+*-LS7$EX ?SU>M/L^?50KT.*GWAM]F"Q@78IG2HOBF2N[ MBJNJBLL47[-5V?=]IN@Z8[H6;!1LWH#BGVT6]Q3_"!;T!'Z@!+ZQC#>,]B@$ MV6.6H>F.B2.!W9"9GA9:NJM9EN(M]=3=G8Q_GE+?4WPOXWL6L#;%MWHFR,SW MU#"PF65:S LTR]9]1]7-T TUFP5+PT]V)^-[BM^MC#^DH#,@E30LXM&A!Y6? M(F2[:6'=4U=<52%'FC5#'XTJ-3[N/(71#!ARYI MNT>8Z[G#S=8P,9W9@1XHKL]P5*AFVV' L7Q;"5P9%U=ZH_V8C)\4=#X?^,B M'T7E&(%FJ8KZZT'381^*VB?:VU0HFFHC%$//\5S+=\U WL6>]PJAB.;MA?* MH6W+WBZ$8A^.ZH7B01/FFD)1;X0B:[M@IVI6R%K)= M",7-R; 7BN\J+(R=](I8U!R+5&6IB%.<4X$-Q=#6=(93K.(V#]M]M&&>EMEJ MY>8NV MFK#5.XF[3^7KJM$FJZG:=.70LC6? 6TS3U4L4W4,734"1369Y6C;I>IMID%O M==3/_A!U'^,Y6/+=5$C;K4Z_AFU9AN:[#'1O0[<=QW0"PPADS3$5TW"W+J2[ MJ8OO$3WW0OJ=4?F:0MJ2&R%M!V&HVI9M,D<'U9LYFL)\SU'@O[ZFVNK6A?36 M'%U;G>&^/T3]#N*T3]G6;X8;YET^-'%S&)\?V.W9L/T6J6KMCAZWHJBK; M&E.8YP>NQTQ9(7IU34N7WX)4MVD_;U,T=X]4>\K<$\K<6*JVYIP:%FC',I!' MR R<#F2KGAX&NBN[AN4P:VF$RRM)U:UIT=I!DVHO5?>5=M.LANX(,C@ M#?'H10VLWT00[Y$[:UL2NG=/=Y_>UR5ON^D3XKG,L5S5"ES;8J&O.:%ONK)G M!HX9>!K;J-!H;?+>IDFLOD_R[JGY8*EY4^EM*RWI;>JZ93/;TAV?,<^QS"#P M[5 )'5]U9;:1=?T>K\?>E^7O-5&>NNF:MNAINB*HC!'T1S= MM"S#T0-5E1VF;.3G?H[T[LF[CS6O8WH?A,=LPQ0O6V\:>2BVI2@6\T/5\EB@ MZ;8O^Y[K@_+-9,T/-Q+'=,#.".=^3]"EL6,S>IMZ=O<(1#M+HFM2I-W( M2,74'%OU0MES&//]P'8TRU,M30U#RPGTC7K8K"JN^)/$VO&)YJ'8GA;0BRTT+#U/U7=,%66UH%G-" MS76QHMC"04FR+P=KMIWV8"5)-H.C.;N-"V(,.^]IM=5 T8M1YEE,9#.FV[UJJZS '&(GGJ9IJ M;96==-7X?C?<9&^81Y1K#OZOLM&! <1J>S"=#T<&YK:9+%1V/.VQ15 M_G'NY"PXIM;>T9V67-^_?/N?HRRZB=$S)XVC$O!N&A<36,A(FHZCJ11'109+ M**7K(I](R;24TO@F2B5L)#^]EY),\L9)%DEW28ISIN&+47R= #;'Z;U4Q$GV M+2Y%K?EMD7]+1K%4SJZODV&";TQQOIQT#5@$[T#P)E@*["1#F.2S MWAP4RB?\(&\*$+]Y=T[U='IQ]NG$=RX#7PI/3IU3[\3Y)%U?@]/+"^GC MUU/GJW\"O_^TB$;55N909P&W2.A=PI8NXC0FW#Q2+4-ACFFKCN\P634=1==\ MU9%]Q;5#WY=1XHA'Q"-G^NS;M2<0]#48',VR+ ?2";:]R$:])6?\LYHMXP!>GQ?WG&%66 M1^X]A0W,W7^.)5DST)$FDZ0L8<%Q40KP\(<]JA"=G(;KVUC'RZ5^/RZH1<^$ M,$H*L5A"I=TB2N.']S0E,#3-\H#0F.N9KN]JFN-;S+69KWL;1W; X!+'LIU0URW'"Q1FL(WRC'>-93[\ M",)B.(=F6T.)9;_O"U$"Q,X)*A,9'0[ GDRE$M%B",98!!@# )\VNNJ?0-6$ M&U(4NS.X'A1IL"E!^P9LDL8Q:*17\#?HU5>@RR81X-#=."]CH:FWE5&PXN*2 M]&3$K>DXP2?CV0Y0$9ZE4U3#X?T1G@C-ZHTK^#;82&HYW)GF=Z"'PZ>,%AM= MY7 5&A+(T$XQR$EK..:.?'@DM+HCLOQLIDG/(1K^'Y0-=*JY'ZIYKTIN-%,13L4%I;DHQ+( M$7 O0PMS?C])X[&+K M)36 M6+1WWWRKP[Y7 YY_ P7_&LHRCY8R*"8=@!] MNH0]@[8+@A3[ M<6O8PK_O 46]2;ANJ^+NL*P+:7R2?4JB*V"2T_L0[(\O<.K%/^*H6." )UP\ MM=C?K!RU>=^15C,_^7'!9 YD6=XV TRR1KE \[/X%G,>F-3Y\>ARR>(I^I)& M,1AX!?>V5';@L20%0#^3B%M94[ P7Y#C@'"(DJG"?E9ANELQ*VP*7E8H@GZ MV-!7-86]OU!"/HT+3?\#66>."M(PQ/X'KARZ+F"';#J>SO1 ,\VYYOK+0.?; M<[+1EVISZ^@CF\*4=$7)=X5 <]+H)ATK04\]>RHLX5Q,FI"R7/39&7 MY0-$.)#NHA=&(Y^D,Z/AN9JK,SDP;<\Q&=.9[=BFJVJFIJF*I]CA_/RXAI7F MQ==,.*^!_W[)RV15QM/VN*HU4$Q[%T0&9[UYM&7; OANG S'#1?>+1*8C;&H MJ&"1**$(?[+<7Z716545%[>:9[50*KT!;@<]AXOU6QN#VH M,=7:!=0:?15A5N\2@VQM ,YI1GRO(BN$:SK(#![CSBM4I*LHC2@"M7N^;;7\ MGLQ6--"2'=5C3#$MVS5UV5.8K8:A$>A+8^_;6-&X \I:A:[U)-"9:O5I."QF M\6AGR& KNT %#+?.A5-KT4PQC8I%27>P1ZD$52"B[$>A;/$H9DQ2(4TFR92G M\K9GZ%1!V^91\??;!)!J(#"B5M#O\AD&:_&;%/52GD"2+)6TMB_D85(>DYU- M9[!&KH;!MAR.VA@IJ2+&]&8>CX%OJI4]L E:7T'93A&L?LH#A3R^BU\4U7,6 MMC%UE>:/ZBVPOD@/I#^\+<'KZ2X&JSC/HZ*[>28BD*"9:IK MU$4G5 8M,\;CQI5_-;5DB6Q M9DDLF@#Z+0)!.BM)/'*P1"*_#/0>H0:^"K#45@#;8O"5K[NJZ]A,@3.3 X\I M'E-UU[879\.N\GBB-[/\FHWBHO4E-6$)L&;C4=<70HP]!V++W.BYQ[,%9J,_ MB0H5I &:Z&]I@1DUJU4%)? UUVG:3O"<2KEB9,F+^UX.:?SV[Q%MI@0@PWH# MF[F.QBPFVP!,Q3=!6U<5UPL8UDM$F[BP7NBO6I$2=7IV&4B*_HNT@*\/2M2% MN*2HU?D2%Q1^1#BZ:3[\X\,*L#+?,W3'L?(]8!O%(/UOL<(&[)L/O_V- MSB0>'3D@E3'&2)LI'R2%-8LMUEC((I]8\]POAF.P$]+X[+I:NECY*<5LSZ[Y M!BZQDNU1F%C D6Q9!AYDZ,P.@?*8J]I4!ZE;LN:T8(+>]T S_2! ?/8VLL.^R29\KI0!C9N^S:>*!@?44 M^?434'UW%*L^ =KY=@++)?X[/H>=(<,3 ;]W2NCO AN>3)'K@7^XP.]908\- MF[&"M56#MVJ=N9VF.FY4)D/I;M$*'^834)TJ8SR?3JR+=DQ ]ETPM VF>7:5F@Q1W$=53-=/5##19?0HXZ@L^;@"5#K%)1Q MF#T0-=,>CYJ9\L#4GZQBJHSBZ MK6BF:C+#\5W;,33%5@-5UM!+O6VJ7*HD?!%5J@/%LGNJ[*FRTU2YJ?#46VDG MEA-:LJZIKNXR0_>MP%%45Y-EUU5T7]Z%\/S']LA4&J^KGN682Z55V^/)+=I MQC+0CG?7^;PGR9XD7UULVJVFK[+M,C!= \?2F&*ZKN:BW)1=0S8U9[D=YU;% MYM848GV@*+L;G]33:$^C.Q:;1BL2XQBR:]NRJGO,9HKJ6ZYC:Z8?:K8;F):\ M5&FY5;&Y-9)D UVVW@-)OI. ZU+"LPBU8IT+__,([=9O@!K9=$L!V%<=(M1) M46VH[29NBJ=J 8AH7V&^[CM*(&/UM>8$GJ)Y2TW<'O!8/<09=AZCU0>ZOM5H MT,;HT5GQ_7[]T =$ZFM2MMY(?-U6O4#1-">T?>8Y@:O(6-%E.HJK>LQ=-\K[ M#,K>;IS7'*CZ[KQ6/67WE-T-RMY4B+,FH(/& &TUW?DSW;L"TU M4&S76YI.O!4AOL7 $QLHQE83K7I2[TF]@Z2^)F6W E!FX-G,]VW7818+-,_U M56;+GBX'@:5>4_2[F<0;MZ#*-S9P5PS&V4]I- M-W).*%;+C@TLU65 )WY@,\W2+-5V-$T)5=5P ]W6%PG%R:9)%1N_B(.,>8R";.^DSM[LV\1PP=F.& M&+J/_?XT2U8#YFBJZ\B.;S/="S7=M=B2;K)#P#S%U]8'#!L8-ML%8"H7UW5= M=("39@82^L26"Q.NHC+!5JO8'J#E%9-&36OP]C@,A'I6%X)VL??[JID4.\13 M4VXDK:&HJASJ'LY>89JMN:HF&P;S5=?R7-E;RK;<%9ZN842OCZ?JP+2-/60@ MIMP$_ -#]L&D\9BA.LSV \L*-&887F@'EJ<8KPF8[3$0=: Q;9?MMDLXDYK" MDXP*NP;2U6S*N04.TUMH EHW&!'M$^O,,6S'+IHBP@,YBY*NXF$T*Y&_Q/?\ MD1&<^U%UTSKMWYI60Z%F*(KGA7ZH,-]2+$RU8D""3'$UU_.PI42G6@VQ35L- M70^#W /Z2%S'-SUSH=/K#KKB\;<<::]1$3=$\(PQE!W1%6P-EWE < M63=T1?=L@RV/IW-G)0"Q+.'PKD3+-"_/2CP9^G!91%G)NR0K\\R<4Z<.L%", M>AAK]3@'8< ;XM*P5NQ7]S_\] $<"(R%<< +%'UY?[LP"WC^]Z4IKXL]/8U: M@!B/F];VUL<3P8\I/*9J(8BS,O#@FC-M),8P*D%_C.XQY$_:ZFLB3>/W] V7 M&;*JJXX,N 3J@1?X@#3,TF33-=B2T?=%K/@R=SBM56"/R]^Q7?9!(HJY]1Z;+V..++^H4EW--]#J?%62O9@F.6,;9T",Q49P458YR Z$2W* >0KC(I[L* M-4&*)[=I3B##&_\ /75*>2157]PTY=W FY;[^T\NRVHZVL* M*F+4#+6%*W9+('K/8;O!80DUVGRTFF*.]ENKF7^#ZLB'4?41D,7QQC3N8<;G M1>2UCY>-;I-/%EN)K6!XO,ERT%]D9JK7"SJ@'2;AY5(SPC'V@ M4[BCP/;CPQ2'JX"=02H>G"C@7C9ZP72AI]KMXRAN:)H&DV73 M4CS#!^ZCA)9KA)ZQR')\L<;5O&57W&%]5X]\++-=C!+ECAA!FC6@@#>TA.G+ MI$3[KKMQ,HV/X)MA#/NX*Z+;#P^V!Q<@;?1TT]:9[.NRX;@*DQ7/!9;IH!21 M00$SM:4H9@72+WPG/K"'R]R-OT3)R(_N/Z/WVLE&RP,0MP3S-C"1-9&[?!3= MH^B/LP^_G8)*,"'ZJKW=C[<;WPS&P"-!\G,PC_,49 !Q1*ZPB)%?E3I$NM&5 MD)QO#7FK74 9^*;B^:&K^$RW@9AM/9!-PY*=T/-4]B QMT!_=GU.6^X4Z!7V M'-"_1L/Y=63)FBW@>;QYT=VZW('L":]:LPO[>1XS?CDF#LP)?/IW7%1/N(UN MXJ.K(H[^.(JN83F_1.E==%^BMWA=YCHF5@XYGNI9G M^:ZVZ&'>Z;Y6A?.?.ONE-6PY%7^%J_OD,O@L@GJ_2)^=4^?WX'-P>BG4APO) M/[GPOEY3,=3BH.I_6PUI";21QEPA"_X)Q1(+'I5 *SB0I* M#N^2H-B:1JL%8831<.XBF+]?"5;<'WP'0SV[B5L/TML/.I;.XX@D]S!"IHW# MRJ[OQ6BR1S8$!Y//"FE6UDZ/NQPS:Y#Z5/E7--*&TW) 'Y5?JZ\Q!#=,;FEH MS\)/L9B:O/3#59PF\;?E[V^+_)^KWH$3!4$^+UV>@M&Y^"7Z6!:_FT3WBU^! MAK-\'8UK6[YR[EL$4ID HD:%.!_\A@]&:1TFNA?KZTJT;KG67,;MJRBJ2>$0 M\B7A\5?S%NO#H^?SPX^:84PYNG*JM 4I_L8?AR5,23&<33 M8T@C<6DT"[J] MP%3&_Z!)?$540V\#*BMR;HKSQ]:S7&C\0X;79CG8R<4$IS[."CZQ\09]4/6. M'D:JA!M?0_-V.&J< MBBE-DN^4+0**V9"GMHS@J6E^2PX_M+*^)7P2<9(!>D_%$9137-@-**T<8SE$ MZY'BK5'C#; !8=J8A=? U:!Q\(?G./7L#U"->=W:+.-_%TGY1RF^$2,-B660 M"X).#\B_11 M^8GS,.0C:5X*B@!JP(H[ ;9?I8^JN*Q">WRD.'7 S5%2SQC"Y]RD^16L&C3S M+)_PENUUN( 01+$)K1@!))46^?. M(M2R)5)YBSQ+AO3(: 8;R(GVJD!GC _66P\&E!4C;Y%: <"$!E(6WU4(!C>P MAVZ(AF/DD,KP M'DY"B(X6I<"+!PFUX>$XIF.I M*;F\+X'. :G*8G9+ZX''6 _N=3I%'P6MIXBYE/\#^'CM4(_I<.V?N*<^2E+$ M#_1!4L\A2MR",\TPS(Q#BE#;"/[[$BIU,T6DJ,!QQ:@@GRF-1 M"+AA5$X;!C>*X>81OD=]Z!1',>**8*+-7L:@IAW]"Z@=+VLON$T$TW@XSO(T MOZ&=YE=EGL8E6%Q#0HR*.*N[:\19>#_Q0D+P]GOTU0<#EP O;TYE2BXEI*2K M647$N:#9 -W3*D-%8?.+=#E%&,Y]0;OQ219.&2"?"73>WQP M14IXO^"SQ-R1 X%R>,09 K(<7B]<3F$'\/+DAL@"'V&VUP9*)M?2*,Z#4^6^ M(0+$*$KY5MI4,42M) 8")?+%1=Z@$UZ\C;,$_%3+L(J!$\.JDSFNZ@#((H\$ MM.*BJG&6U_YT7(PM%M/,N,4=@/#'NV!U!2X--=\J:1+/7)Q5)? 0ERFIHUH. M[ .83H+^03XX&J^XR?,1ZFI+-S$&DDYL< M-Y<"YDA<5:M4'%+C<0PS:C;Q]W&$ELBW6(0=)$!N6#AB7B'497AC@4'5*E(P M0E:$3 C0$@BQ%*>%LD]"ZD+O=3NA[4L$4N9$.I).@/?QW2C.0D#A3Z#_9]F, MYBR25()G@@4VD13YZ"]UJ.TZ03U-X!T] >L%%"]<0%2D 4MJN.YA>!9I5$R M*>D%^54J* ,74]8.,'@2B*_D<8.$PR,E+(,WY$,AQX@G-78'3:">9>TOA#X, MW\^IPQ+Y;)K5T_87U'':4>\?:/P#P7>0]$0X9]^0 \=W'?,+Y#=9_!WPKP!Z M$HY*'-.= B$@0H&1E@*G&<5S:6P39*997*6NU8*&:\K1;:T&4-K:_]*%2+5M M%0AM*+([D%6A0LB'HX)F/,#8)"AYL&R\JA''N" 1@^?6&9I98@WDP^ L$R>Q M9S7[$W*-=(9*0R5=#0.8E:9:1FG\R,86TO[2,I=N0"7E>F#UT*M[<4;<""*S MFQ@&B5]0ELC!0B(PG5(V!"D"A4B_J00TKA=MF4IY 3$WSN_@'<6@NJ9^)2@] MF/N,.P%J35%W!!!DP Y_)$9#&6&U6HY2)4WK'&.4H^@5'CV#8%\1)1= @6&R M&BMF)0^-UW@SCR.D@+:5H1II^(!['-,:@\8#1]38'P*=YO0Y2OY [">..X2% MP3I)(J)O:((01RGK\\=P3 M>)QF<1C[6Y/D>8N%\!JEI""$+J9<(&!@C;,;..H?%$L;:"J56Z''1S :HDP, MR*/GB)!*57YL6/"J9UK2J*!\+<#(EBF/1@.PQ*)F;4GVL+^A N*Q1/E,Z#VX M02Z *'R+< +]^B;FSJY*.@Q3FND. #3U'Y_8-6W 9(]?!AN9Q2T&)G3DQL#A MB(=[0E%42F [P4X J\]H%G1EMF0M/%V]G.I\B8JU'ZMDN">6E:'NE_*%\674 M;VLE+<%E",=O\7S>'?GEYI8JBD_NX)!5_M+7OLWYM%[S0 M.[4-W\F>\4ZJS9LOM!GQHFU1<(,K^4$^5O7U%P"7Z^S1]RXSALX$?]67!W^[ M'L-]C:J39YHPNU_2"JOFO$GW$T0/G+=;(LLIGW;@HH(@?!%(=&#G@^BM2G*Y MF@QK/.)_"4)-RCRC"EY)Q.%$9C")N+H4K\Z'1'637"D@MH[JA5 9,.FB+2.% MAV!;;JEQG-Z6*"/ JHB%CR@O2A'/EUI^NV;EY$[*:T9SM#/D5%DMW)&/?1RTML6'](V$P5[+.L7 M@R9\%X-*4)DQF/5ZO0C:<302E0U8^R)>4($41>)1G1 .F^.V7$I*OO!@D7,C MHLK2LCW(_:EMQ]\7@BI"OC^.BQ+_&\_Z?*WSK0M"R00L1@1'\BP*DY";RB37 M49UH=@B_8P%X74/Z-4OP$^4M$$$[E!8521^_'E^ SN0X7W[BFBMW#PK7('H" M^$-:*,Q57%P8:5?HL&HR 08U!(%8N,1;L?SZI9W2@.F)(\QI(Z3\A>@-U]'H MQL]?;M7#5%YH=+-K)7Y.0_Q!MP86KS@?H,#Y<=5^*2*/P M;1 HA]%M@KZF$JP"XGYD%35.@T6W"X_+<]%[7QGFW"NXRI- )0I+06-L-X%B MB4+3:$#S]4]7GV:=;U']5HHV'.B8!WXTY7'[_/JZ!*T>CQ?/ZT;88P_Z!C;@ M4Z^-7A>T SB9!AYU%3%N2G!\"LXE15V\1\?+SY#8%W_[$V?/.5D1WU2LT"F3B',6XJD\=^$: M_EIBYQNJ.+LR/)WYX&15%UEEAM[%(G ^)YY:Q9_+[D!4%CGB4%2"]OZP(Z1* MBUCYN"IB*R*@"7E^*QY?SL4S$4[DD:F%&T'SN41:83Z%A^ ]/) ^7S-:I0I0 MJ#>-YT5/[=GDYA2%HQ]8*D] >-#E_G#00O!,M$X*'BWC^(MG6:/OW^JU51$L M!&2!P0)T5JTEYA[W8=5.QF:K;81I'E>A3ALWDNPQ+&J[QQ8.<\FEBCKB/S%L MW>3]@+Y"_;5X.A*='L^BH]@CST7"E)L2K*!N>=T?LSFX)_LS>;*[M.9J94_[ MV%&3K7SK+;[P9.LSWAAI'BW:SO=57906)%*5#ME>:6N1I&.O^4@<$L,XCD:BE+>F#8[M*>9YM4YB$_MDQWZS]:3 S9J07DM* MM$2E:#R!\IT\ DNPJOUDC[&DO2'E)F@2B(A+EU9.KEY*V!ZTL[5%$G8&X(AC M0OJ/Y_Z_19/;7X.?FLC1O)] &3"+U6X"]K2; >Y05:N^0WG,L8 (6"><57A! ME'H%:[Z3/M)W^:R$!Y<_=3B(HKVO(,K:6-MZX%R7:+EZ "@J "#ZW'YCAH[D M=.Z=9'?#(SE^#.,T%;]273A^QM+9ZO.*L[E,)H#=IZ UG.? ^A=7>Y>,IF/X M$[8JFA\/\S2-;LOXE^J/I<2S#_7L(+@$C_<_/E@??GMPLA!_A6'_^&MUT>)O MRB,_:9O=MLN7=7-ZTBMW5:]!KWUXXA">&(+U5B.F!(O]19 MK__GHJIPV'/$*S5L+EL(C:!7FB*YX^W]\()MO.$0"=4>F-@Y^-EK[^QTDP/@ MF3WNOPKN6^; P%E!^X/[ZXF#_9[C^24NRCS+XO2HBOR2M^H)[4)]2KO8I\D^ MEKV)4.S>N)I>[STTS-0&LFTD&9]\DCR^PN1LXLX^%$=:/)B2O=S5(X& M,&^O.OWT/C7<_49 ;6#HFW#!?4' ]Z!FAFNE/;\GV?Y14S9Q!#RYQZYC>Z^E M'APF*P-F;E5-W1=U!4>Y]<3KTRVFUTVLQ7U'&S>[]5RX/5[R-O9=Y6Y'"GG?TO&/U\5C&0-0.O(SY5LNI8U6+WB; MY.8E':+)69XK?'MN-QQ1ZYY4E;"MW'_>RYFW]>*C[K*Y;@S\?NJD1U5D6 <9 M\1Z.5_%-DE6]\O$++(-Y7DTU%$=25=)21][Z>*B2W\>$5VP:-JU?A.MXL!:W+OL4):.WJ\/4K>-=J/+"P@MJ M@%#W)2AY.P=JO]?NK@L[@=^IZJ!;A3^KT/*Q2AH\.(7]R&LY'RAJ?;R:9E#U MHZ4*C,%<<0U6A]*3]2>+;/[6[HE"$&]&.V)3M(0ZW.)#ZPTV7=^Q- [;L(F^ MN:WFD-1*,:)OZG9X%0Q3WJ]UG-SR8A'L+A)_QV(SWBJRU7 YKSI8PL.S7'3J M;N-#CBWSG??I)*9JJ.&;2^N3;EPSBE-I+U M$ W1P;^J2VM::U*=3-U.6S0.KI" ]^SF9%6U]VM*=:9Y#0G^BC_F.Z/7X&CW M(:[*\JB=/"_X$)VLJ= 09TK,/;C5T7NNL3_G9R/1O5,@#9;AS?4KX*SQ6.)J M6(BE0G$QH7U,%^83-B,,\^4!W2LJ+#FOX+Q.L)6:V:W8.7$X,;F KY;P@2:5 M8'5A(CH8+/=E$P6?\[-$J5=+W7%:0#&-RA(.G[>27*+VZA08?D"F\K,C5CK5F$;_X@7_X*-*I(A M/.$"2#S!/JR_\^XX',F=$8BZA*9.((?H9E56O?2;]M*C^:5_O/B=,,5YI"9+ MTY2F]\O3-5ES'2)^T :J::R\_:4%6L_ G;Y\:,/R(7/#BA[U-;%=QWY6:?2J[Z'AIF(-#'MQ&OM^(N^R[*)74P\.D_6!OC0WZEW@ M\@%IM<'Y%TS\^"?F)FS#"=!)1,7NI8=5>R??MEKKW_M$N<\W]0LS-R@0[AYD'I$8^E'K0G7K.@R^]VMDA[*K"R@#[ M<2.U_.D*JTX64KT#+;VGZYZN?U-L>\#TC1Q#^TG8G:V07);*>UDA655Q\!NH M")*_4.QASG^%Z\9@PZA*?FSOJ35&[4\EE6@%F'IZ6R1EC,.;\UD!2_P"2Z1E M? S.O_PDE??E-)Y0>592BD\T: JV,J3W8(UB7'Q+X%Y1*O70:"-K4$W*JPJ] MR@0@&!5B\;1#/AQZ;A=V7RCZ1*'HH)J832-(^4"\^KGS57U44QJE.)*/EQ=> M(\P0_[+X.IF65+56Q@\NBX^VQ>E[]!:JCBQ+JE8EX!81'O(JFJ)J.+&**&VV MT:D2UL<&7IWFV5%3/'>2T0#$CX) ?^K2+OA@YFIF8H';&?%2N'G*2?.RY+/3 M<62534.NJ@E6NJS1Q^T6Y?Z@F7;S%E.VYM[Q0'GN4B#U)DH$OHD=B$K)!4K! M1Q;QMRB=48H/FR]OH7GQ#!63 R8;B2*^ M@H"A"UX>%?'<;#<<0%VOEW-,;2\&C5:B0P^H!/EXG3%\.C.#");[-@_Z@>1;9;RU:HK M)E8W7T*I#!33K$LH-7F-L7CZ@,E-U:7^:-FE&'U9O;,>;@D\1!#-?1*GHQI- M&\T&Z? :E.,J%9_87YU7,VO;@NF:^#YP%R^1:":H/Z-2VR* MK#LEK1[@\WRRLX :,G>=&6W6KFKV#E@[?ZN0_%RFJ"U>;Z_%ZL_:2_\H'O93 MI764TG64%!(R-M0E\!1YR3\.']EZO9\NJWV7D=&GEPHP6 M3P&!HIM;8F7T0'5@*4KS? NT8/E)MK5*[02;%#D+KEY85O.\A\84)]BW!6>9 MPS73NSC.Q!AV[$2"?(%>"D^XG16W>2GLM4HGJYT2:)<1\[G)X)1YPXMKT-3 M'@1IQO52,B.KI] "RFD^_$/*^23H^#OHA@DU\)#:$F4896B/ UZ/DB'W4]1, M:?4#4#6()[=I?A\+:WVN(0D\O_L(.M<#9_HB;%4&FOHP@LZ/#-:T>51;[D3Q M()>@N=/SK@+A18+%)$5M!! &3Z/I;,JMOC29)-.(]YK"UP[C@OH5P?/CXEM< M"MV'N!EN;9:)*U"8=DP3"KXC1"K_4P((3)V1A#MCE)0 I2G?!HI3X>E8F\,; M#W'X*$UKAG"+!P34PX6X*E)B/1-2B;@4J1STKIGZ GETCKW*%# M$6,ZIKN\2#FFCN$TZ$;>!BB9EKR[$#UTX7[>?.AKEJ :=#%%]]Q .D&]*!MQ MCDLVI> Z'#/SXKY%9BA;C]F/N$AQ']VF\J_H[GDQ22]$,_8Z1@TP;3T5M)#; MG+>LJIZ/5K/R(WG(P!3,(F$"4'2 ]+N*(@3Q+&(+6M5DVL_@KML"O4/3>_(' MC,$X06882>7L"DXZB6 %=V-@P,!";^#J]E%)HQR(#5DMKHP:,7$,&[1T0_)D M5@Z"%6C*E<:Z%U)TE<.OJ*C""]!?5Y]#P>$0I=BVYF8LO 4@=/ $H^_(&K[% M10D\#8#]#8432"8X8.QO1IRE\F .&Z"O^_:&16'1^:$=-R_LXG.EY1WRSA]"+4!(QI+1=>^SG* MHAONYX+?FOYGE5=(\,E&45CDF-7JD-QX_ZZ2]R1#*P?%7INC5CH.W%VI,C\H M(,L +&GE>0-SD-5?/+J]^>63/[]: 1Z4V,PJ&HAK(5 O#WC/A""++)Q;;%Q< MERFB(;6$J[04#M-5A\M/8T.19^T(L<^6N\C-"35N9")CY&WG!MALC;<$++AS M)+[%1H1%1FH6N7:^)>C,E\K\>GJ'?(QK &1;= Z)WP,'^!?@ M2Q&7A[?PBN]P'7!&=!/9-= ?)(;DAH!7KW8U5VUQXYJE)G'Y'%1Z/B7 '7QY M%18_20HM]:\F!=6 M+TQ,]"U?K\2T@= B;X$*QQ%G?Q@;1E&"CH*!4)[NJ\@;G#M:$2/ADA\*0B;N M"6 2RM-9_2I:<)+Q);>L[Z+VEB39JG!>XVX103AA"D=S?62C"074,< @7+ H MOTCB5=UQ*TZ-1X'FDA3CTXH\2X9E[7V=:\"[L#C$S8P4\*IE[.+V\MET87\+ MAU:''_-L5L;M3!(4XC&WC> 0BEF3 M(Q?/=6 /K9Z#W-X1$QJI3:@"E6[;"; M0U,\K!D*TS%HZ*3+4/Q7*#8#@' VNXY0VZ9W ]^0$.5Y[]^6[WZ^\_:4_\49 M,;'&":I4@DXFT2A>]O=CJH.0[* RS9)T).RY4P ^TL;GJ"RCX7B&P6G.F+\! MX:)!GO* &ZQ3A#!6&%>=B;PN3AOI(Z^;^A\KM9YG3X3JT M6&9@RA?D_5UFPS^HW(=-5#+OQ_A3.<>D,?;U@!2?MRN:%XPD96#(W&5> J'% M(A&*G-+X:(I*OU/PA^O40#*@5$\&@M,A.2@#380(5S['@/?8? _/Y!8+ M"L@D:J^_>MGRVE9UTY[=5L0-@A&T"EQ&6Q_"@*=A63S$/8J)PV%&'WIND*)C MWH$;N0Z K;7[ 4H@O))T-5@&*3WSCLQ1DLYX6 E5.5DG_/#PSW\(XC^(>;7 MC8GM\5 V]6ZOI.V"@.^8D%BE%*U ^U$\3,GOAWNZC1+4!VAKE7)!0)&/988@ M%* H/%]?0F@7PB.VRK%UV"]&>ZT'AH$?M@^]Q/M, UIU)8^@628YA0$ M1'B-XNN8TER%AE>N>("JU_<+>P8-1PH^B"2N*@%&>! P>Q=-)70WCX2+F]16 M_N*W\,%4!BO.R6B-$VA/-ZC)BSHC0W=%FK:=^/&)M(Q'F-S%1)1ERCWD'!%\I9]=@W21B<,DDCJ?S M?H*!> \G>\P$YAZP>0]"S>O@7"2 1OJM$KAK:POC:#3O*@!8K=CKTOB1^6=@ M?$1*""\?B#5QZ[8J@=3Z')7;+ MR;>C0B*<+_ %SC_':#,A1K=DQCFR;83K%^!RTHET))WF@',JP9U0#!A=B $D M13[Z;Y[B"!QN1L(91'MR6PD+]%+PH31EB1:[<%_P0'[[ %IJL@CJ =GQ67+N8/AVWGM8Z7A&4G)Z#\^E*8?>J"] M,\\S+.;HNA.RT#1M30\#S5<-%TV\:!/X;1^[3BZ#S[R*3_M%^N^OSNGER:5S M>?+70').??SB4_79/[GP/IU=?#T/+B3'/?MZ*7UVSO\27$KG)Q=_V1PEMR%- M,+Y<1V:SO.6L:D***Y,;O@/8R>/2S&LJDO(/J<2"IQK SUR0#VB,[%\M2BP76":[GL&"@%F::;+04BTU<#5;UVW9]$);81MCV:L$+AK$TW^1 MO+/3R_.S3Q>$=%_.S[S 1SSK%J-SRLI&I$R&\QE6#"A:=*0P/EB-C?!/P28N MZB1K*:@*LAQNN2K "9;%N8B_Q:,!EYC!6\ MEFR.,]1V@#%7'/!+51$EA373HXI R6G8K+AI(UD\B*$(/Y]:HF%*%MN(0O30;.$2N[8<.G\<4B3ZD$(>A4$0$>N0MF M,"!Y166>@:UX#PKX'ZBU3_/EZQ>=K:L/;<6!=;@@:K'-Q 9N^4H"VXRYCA$X M7LA8R +;=ES3\@-+]IW MXQ%"=Q]?_[NS9DOSOFE='+RBW1V^9_!N71R&IZ= M?P8-\^ST$4W'9JYL*KYGRC(+=/@8A)9LAK(7^@Z3[4[JT\JQ]"GXW?G$]9G M/SG]O6,*S5]%4&V8@K@0]:.4BTD"AUP&9367D/+"AI3HRH>6DN> ANH!+Y@5 M(L.G+B&B,(%P]Q>4Y0VL)>."_"H>1^DU65<@J*EX=3IO6DE_&R=I3 -7EU/N M\]FTJN3BJ7G M3"42*,UY^?69O=UN=/]4L'!A+N&\/%D/;2"W-&(,CZ%M,0U MH]-BV5H<-,X+XJLK#)=GYQU#ZI#<"VG"XV25MY_0 ? 4D[8Y3%?I.17Z#E8#-453;,4UPQD"X0H4VQ#T37;"7T#1*CC^9W$ M?/58^GIZ'OQ^^=.%\"BZDLU *_OOKR>4_I(O ^WI^9K+E_;[LC< ^@IMWX/TR?&F^ZXD>;2%-,-++H5DN@2(^T/\JO=O_]TAFSW M#1> T562.6^XAB]5JM?[;.NXM0G#^TF"#FPVNGFX-<,KX!_FLG$(?8F2T1NN M!)/(B!S?.26\8V'$SX?+!?YW?OV&&-D=X2!%;[H,=#& L/PRNTJ387K_ADMQ M,IZX\9:,Z@NE]>5OJ;E\X5G4I?11>>]36]ZIXM DLKXA&O)FAM)?L7=7%_1X M@[=8=/O=*[1?\W2>TF1CB3Z M0[7F/:MO-4AGMUWK46I1*.8@YLB\YPE'6]>@=@[>!Q!RH]D13P&V)[">P'9) M8#W+[S&R6QC9L_PWG,O7E'X?!)$=T'P^KMO;H.4[LYM9.954MK&>?UB\O;,L M_ X]5X/;>Y1JHLHU:-1CT;OG3.]3,_JN#JUW\[42KLR0--:[@GQXI&8RX&Q M]V*!;WH,G66BAVRA;RU+IL?N'KL[A]T]1O<8?5@8_3[Y]0O=E7N'X0?DSEQ1 M%-$["+K#*P^ );X>&KU=+*E'_A[Y>Q[:H]'^H]&[YJ'[[ [^F4K?Z^\7DW_7 MZ?XZATCZ5EHG?%1^DMYP L&7NOW"BI;\>"G.RZ6V(NT5/M)X0S-"S0X4A2ER MP&17=C7-5W3=-TSFR8;5S<8;VK'D!Z'S]=/EA?3UR]FI=!&C3H*G;0)G3/%LQ&J^&0*AKAF+:FNRZC"F^YQ@*\YFE**'E^8$7=A("^K'T M^>0TD"Z<,+C\1[L9;+=.?HH=XU-@;(VF:9N=OKQ+O.](WS]S:WW_ E]57&9;3JBH3%8\2PD=S9&! MB U/<\*EMEW=[_MW5,;#(P!($0VGOY2SR20J7M*+RUBA#VZ/#HQC*?C[?YZX M)Y?/8#[+FVE=/:Y\0WB!ELGU VU$TTY M5O;))GZW3J%=19Z6-Q/-@74EWQ;D*P)Y'R%9MS.PZ M4N1_?1<_:HIR/)Y.GHNM\V_]\)N')U0-^Z7&'G5K^^76][>SHIQ%?,P1#BG@ M,PKTC]%//].( ORK]B8\.:C@SS7HH@TXP1O)\LU9A-H+YH-E*J^ZZ[?A-NJ. MN4TS2*.+W*:;3$7M]8Z]81$'PPG4M]4[%$OZ>GQQ[!T#.V RC8&GF6PXW;-U MV8480&_+1CTW*2JNHBPNC\Z^I_%]Q1M465;__*Y4$;5710Z8SQR^*J*^K2K2 M00;4Q60915:.+[S_[/63/>$;>Y&1>Y(A!Y'^[IY_DBZC[WF63^Y!7YC&&$\ Z!OGP<)I]LF[KV3$+JO70\6"+=;^GHT0SX+]%- M+)U@'GS8I#IV/ MDHS7NXA\RE)"D?3G54-5]E?*KN)JO7SM(NGN!84B%8XDV'>,!/<^).:?-Z&A M7F#N!]7MM\ ,9T66E.,U2/*Y);$O7MH*-.Q2"9>U<%";EW#9LJ8XEJPHS%&9 M[VBN8NJ:ZH2VJ5N>;6D??MNW$J['AB-MJQ;QXN3W4^=R\ZI/Q;C=0IWAEU8 MGU=7_VN6%#&:@V4=Q7\\SW @;KQ)RFF!CQJ#9CK"QNC#:%92U7928MEV7M!K MKF*IA).%'U EA==,HO9:N[NE!E#8A+I@B4<\RN(F>UU2"+Y=&KD/'ZC./ M2%W!5M]?I1O[\+!FPU]A/%RRICWRF_[P3^R1N^SG%L'MA2 #$R_^Y2 U9M%, M@9/1"^:@O>YF-RAA?&DSP+V!J'?V^VGP=\D[._]R=KZB='Y-VGQ%FU8P8?8L MD=F-YCS]5ONM]EM]B_+;0_>Y]?O;![UASW4%]_[96NT;#RW?SKY_+G\&JPST MWJGT7\?2WY(TC:?3G@WU^SLH-G3HL-L;-MNSFAY=>U:SS[#;&U:#*9H)^KBE M*!M)WCB)KY[PGIW1GZ)9$4G.L?0Y&OIY%J6CG@_U^SLH/G3H ML-L;/MOSFAY?>UZSU[#;&U[SUV082PL^Z;RXQ2Y\. HLFQ9YFO8.Z7Y_/0/: M*]CM#0/ZN*J/)K(A9SC,9]D4%O.D?_H%\QJW4Z#4^7*UQ8H!_/?__/O/5_GH M_K?_^^\_CZ>3]+?_#U!+ 0(4 Q0 ( >!7$]:_A9>0@@ %TX ; M " 0 !A.3(Y,C Q.2TQ,'%X97AH:6)I=#,Q,2YH=&U02P$" M% ,4 " '@5Q/5&D,$EL( " . &P @ %[" 83DR M.3(P,3DM,3!Q>&5X:&EB:70S,3(N:'1M4$L! A0#% @ !X%<3^K/KA"< M!0 \RX !L ( !#Q$ &$Y,CDR,#$Y+3$P<7AE>&AI8FET M,S(Q+FAT;5!+ 0(4 Q0 ( >!7$]AQ3K3J04 #4N ; M " >06 !A.3(Y,C Q.2TQ,'%X97AH:6)I=#,R,BYH=&U02P$"% ,4 M" '@5Q/_A1OP7L1 ">NP $0 @ '&' 8V=N>"TR,#$Y M,#DR.2YX"TR,#$Y,#DR.5]C86PN>&UL4$L! A0#% @ !X%< M3PUJ[ /H00 ?0\# !4 ( !"58 &-G;G@M,C Q.3 Y,CE? M9&5F+GAM;%!+ 0(4 Q0 ( >!7$\6U!4XE., *^3"@ 5 M " 228 !C9VYX+3(P,3DP.3(Y7VQA8BYX;6Q02P$"% ,4 " '@5Q/ MO2>]I=%^ !0/@8 %0 @ 'K>P$ 8V=N>"TR,#$Y,#DR.5]P M&UL4$L! A0#% @ "(%<3](%N<" XML 26 R63.htm IDEA: XBRL DOCUMENT v3.19.3
Stock Repurchase Program (Detail) - USD ($)
shares in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Oct. 29, 2018
Equity, Class of Treasury Stock [Line Items]        
Stock Repurchase Program, Remaining Authorized Repurchase Amount   $ 129,688,000    
Stock repurchased during period, value $ 20,954,000 $ 61,690,000 $ 142,262,000  
Repurchase Program October 2018 [Member]        
Equity, Class of Treasury Stock [Line Items]        
Authorized common stock to be repurchased       $ 200,000,000
Stock Repurchase Program, Aggregate Number of Shares Repurchased   1,601    
Shares repurchased, value   $ 70,312,000    
Repurchase of common stock (in shares)   1,398    
Stock repurchased during period, value   $ 61,690,000    

XML 27 R67.htm IDEA: XBRL DOCUMENT v3.19.3
Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail) - shares
shares in Thousands
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Earnings Per Share [Abstract]        
Basic weighted-average common shares outstanding 170,744 172,189 171,053 172,613
Effect of dilutive equity awards 3,705 5,056 4,111 5,408
Weighted-average common and common-equivalent shares outstanding 174,449 177,245 175,164 178,021
XML 28 R48.htm IDEA: XBRL DOCUMENT v3.19.3
Intangible Assets (Details) - USD ($)
$ in Thousands
Sep. 29, 2019
Dec. 31, 2018
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value $ 60,724 $ 60,724
Accumulated Amortization 52,730 50,611
Net Carrying Value 7,994 10,113
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
Remainder of fiscal 2019 582  
2019 2,185  
2020 2,017  
2021 1,691  
2022 989  
2023 422  
Thereafter 108  
Net Carrying Value 7,994 10,113
Distribution networks    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value 38,060 38,060
Accumulated Amortization 38,060 38,060
Net Carrying Value 0 0
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
Net Carrying Value 0 0
Completed technologies    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value 13,687 13,687
Accumulated Amortization 8,261 6,619
Net Carrying Value 5,426 7,068
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
Net Carrying Value 5,426 7,068
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value 8,607 8,607
Accumulated Amortization 6,101 5,716
Net Carrying Value 2,506 2,891
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
Net Carrying Value 2,506 2,891
Non-compete agreements    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value 370 370
Accumulated Amortization 308 216
Net Carrying Value 62 154
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
Net Carrying Value $ 62 $ 154
XML 29 R44.htm IDEA: XBRL DOCUMENT v3.19.3
Inventories - Schedule of Inventories (Detail) - USD ($)
$ in Thousands
Sep. 29, 2019
Dec. 31, 2018
Inventory Disclosure [Abstract]    
Raw materials $ 30,283 $ 42,738
Work-in-process 4,848 3,435
Finished goods 30,133 37,109
Inventories $ 65,264 $ 83,282
XML 30 R40.htm IDEA: XBRL DOCUMENT v3.19.3
Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Detail) - USD ($)
$ in Thousands
Sep. 29, 2019
Dec. 31, 2018
Sep. 30, 2018
Dec. 31, 2017
Debt Securities, Available-for-sale [Line Items]        
Cash $ 105,620 $ 104,655    
Money market instruments 16,081 3,557    
Cash and cash equivalents 121,701 108,212 $ 107,371 $ 106,582
Current investments 292,072 427,348    
Non-current investments 504,641 262,039    
Total 918,414 797,599    
Treasury Bills        
Debt Securities, Available-for-sale [Line Items]        
Current investments 105,454 198,477    
Long-term investments 256,615 32,760    
Corporate Bonds        
Debt Securities, Available-for-sale [Line Items]        
Current investments 87,209 137,871    
Long-term investments 167,998 162,566    
Asset-Backed Securities        
Debt Securities, Available-for-sale [Line Items]        
Current investments 89,576 78,407    
Long-term investments 56,816 53,631    
Sovereign Debt [Member]        
Debt Securities, Available-for-sale [Line Items]        
Current investments 6,300 8,101    
Sovereign Bonds        
Debt Securities, Available-for-sale [Line Items]        
Long-term investments 16,000 6,316    
Agency Bonds        
Debt Securities, Available-for-sale [Line Items]        
Long-term investments 5,905 5,921    
Municipal Bonds        
Debt Securities, Available-for-sale [Line Items]        
Current investments 3,533 4,492    
Long-term investments $ 1,307 $ 845    
XML 31 R28.htm IDEA: XBRL DOCUMENT v3.19.3
Inventories (Tables)
9 Months Ended
Sep. 29, 2019
Inventory Disclosure [Abstract]  
Schedule of Inventories
Inventories consisted of the following (in thousands):
 
September 29, 2019
 
December 31, 2018
Raw materials
$
30,283

 
$
42,738

Work-in-process
4,848

 
3,435

Finished goods
30,133

 
37,109

 
$
65,264

 
$
83,282


XML 32 R20.htm IDEA: XBRL DOCUMENT v3.19.3
Stock-Based Compensation Expense
9 Months Ended
Sep. 29, 2019
Disclosure of Compensation Related Costs, Share-based Payments [Abstract]  
Stock-Based Compensation Expense Stock-Based Compensation Expense
The Company’s share-based payments that result in compensation expense consist of stock option grants and restricted stock units (RSUs). As of September 29, 2019, the Company had 17,350,152 shares available for grant. Stock options are granted with an exercise price equal to the market value of the Company’s common stock at the grant date and generally vest over four or five years based upon continuous service and expire ten years from the grant date. RSUs generally vest upon three years of continuous employment or incrementally over such three-year period. Participants are not entitled to dividends on RSUs.
Stock Options
The following table summarizes the Company’s stock option activity for the nine-month period ended September 29, 2019:
 
Shares
(in thousands)
 
Weighted-
Average
Exercise
Price
 
Weighted-
Average
Remaining
Contractual
Term (in years)
 
Aggregate
Intrinsic
Value
(in thousands)
Outstanding as of December 31, 2018
13,789

 
$
31.73

 
 
 
 
Granted
2,879

 
51.22

 
 
 
 
Exercised
(1,475
)
 
21.53

 
 
 
 
Forfeited or expired
(726
)
 
41.79

 
 
 
 
Outstanding as of September 29, 2019
14,467

 
$
36.14

 
7.19
 
$
203,774

Exercisable as of September 29, 2019
5,714

 
$
25.33

 
5.73
 
$
134,913

Options vested or expected to vest as of September 29, 2019 (1)
13,116

 
$
34.90

 
7.04
 
$
199,066

 (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.
The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:
 
Three-months Ended
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Risk-free rate
2.7
%
 
2.9
%
 
2.7
%
 
2.9
%
Expected dividend yield
0.39
%
 
0.32
%
 
0.39
%
 
0.32
%
Expected volatility
37
%
 
39
%
 
37
%
 
39
%
Expected term (in years)
5.1

 
5.4

 
5.2

 
5.3


Risk-free rate
The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.
Expected dividend yield
Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company’s Board of Directors and dividing that result by the closing stock price on the grant date. 
Expected volatility
The expected volatility was based upon a combination of historical volatility of the Company’s common stock over the contractual term of the option and implied volatility for traded options of the Company’s stock.
Expected term
The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.
The weighted-average grant-date fair values of stock options granted during the three-month periods ended September 29, 2019 and September 30, 2018 were $18.42 and $22.52, respectively. The weighted-average grant-date fair values of stock options granted during the nine-month periods ended September 29, 2019 and September 30, 2018 were $18.58 and $21.70, respectively.
The total intrinsic values of stock options exercised for the three-month periods ended September 29, 2019 and September 30, 2018 were $5,746,000 and $17,985,000, respectively. The total intrinsic values of stock options exercised for the nine-month periods ended September 29, 2019 and September 30, 2018 were $42,545,000 and $50,975,000, respectively. The total fair values of stock options vested for the three-month periods ended September 29, 2019 and September 30, 2018 were $1,213,000 and $997,000, respectively. The total fair values of stock options vested for the nine-month periods ended September 29, 2019 and September 30, 2018 were $32,072,000 and $27,557,000, respectively.
Restricted Stock Units (RSUs)
The fair values of RSUs granted were determined based upon the market value of the Company's common stock at the time of grant. The initial cost was then amortized over the period of vesting until the restrictions lapsed.
The following table summarizes the Company's RSUs activity for the nine-month period ended September 29, 2019:
 
Shares (in thousands)
 
Weighted-Average Grant Date Fair Value
Nonvested as of December 31, 2018

 
$

Granted
75

 
45.20

Vested

 

Forfeited or expired

 

Nonvested as of September 29, 2019
75

 
$
45.20


The weighted-average grant-date fair values of RSUs granted during the three-month and nine-month periods ended September 29, 2019 were $45.20. There were no RSUs vested for the three or nine-month periods ended September 29, 2019. There were no RSUs granted or vested in 2018.
Stock-Based Compensation Expense
The Company stratifies its employee population into two groups: one consisting of senior management and another consisting of all other employees. The Company currently applies an estimated annual forfeiture rate of 9% to all equity awards for senior management and a rate of 12% for all other employees. Each year during the first quarter, the Company revises its estimated forfeiture rate. This resulted in a decrease to compensation expense of $499,000 in 2019 and an increase to compensation expense of $1,283,000 in 2018.
As of September 29, 2019, total unrecognized compensation expense related to non-vested stock awards, including stock options and RSUs, was $59,708,000, which is expected to be recognized over a weighted-average period of 1.60 years.
The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended September 29, 2019 were $10,194,000 and $1,804,000, respectively, and for the three-month period ended September 30, 2018 were $9,143,000 and $1,654,000, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the nine-month period ended September 29, 2019 were $33,442,000 and $5,839,000, respectively, and for the nine-month period ended September 30, 2018 were $31,339,000 and $5,608,000, respectively. No compensation expense was capitalized as of September 29, 2019 or December 31, 2018.
The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):
 
Three-months Ended
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Cost of revenue
$
334

 
$
544

 
$
1,114

 
$
1,898

Research, development, and engineering
3,616

 
3,197

 
11,633

 
11,166

Selling, general, and administrative
6,244

 
5,402

 
20,695

 
18,275

 
$
10,194

 
$
9,143

 
$
33,442

 
$
31,339


XML 33 R24.htm IDEA: XBRL DOCUMENT v3.19.3
Subsequent Events
9 Months Ended
Sep. 29, 2019
Subsequent Events [Abstract]  
Subsequent Events Subsequent Events
On October 16, 2019, the Company acquired Sualab Co., Ltd. (Sualab), a provider of deep learning-based vision software for industrial image analysis based in Korea for approximately $195 million. The total consideration included cash payments of approximately $171 million upon closing. The remaining consideration consists of deferred payments of approximately $24 million that may become payable on the fourth anniversary date of the closing, contingent upon the continued employment of key talent, and will be recorded as compensation expense over this four-year period. Given the timing of this acquisition, the Company is in the process of completing the purchase price allocation for the $171 million of consideration that is not related to employment. Transaction costs incurred to date were not material and were expensed as incurred. The financial results of Sualab prior to the acquisition date are not material to the consolidated financial results of the Company.
On October 28, 2019, the Company’s Board of Directors declared a cash dividend of $0.055 per share. The dividend is payable on November 29, 2019 to all shareholders of record as of the close of business on November 15, 2019.
XML 34 R62.htm IDEA: XBRL DOCUMENT v3.19.3
Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Detail) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]        
Stock-based compensation expense $ 10,194 $ 9,143 $ 33,442 $ 31,339
Cost of Revenue        
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]        
Stock-based compensation expense 334 544 1,114 1,898
Research, Development, and Engineering Expenses        
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]        
Stock-based compensation expense 3,616 3,197 11,633 11,166
Selling, General, and Administrative        
Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]        
Stock-based compensation expense $ 6,244 $ 5,402 $ 20,695 $ 18,275
XML 35 R66.htm IDEA: XBRL DOCUMENT v3.19.3
Weighted-Average Shares (Detail) - shares
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Earnings Per Share [Abstract]        
Stock options to purchase anti-dilutive common stock 6,078,000 2,796,000 5,695,000 2,353,000
XML 37 R9999.htm IDEA: XBRL DOCUMENT v3.19.3
Label Element Value
Cumulative Effect of New Accounting Principle in Period of Adoption us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption $ (5,961,000)
Retained Earnings [Member]  
Cumulative Effect of New Accounting Principle in Period of Adoption us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption $ (5,961,000)
XML 38 R45.htm IDEA: XBRL DOCUMENT v3.19.3
Leases - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Jan. 01, 2019
Dec. 31, 2018
Leases [Abstract]            
Operating Lease, Liability $ 16,167   $ 16,167      
Operating lease, right-of-use asset 15,806   15,806   $ 17,522 $ 0
Operating lease, liability, current 5,445   5,445   4,736 0
Operating lease, liability, noncurrent 10,722   10,722   $ 12,669 $ 0
Operating lease, cost 1,749   4,976      
Operating lease, payments 1,708   4,778      
Lease, cost $ 22   $ 255      
Operating Lease, Weighted Average Discount Rate, Percent 480.00%   480.00%      
Operating Lease, Weighted Average Remaining Lease Term 3 years 7 months 6 days   3 years 7 months 6 days      
Operating Lease, Lease Income $ 76 $ 77 $ 234 $ 236    
XML 39 R41.htm IDEA: XBRL DOCUMENT v3.19.3
Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail)
$ in Thousands
Sep. 29, 2019
USD ($)
Debt Securities, Available-for-sale [Line Items]  
Amortized cost $ 794,031
Gross unrealized gains 2,889
Gross unrealized losses (207)
Fair value 796,713
Agency Bonds  
Debt Securities, Available-for-sale [Line Items]  
Gross unrealized losses (25)
Agency Bonds | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 5,930
Gross unrealized gains 0
Gross unrealized losses (25)
Fair value 5,905
Treasury Bills  
Debt Securities, Available-for-sale [Line Items]  
Gross unrealized losses (91)
Treasury Bills | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 105,254
Gross unrealized gains 212
Gross unrealized losses (12)
Fair value 105,454
Treasury Bills | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 255,441
Gross unrealized gains 1,253
Gross unrealized losses (79)
Fair value 256,615
Corporate Bonds  
Debt Securities, Available-for-sale [Line Items]  
Gross unrealized losses (53)
Corporate Bonds | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 86,990
Gross unrealized gains 222
Gross unrealized losses (3)
Fair value 87,209
Corporate Bonds | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 167,464
Gross unrealized gains 584
Gross unrealized losses (50)
Fair value 167,998
Asset-Backed Securities  
Debt Securities, Available-for-sale [Line Items]  
Gross unrealized losses (24)
Asset-Backed Securities | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 89,226
Gross unrealized gains 359
Gross unrealized losses (9)
Fair value 89,576
Asset-Backed Securities | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 56,636
Gross unrealized gains 195
Gross unrealized losses (15)
Fair value 56,816
Sovereign Bonds  
Debt Securities, Available-for-sale [Line Items]  
Gross unrealized losses (12)
Sovereign Bonds | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 6,286
Gross unrealized gains 14
Gross unrealized losses 0
Fair value 6,300
Sovereign Bonds | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 15,969
Gross unrealized gains 43
Gross unrealized losses (12)
Fair value 16,000
Municipal Bonds  
Debt Securities, Available-for-sale [Line Items]  
Gross unrealized losses (2)
Municipal Bonds | Short-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 3,535
Gross unrealized gains 0
Gross unrealized losses (2)
Fair value 3,533
Municipal Bonds | Long-Term Investments  
Debt Securities, Available-for-sale [Line Items]  
Amortized cost 1,300
Gross unrealized gains 7
Gross unrealized losses 0
Fair value $ 1,307
XML 40 R49.htm IDEA: XBRL DOCUMENT v3.19.3
Warranty Obligations - Changes in Warranty Obligations (Detail)
$ in Thousands
9 Months Ended
Sep. 29, 2019
USD ($)
Movement in Standard Product Warranty Accrual [Roll Forward]  
Beginning balance $ 4,743
Provisions for warranties issued during the period 3,301
Fulfillment of warranty obligations (2,770)
Ending balance $ 5,274
XML 41 R58.htm IDEA: XBRL DOCUMENT v3.19.3
Revenue Recognition - Deferred Revenue Activity (Details)
$ in Thousands
9 Months Ended
Sep. 29, 2019
USD ($)
Movement in Deferred Revenue [Roll Forward]  
Balance as of December 31, 2018 $ 9,845
Increases to deferred revenue and customer deposits 37,351
Recognition of revenue (36,517)
Foreign exchange rate changes (248)
Balance as of September 29, 2019 $ 10,431
XML 43 R50.htm IDEA: XBRL DOCUMENT v3.19.3
Derivative Instruments (Detail)
9 Months Ended
Sep. 29, 2019
Not Designated as Hedging Instrument  
Derivative Instruments and Hedging Activities Disclosures [Line Items]  
Remaining maturity of foreign currency derivatives (up to) 45 days
XML 44 R54.htm IDEA: XBRL DOCUMENT v3.19.3
Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Not Designated as Hedging Instrument | Foreign Currency Gain (Loss)        
Derivative Instruments, Gain (Loss) [Line Items]        
Gains (losses) recognized in current operations $ 469 $ 299 $ 535 $ (366)
XML 45 R35.htm IDEA: XBRL DOCUMENT v3.19.3
Taxes (Tables)
9 Months Ended
Sep. 29, 2019
Income Tax Disclosure [Abstract]  
Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision
A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:
 
Three-months Ended
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Income tax expense at U.S. federal statutory corporate tax rate
21
 %
 
21
 %
 
21
 %
 
21
 %
State income taxes, net of federal benefit
1
 %
 
1
 %
 
1
 %
 
1
 %
Foreign tax rate differential
(7
)%
 
(7
)%
 
(7
)%
 
(7
)%
Tax credit
(1
)%
 
 %
 
(1
)%
 
 %
Discrete tax benefit related to Tax Act 2017
 %
 
(9
)%
 
 %
 
(4
)%
Discrete tax benefit related to stock options
(1
)%
 
(4
)%
 
(3
)%
 
(5
)%
Other discrete tax events
(3
)%
 
(2
)%
 
(1
)%
 
(1
)%
Other
2
 %
 
1
 %
 
2
 %
 
1
 %
Income tax expense
12
 %

1
 %
 
12
 %
 
6
 %

XML 46 R31.htm IDEA: XBRL DOCUMENT v3.19.3
Warranty Obligations (Tables)
9 Months Ended
Sep. 29, 2019
Product Warranties Disclosures [Abstract]  
Changes in Warranty Obligations
The changes in the warranty obligation were as follows (in thousands):
Balance as of December 31, 2018
$
4,743

Provisions for warranties issued during the period
3,301

Fulfillment of warranty obligations
(2,770
)
Balance as of September 29, 2019
$
5,274


XML 47 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 48 R39.htm IDEA: XBRL DOCUMENT v3.19.3
Cash, Cash Equivalents, and Investments (Detail) - USD ($)
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Cash and Cash Equivalents [Abstract]        
Gross realized gains on sale of investments $ 361,000 $ 283,000 $ 818,000 $ 646,000
Gross realized losses on sale of investments $ 67,000 $ 17,000 $ 103,000 $ 111,000
XML 49 R12.htm IDEA: XBRL DOCUMENT v3.19.3
Fair Value Measurements
9 Months Ended
Sep. 29, 2019
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis
The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of September 29, 2019 (in thousands):
 
Quoted Prices in
Active Markets
for Identical
Assets (Level 1)
 
Significant  Other
Observable
Inputs (Level 2)
 

Unobservable
Inputs (Level 3)
Assets:
 
 
 
 
 
Money market instruments
$
16,081

 
$

 
$

Treasury bills

 
362,069

 

Corporate bonds

 
255,207

 

Asset-backed securities

 
146,392

 

Sovereign bonds

 
22,300

 

Agency bonds

 
5,905

 

Municipal bonds

 
4,840

 

Economic hedge forward contracts

 
19

 

Liabilities:
 
 
 
 
 
Economic hedge forward contracts

 
70

 

Contingent consideration liabilities

 

 
1,153


The Company’s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1.
The Company’s debt securities and forward contracts are reported at fair value based upon model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2. Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service. For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data. They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations. The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency. The market participants are generally large commercial banks.
The Company did not record an other-than-temporary impairment of these financial assets during the three-month or nine-month periods ended September 29, 2019 and September 30, 2018.
The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid using significant inputs that are not observable in the market and are therefore classified as Level 3. Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones. The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.
The following table summarizes the activity for the Company's liability measured at fair value using Level 3 inputs for the nine-month period ended September 29, 2019 (in thousands):
Balance as of December 31, 2018
$
2,554

Fair value adjustment to GVi contingent consideration
(1,646
)
Fair value adjustment to Chiaro contingent consideration
245

Balance as of September 29, 2019
$
1,153


Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis
Non-financial assets such as property, plant and equipment, goodwill, and intangible assets are required to be measured at fair value only when an impairment loss is recognized. The Company did not record an impairment charge related to these assets during the three-month or nine-month periods ended September 29, 2019 and September 30, 2018.
XML 50 R9.htm IDEA: XBRL DOCUMENT v3.19.3
Consolidated Statement of Shareholders' Equity (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Statement of Stockholders' Equity [Abstract]        
Tax effect of unrealized gain (loss) on available-for-sale investments $ (5) $ 24 $ 502 $ (82)
XML 51 R16.htm IDEA: XBRL DOCUMENT v3.19.3
Intangible Assets
9 Months Ended
Sep. 29, 2019
Goodwill and Intangible Assets Disclosure [Abstract]  
Intangible Assets Intangible Assets
Amortized intangible assets consisted of the following (in thousands):
 
Gross
Carrying
Value
 
Accumulated
Amortization
 
Net
Carrying
Value
Distribution networks
$
38,060

 
$
38,060

 
$

Completed technologies
13,687

 
8,261

 
5,426

Customer relationships
8,607

 
6,101

 
2,506

Non-compete agreements
370

 
308

 
62

Balance as of September 29, 2019
$
60,724

 
$
52,730

 
$
7,994

 
 
 
 
 
 
 
Gross
Carrying
Value
 
Accumulated
Amortization
 
Net
Carrying
Value
Distribution networks
$
38,060

 
$
38,060

 
$

Completed technologies
13,687

 
6,619

 
7,068

Customer relationships
8,607

 
5,716

 
2,891

Non-compete agreements
370

 
216

 
154

Balance as of December 31, 2018
$
60,724

 
$
50,611

 
$
10,113


As of September 29, 2019, estimated future amortization expense related to intangible assets is as follows (in thousands):
Year Ended December 31,
 
Amount
Remainder of fiscal 2019
 
$
582

2020
 
2,185

2021
 
2,017

2022
 
1,691

2023
 
989

2024
 
422

Thereafter
 
108

 
 
$
7,994


XML 52 R1.htm IDEA: XBRL DOCUMENT v3.19.3
Cover Page
9 Months Ended
Sep. 29, 2019
shares
Cover page.  
Document Type 10-Q
Document Quarterly Report true
Document Period End Date Sep. 29, 2019
Document Transition Report false
Entity File Number 001-34218
Entity Registrant Name COGNEX CORP
Entity Central Index Key 0000851205
Current Fiscal Year End Date --12-31
Document Fiscal Year Focus 2019
Document Fiscal Period Focus Q3
Amendment Flag false
Entity Incorporation, State or Country Code MA
Entity Tax Identification Number 04-2713778
Entity Address, Address Line One One Vision Drive
Entity Address, City or Town Natick
Entity Address, State or Province MA
Entity Address, Postal Zip Code 01760
City Area Code 508
Local Phone Number 650-3000
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
Title of 12(b) Security Common Stock, par value $.002 per share
Trading Symbol CGNX
Security Exchange Name NASDAQ
Entity Common Stock, Shares Outstanding 170,897,294
XML 53 R5.htm IDEA: XBRL DOCUMENT v3.19.3
Consolidated Balance Sheets - USD ($)
$ in Thousands
Sep. 29, 2019
Dec. 31, 2018
Current assets:    
Cash and cash equivalents $ 121,701 $ 108,212
Current investments 292,072 427,348
Accounts receivable, less reserves of $1,874 and $1,646 in 2019 and 2018, respectively 107,407 119,172
Unbilled revenue 11,210 8,312
Inventories 65,264 83,282
Prepaid expenses and other current assets 28,127 34,000
Total current assets 625,781 780,326
Non-current investments 504,641 262,039
Property, plant, and equipment, net 88,429 91,396
Operating Lease, Right-of-Use Asset 15,806 0
Goodwill 113,208 113,208
Intangible assets, net 7,994 10,113
Deferred income taxes 29,273 28,660
Other assets 5,320 3,925
Total assets 1,390,452 1,289,667
Current liabilities:    
Accounts payable 12,766 16,230
Accrued expenses 48,561 60,220
Accrued income taxes 4,012 5,062
Deferred revenue and customer deposits 10,431 9,845
Operating Lease, Liability, Current 5,445 0
Total current liabilities 81,215 91,357
Operating Lease, Liability, Noncurrent 10,722 0
Deferred income taxes 289 962
Reserve for income taxes 7,151 7,106
Non-current accrued income taxes 51,113 51,113
Other liabilities 744 3,866
Total liabilities 151,234 154,404
Preferred Stock, Value, Outstanding 0 0
Shareholders’ equity:    
Common stock, $.002 par value – Authorized: 300,000 shares in 2019 and 2018, respectively, issued and outstanding: 170,897 and 170,820 shares in 2019 and 2018, respectively 342 342
Additional paid-in capital 594,427 529,208
Retained earnings 682,383 646,214
Accumulated other comprehensive loss, net of tax (37,934) (40,501)
Total shareholders’ equity 1,239,218 1,135,263
Total liabilities and shareholders' equity $ 1,390,452 $ 1,289,667
XML 54 FilingSummary.xml IDEA: XBRL DOCUMENT 3.19.3 html 176 382 1 false 56 0 false 11 false false R1.htm 0001000 - Document - Cover Page Sheet http://www.cognex.com/role/CoverPage Cover Page Cover 1 false false R2.htm 1001000 - Statement - Consolidated Statements of Operations Sheet http://www.cognex.com/role/ConsolidatedStatementsOfOperations Consolidated Statements of Operations Statements 2 false false R3.htm 1002000 - Statement - Consolidated Statements of Comprehensive Income Sheet http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome Consolidated Statements of Comprehensive Income Statements 3 false false R4.htm 1002501 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical) Sheet http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical Consolidated Statements of Comprehensive Income (Parenthetical) Statements 4 false false R5.htm 1003000 - Statement - Consolidated Balance Sheets Sheet http://www.cognex.com/role/ConsolidatedBalanceSheets Consolidated Balance Sheets Statements 5 false false R6.htm 1003501 - Statement - Consolidated Balance Sheets (Parenthetical) Sheet http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical Consolidated Balance Sheets (Parenthetical) Statements 6 false false R7.htm 1004000 - Statement - Consolidated Statements of Cash Flows Sheet http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows Consolidated Statements of Cash Flows Statements 7 false false R8.htm 1005000 - Statement - Consolidated Statement of Shareholders' Equity Sheet http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity Consolidated Statement of Shareholders' Equity Statements 8 false false R9.htm 1005501 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical) Sheet http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical Consolidated Statement of Shareholders' Equity (Parenthetical) Statements 9 false false R10.htm 2101100 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 10 false false R11.htm 2103100 - Disclosure - New Pronouncements Sheet http://www.cognex.com/role/NewPronouncements New Pronouncements Notes 11 false false R12.htm 2104100 - Disclosure - Fair Value Measurements Sheet http://www.cognex.com/role/FairValueMeasurements Fair Value Measurements Notes 12 false false R13.htm 2105100 - Disclosure - Cash, Cash Equivalents, and Investments Sheet http://www.cognex.com/role/CashCashEquivalentsAndInvestments Cash, Cash Equivalents, and Investments Notes 13 false false R14.htm 2106100 - Disclosure - Inventories Sheet http://www.cognex.com/role/Inventories Inventories Notes 14 false false R15.htm 2109100 - Disclosure - Leases Sheet http://www.cognex.com/role/Leases Leases Notes 15 false false R16.htm 2110100 - Disclosure - Intangible Assets Sheet http://www.cognex.com/role/IntangibleAssets Intangible Assets Notes 16 false false R17.htm 2111100 - Disclosure - Warranty Obligations Sheet http://www.cognex.com/role/WarrantyObligations Warranty Obligations Notes 17 false false R18.htm 2112100 - Disclosure - Derivative Instruments Sheet http://www.cognex.com/role/DerivativeInstruments Derivative Instruments Notes 18 false false R19.htm 2113100 - Disclosure - Revenue Recognition Sheet http://www.cognex.com/role/RevenueRecognition Revenue Recognition Notes 19 false false R20.htm 2115100 - Disclosure - Stock-Based Compensation Expense Sheet http://www.cognex.com/role/StockBasedCompensationExpense Stock-Based Compensation Expense Notes 20 false false R21.htm 2116100 - Disclosure - Stock Repurchase Program Sheet http://www.cognex.com/role/StockRepurchaseProgram Stock Repurchase Program Notes 21 false false R22.htm 2119100 - Disclosure - Taxes Sheet http://www.cognex.com/role/Taxes Taxes Notes 22 false false R23.htm 2120100 - Disclosure - Weighted-Average Shares Sheet http://www.cognex.com/role/WeightedAverageShares Weighted-Average Shares Notes 23 false false R24.htm 2121100 - Disclosure - Subsequent Events Sheet http://www.cognex.com/role/SubsequentEvents Subsequent Events Notes 24 false false R25.htm 2201201 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies 25 false false R26.htm 2304301 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.cognex.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.cognex.com/role/FairValueMeasurements 26 false false R27.htm 2305301 - Disclosure - Cash, Cash Equivalents, and Investments (Tables) Sheet http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables Cash, Cash Equivalents, and Investments (Tables) Tables http://www.cognex.com/role/CashCashEquivalentsAndInvestments 27 false false R28.htm 2306301 - Disclosure - Inventories (Tables) Sheet http://www.cognex.com/role/InventoriesTables Inventories (Tables) Tables http://www.cognex.com/role/Inventories 28 false false R29.htm 2309301 - Disclosure - Leases (Tables) Sheet http://www.cognex.com/role/LeasesTables Leases (Tables) Tables http://www.cognex.com/role/Leases 29 false false R30.htm 2310301 - Disclosure - Intangible Assets (Tables) Sheet http://www.cognex.com/role/IntangibleAssetsTables Intangible Assets (Tables) Tables http://www.cognex.com/role/IntangibleAssets 30 false false R31.htm 2311301 - Disclosure - Warranty Obligations (Tables) Sheet http://www.cognex.com/role/WarrantyObligationsTables Warranty Obligations (Tables) Tables http://www.cognex.com/role/WarrantyObligations 31 false false R32.htm 2312301 - Disclosure - Derivative Instruments (Tables) Sheet http://www.cognex.com/role/DerivativeInstrumentsTables Derivative Instruments (Tables) Tables http://www.cognex.com/role/DerivativeInstruments 32 false false R33.htm 2313301 - Disclosure - Revenue Recognition (Tables) Sheet http://www.cognex.com/role/RevenueRecognitionTables Revenue Recognition (Tables) Tables http://www.cognex.com/role/RevenueRecognition 33 false false R34.htm 2315301 - Disclosure - Stock-Based Compensation Expense (Tables) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseTables Stock-Based Compensation Expense (Tables) Tables http://www.cognex.com/role/StockBasedCompensationExpense 34 false false R35.htm 2319301 - Disclosure - Taxes (Tables) Sheet http://www.cognex.com/role/TaxesTables Taxes (Tables) Tables http://www.cognex.com/role/Taxes 35 false false R36.htm 2320301 - Disclosure - Weighted-Average Shares (Tables) Sheet http://www.cognex.com/role/WeightedAverageSharesTables Weighted-Average Shares (Tables) Tables http://www.cognex.com/role/WeightedAverageShares 36 false false R37.htm 2404402 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail) Sheet http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail) Details 37 false false R38.htm 2404403 - Disclosure - Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details) Sheet http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details) Details 38 false false R39.htm 2405402 - Disclosure - Cash, Cash Equivalents, and Investments (Detail) Sheet http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail Cash, Cash Equivalents, and Investments (Detail) Details http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables 39 false false R40.htm 2405403 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Detail) Sheet http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Detail) Details 40 false false R41.htm 2405404 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail) Sheet http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail) Details 41 false false R42.htm 2405405 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Detail) Sheet http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Detail) Details 42 false false R43.htm 2405406 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail) Sheet http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail) Details 43 false false R44.htm 2406402 - Disclosure - Inventories - Schedule of Inventories (Detail) Sheet http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail Inventories - Schedule of Inventories (Detail) Details 44 false false R45.htm 2409402 - Disclosure - Leases - Narrative (Details) Sheet http://www.cognex.com/role/LeasesNarrativeDetails Leases - Narrative (Details) Details 45 false false R46.htm 2409403 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details) Sheet http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details) Details 46 false false R47.htm 2409404 - Disclosure - Leases - Future Minimum Rental Receipts Under Non-cancelable Lease Agreements (Details) Sheet http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails Leases - Future Minimum Rental Receipts Under Non-cancelable Lease Agreements (Details) Details 47 false false R48.htm 2410402 - Disclosure - Intangible Assets (Details) Sheet http://www.cognex.com/role/IntangibleAssetsDetails Intangible Assets (Details) Details http://www.cognex.com/role/IntangibleAssetsTables 48 false false R49.htm 2411402 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail) Sheet http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail Warranty Obligations - Changes in Warranty Obligations (Detail) Details 49 false false R50.htm 2412402 - Disclosure - Derivative Instruments (Detail) Sheet http://www.cognex.com/role/DerivativeInstrumentsDetail Derivative Instruments (Detail) Details http://www.cognex.com/role/DerivativeInstrumentsTables 50 false false R51.htm 2412403 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Detail) Sheet http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail Derivative Instruments - Outstanding Forward Contracts Table (Detail) Details 51 false false R52.htm 2412404 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Detail) Sheet http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Detail) Details 52 false false R53.htm 2412405 - Disclosure - Derivative Instruments - Offsetting Assets (Detail) Sheet http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail Derivative Instruments - Offsetting Assets (Detail) Details 53 false false R54.htm 2412406 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail) Sheet http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail) Details 54 false false R55.htm 2413402 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details) Sheet http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails Revenue Recognition - Revenue Disaggregated by Geography (Details) Details 55 false false R56.htm 2413403 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details) Sheet http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails Revenue Recognition - Revenue Disaggregated by Products and Services (Details) Details 56 false false R57.htm 2413404 - Disclosure - Revenue Recognition - Additional Information (Details) Sheet http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails Revenue Recognition - Additional Information (Details) Details 57 false false R58.htm 2413405 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details) Sheet http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails Revenue Recognition - Deferred Revenue Activity (Details) Details 58 false false R59.htm 2415402 - Disclosure - Stock-Based Compensation Expense (Detail) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseDetail Stock-Based Compensation Expense (Detail) Details http://www.cognex.com/role/StockBasedCompensationExpenseTables 59 false false R60.htm 2415403 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail) Details 60 false false R61.htm 2415404 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail) Details 61 false false R62.htm 2415405 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Detail) Sheet http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Detail) Details 62 false false R63.htm 2416401 - Disclosure - Stock Repurchase Program (Detail) Sheet http://www.cognex.com/role/StockRepurchaseProgramDetail Stock Repurchase Program (Detail) Details http://www.cognex.com/role/StockRepurchaseProgram 63 false false R64.htm 2419402 - Disclosure - Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail) Sheet http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail) Details 64 false false R65.htm 2419403 - Disclosure - Taxes (Detail) Sheet http://www.cognex.com/role/TaxesDetail Taxes (Detail) Details http://www.cognex.com/role/TaxesTables 65 false false R66.htm 2420402 - Disclosure - Weighted-Average Shares (Detail) Sheet http://www.cognex.com/role/WeightedAverageSharesDetail Weighted-Average Shares (Detail) Details http://www.cognex.com/role/WeightedAverageSharesTables 66 false false R67.htm 2420403 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail) Sheet http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail) Details 67 false false R68.htm 2421401 - Disclosure - Subsequent Events (Details) Sheet http://www.cognex.com/role/SubsequentEventsDetails Subsequent Events (Details) Details http://www.cognex.com/role/SubsequentEvents 68 false false R9999.htm Uncategorized Items - cgnx-9292019x10q.htm Sheet http://xbrl.sec.gov/role/uncategorizedFacts Uncategorized Items - cgnx-9292019x10q.htm Cover 69 false false All Reports Book All Reports cgnx-9292019x10q.htm a9292019-10qxexhibit311.htm a9292019-10qxexhibit312.htm a9292019-10qxexhibit321.htm a9292019-10qxexhibit322.htm cgnx-20190929.xsd cgnx-20190929_cal.xml cgnx-20190929_def.xml cgnx-20190929_lab.xml cgnx-20190929_pre.xml http://xbrl.sec.gov/dei/2019-01-31 http://fasb.org/srt/2018-01-31 http://fasb.org/us-gaap/2018-01-31 http://xbrl.sec.gov/country/2017-01-31 http://xbrl.sec.gov/currency/2017-01-31 true true XML 55 R22.htm IDEA: XBRL DOCUMENT v3.19.3
Taxes
9 Months Ended
Sep. 29, 2019
Income Tax Disclosure [Abstract]  
Taxes Taxes
A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:
 
Three-months Ended
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Income tax expense at U.S. federal statutory corporate tax rate
21
 %
 
21
 %
 
21
 %
 
21
 %
State income taxes, net of federal benefit
1
 %
 
1
 %
 
1
 %
 
1
 %
Foreign tax rate differential
(7
)%
 
(7
)%
 
(7
)%
 
(7
)%
Tax credit
(1
)%
 
 %
 
(1
)%
 
 %
Discrete tax benefit related to Tax Act 2017
 %
 
(9
)%
 
 %
 
(4
)%
Discrete tax benefit related to stock options
(1
)%
 
(4
)%
 
(3
)%
 
(5
)%
Other discrete tax events
(3
)%
 
(2
)%
 
(1
)%
 
(1
)%
Other
2
 %
 
1
 %
 
2
 %
 
1
 %
Income tax expense
12
 %

1
 %
 
12
 %
 
6
 %

Management has determined that earnings from its legal entity in China will be indefinitely reinvested to provide sufficient local funding for growth, and that earnings from all other jurisdictions will not be indefinitely reinvested. The Company is tax resident in numerous jurisdictions around the world and has identified its major tax jurisdictions as the United
States, Ireland, and China. The statutory tax rate is 12.5% in Ireland and 25% in China, compared to the U.S. federal statutory corporate tax rate of 21%. International rights to certain of the Company's intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate that is lower than the above mentioned statutory rates, although the reduced taxes overseas have been partially offset by changes in U.S. tax law. These differences resulted in a decrease in the effective tax rate by 7 percentage points for all periods presented.
The excess tax benefit arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises resulted in a decrease in the effective tax rate by 1 and 4 percentage points for the three-month periods ended September 29, 2019 and September 30, 2018, respectively, and a decrease in the effective tax rate by 3 and 5 percentage points for the nine-month periods ended September 29, 2019 and September 30, 2018, respectively.
During the nine-month period ended September 29, 2019, the Company recorded a $37,000 increase in reserves for income taxes, net of deferred tax benefit. Estimated interest and penalties included in these amounts totaled $50,000 for the nine-month period ended September 29, 2019.
The Company’s reserve for income taxes, including gross interest and penalties, was $8,179,000 as of September 29, 2019, which included $7,151,000 classified as a non-current liability and $1,028,000 recorded as a reduction to non-current deferred tax assets. The amount of gross interest and penalties included in these balances was $918,000. If the Company’s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period. As a result of the expiration of certain statutes of limitations, there is a potential that a portion of these reserves could be released, which would decrease income tax expense by approximately $1,300,000 to $1,400,000 over the next twelve months.
The Company has defined its major tax jurisdictions as the United States, Ireland, and China, and within the United States, Massachusetts. Within the United States, the tax years 2016 through 2018 remain open to examination by the Internal Revenue Service and various state tax authorities. The tax years 2015 through 2018 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates.
XML 56 cgnx-9292019x10q_htm.xml IDEA: XBRL DOCUMENT 0000851205 2019-01-01 2019-09-29 0000851205 2019-09-29 0000851205 2019-07-01 2019-09-29 0000851205 2018-07-02 2018-09-30 0000851205 2018-01-01 2018-09-30 0000851205 2018-12-31 0000851205 2018-09-30 0000851205 2017-12-31 0000851205 us-gaap:RetainedEarningsMember 2019-01-01 2019-09-29 0000851205 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0000851205 us-gaap:CommonStockMember 2019-01-01 2019-09-29 0000851205 us-gaap:RetainedEarningsMember 2018-12-31 0000851205 us-gaap:AdditionalPaidInCapitalMember 2019-09-29 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0000851205 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-09-29 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-09-29 0000851205 us-gaap:CommonStockMember 2018-12-31 0000851205 us-gaap:CommonStockMember 2019-09-29 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-09-29 0000851205 us-gaap:RetainedEarningsMember 2019-09-29 0000851205 us-gaap:RetainedEarningsMember 2017-12-31 0000851205 us-gaap:CommonStockMember 2018-01-01 2018-09-30 0000851205 us-gaap:RetainedEarningsMember 2018-01-01 2018-09-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-01-01 2018-09-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-09-30 0000851205 us-gaap:CommonStockMember 2017-12-31 0000851205 us-gaap:CommonStockMember 2018-09-30 0000851205 us-gaap:RetainedEarningsMember 2018-09-30 0000851205 us-gaap:AdditionalPaidInCapitalMember 2018-01-01 2018-09-30 0000851205 us-gaap:AdditionalPaidInCapitalMember 2017-12-31 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2017-12-31 0000851205 us-gaap:AdditionalPaidInCapitalMember 2018-09-30 0000851205 us-gaap:RetainedEarningsMember 2018-01-01 0000851205 2018-01-01 0000851205 us-gaap:RetainedEarningsMember 2019-06-30 0000851205 us-gaap:CommonStockMember 2019-07-01 2019-09-29 0000851205 us-gaap:AdditionalPaidInCapitalMember 2019-06-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-06-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-07-01 2019-09-29 0000851205 us-gaap:RetainedEarningsMember 2019-07-01 2019-09-29 0000851205 us-gaap:CommonStockMember 2019-06-30 0000851205 us-gaap:AdditionalPaidInCapitalMember 2019-07-01 2019-09-29 0000851205 2019-06-30 0000851205 us-gaap:CommonStockMember 2018-07-01 0000851205 us-gaap:CommonStockMember 2018-07-02 2018-09-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-07-02 2018-09-30 0000851205 us-gaap:AdditionalPaidInCapitalMember 2018-07-02 2018-09-30 0000851205 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-07-01 0000851205 us-gaap:RetainedEarningsMember 2018-07-02 2018-09-30 0000851205 us-gaap:AdditionalPaidInCapitalMember 2018-07-01 0000851205 2018-07-01 0000851205 us-gaap:RetainedEarningsMember 2018-07-01 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateBondSecuritiesMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:SovereignDebtSecuritiesMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalBondsMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:AssetBackedSecuritiesMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember cgnx:AgencyBondsMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2019-09-29 0000851205 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2018-12-31 0000851205 cgnx:GViVenturesInc.Member us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-01-01 2019-09-29 0000851205 cgnx:ChiaroTechnologiesLLCMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-01-01 2019-09-29 0000851205 us-gaap:USTreasurySecuritiesMember 2019-09-29 0000851205 cgnx:AgencyBondsMember 2019-09-29 0000851205 us-gaap:SovereignDebtSecuritiesMember 2019-09-29 0000851205 us-gaap:AssetBackedSecuritiesMember 2019-09-29 0000851205 us-gaap:MunicipalBondsMember 2019-09-29 0000851205 us-gaap:CorporateBondSecuritiesMember 2019-09-29 0000851205 us-gaap:CorporateBondSecuritiesMember us-gaap:ShortTermInvestmentsMember 2019-09-29 0000851205 us-gaap:AssetBackedSecuritiesMember us-gaap:ShortTermInvestmentsMember 2019-09-29 0000851205 us-gaap:AssetBackedSecuritiesMember cgnx:LongTermInvestmentsMember 2019-09-29 0000851205 us-gaap:SovereignDebtSecuritiesMember cgnx:LongTermInvestmentsMember 2019-09-29 0000851205 us-gaap:MunicipalBondsMember cgnx:LongTermInvestmentsMember 2019-09-29 0000851205 us-gaap:USTreasurySecuritiesMember us-gaap:ShortTermInvestmentsMember 2019-09-29 0000851205 us-gaap:USTreasurySecuritiesMember cgnx:LongTermInvestmentsMember 2019-09-29 0000851205 us-gaap:CorporateBondSecuritiesMember cgnx:LongTermInvestmentsMember 2019-09-29 0000851205 us-gaap:MunicipalBondsMember us-gaap:ShortTermInvestmentsMember 2019-09-29 0000851205 cgnx:AgencyBondsMember cgnx:LongTermInvestmentsMember 2019-09-29 0000851205 us-gaap:SovereignDebtSecuritiesMember us-gaap:ShortTermInvestmentsMember 2019-09-29 0000851205 us-gaap:SovereignDebtSecuritiesMember 2018-12-31 0000851205 us-gaap:MunicipalBondsMember 2018-12-31 0000851205 us-gaap:SovereignDebtMember 2019-09-29 0000851205 cgnx:AgencyBondsMember 2018-12-31 0000851205 us-gaap:AssetBackedSecuritiesMember 2018-12-31 0000851205 us-gaap:USTreasurySecuritiesMember 2018-12-31 0000851205 us-gaap:SovereignDebtMember 2018-12-31 0000851205 us-gaap:CorporateBondSecuritiesMember 2018-12-31 0000851205 2019-01-01 0000851205 us-gaap:DevelopedTechnologyRightsMember 2018-12-31 0000851205 us-gaap:OtherIntangibleAssetsMember 2018-12-31 0000851205 us-gaap:DistributionRightsMember 2019-09-29 0000851205 cgnx:CustomerContractsAndRelationshipsMember 2019-09-29 0000851205 cgnx:CustomerContractsAndRelationshipsMember 2018-12-31 0000851205 us-gaap:OtherIntangibleAssetsMember 2019-09-29 0000851205 us-gaap:DistributionRightsMember 2018-12-31 0000851205 us-gaap:DevelopedTechnologyRightsMember 2019-09-29 0000851205 currency:CAD us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:MXN us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:HUF us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:GBP us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:GBP us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:TWD us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:CAD us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:HUF us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:TWD us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:KRW us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:JPY us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:MXN us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:KRW us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:EUR us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:JPY us-gaap:NondesignatedMember 2019-09-29 0000851205 currency:EUR us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:SGD us-gaap:NondesignatedMember 2018-12-31 0000851205 currency:SGD us-gaap:NondesignatedMember 2019-09-29 0000851205 cgnx:AccruedExpensesMember us-gaap:NondesignatedMember 2019-09-29 0000851205 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember us-gaap:NondesignatedMember 2018-12-31 0000851205 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember us-gaap:NondesignatedMember 2019-09-29 0000851205 cgnx:AccruedExpensesMember us-gaap:NondesignatedMember 2018-12-31 0000851205 us-gaap:NondesignatedMember 2019-01-01 2019-09-29 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2018-01-01 2018-09-30 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2018-07-02 2018-09-30 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2019-07-01 2019-09-29 0000851205 us-gaap:NondesignatedMember us-gaap:ForeignCurrencyGainLossMember 2019-01-01 2019-09-29 0000851205 srt:AmericasMember 2018-01-01 2018-09-30 0000851205 srt:EuropeMember 2019-01-01 2019-09-29 0000851205 cgnx:AsiaExcludingChinaMember 2018-01-01 2018-09-30 0000851205 srt:AmericasMember 2018-07-02 2018-09-30 0000851205 srt:AmericasMember 2019-07-01 2019-09-29 0000851205 srt:AmericasMember 2019-01-01 2019-09-29 0000851205 srt:EuropeMember 2018-07-02 2018-09-30 0000851205 srt:EuropeMember 2019-07-01 2019-09-29 0000851205 country:CN 2019-01-01 2019-09-29 0000851205 country:CN 2018-07-02 2018-09-30 0000851205 srt:EuropeMember 2018-01-01 2018-09-30 0000851205 cgnx:AsiaExcludingChinaMember 2019-01-01 2019-09-29 0000851205 country:CN 2019-07-01 2019-09-29 0000851205 cgnx:AsiaExcludingChinaMember 2018-07-02 2018-09-30 0000851205 country:CN 2018-01-01 2018-09-30 0000851205 cgnx:AsiaExcludingChinaMember 2019-07-01 2019-09-29 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2019-07-01 2019-09-29 0000851205 cgnx:StandardProductsandServicesMember 2018-07-02 2018-09-30 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2019-01-01 2019-09-29 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2018-07-02 2018-09-30 0000851205 cgnx:ApplicationSpecificCustomerSolutionsMember 2018-01-01 2018-09-30 0000851205 cgnx:StandardProductsandServicesMember 2019-01-01 2019-09-29 0000851205 cgnx:StandardProductsandServicesMember 2019-07-01 2019-09-29 0000851205 cgnx:StandardProductsandServicesMember 2018-01-01 2018-09-30 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2019-01-01 2019-09-29 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2018-07-02 2018-09-30 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2019-01-01 2019-09-29 0000851205 us-gaap:CostOfGoodsTotalMember 2019-07-01 2019-09-29 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2018-01-01 2018-09-30 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2018-07-02 2018-09-30 0000851205 us-gaap:CostOfGoodsTotalMember 2018-07-02 2018-09-30 0000851205 us-gaap:CostOfGoodsTotalMember 2018-01-01 2018-09-30 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2019-07-01 2019-09-29 0000851205 cgnx:SellingGeneralAndAdministrativeMember 2018-01-01 2018-09-30 0000851205 us-gaap:CostOfGoodsTotalMember 2019-01-01 2019-09-29 0000851205 us-gaap:ResearchAndDevelopmentExpenseMember 2019-07-01 2019-09-29 0000851205 srt:MaximumMember cgnx:GeneralStockOptionPlanMember 2019-01-01 2019-09-29 0000851205 2019-01-01 2019-03-31 0000851205 2018-01-01 2018-04-01 0000851205 us-gaap:EmployeeStockOptionMember 2019-01-01 2019-09-29 0000851205 us-gaap:EmployeeStockOptionMember 2019-09-29 0000851205 srt:MinimumMember cgnx:GeneralStockOptionPlanMember 2019-01-01 2019-09-29 0000851205 cgnx:RepurchaseProgramOctober2018Member 2019-09-29 0000851205 cgnx:RepurchaseProgramOctober2018Member 2019-01-01 2019-09-29 0000851205 cgnx:RepurchaseProgramOctober2018Member 2018-10-29 0000851205 us-gaap:DomesticCountryMember 2019-01-01 2019-09-29 0000851205 us-gaap:ForeignCountryMember us-gaap:RevenueCommissionersIrelandMember 2019-01-01 2019-09-29 0000851205 us-gaap:ForeignCountryMember us-gaap:StateAdministrationOfTaxationChinaMember 2019-01-01 2019-09-29 0000851205 cgnx:SualabCo.Ltd.Member us-gaap:SubsequentEventMember 2019-10-16 2019-10-16 0000851205 us-gaap:SubsequentEventMember 2019-10-28 2019-10-28 0000851205 cgnx:SualabCo.Ltd.Member us-gaap:SubsequentEventMember 2019-10-16 pure iso4217:USD shares iso4217:EUR iso4217:CAD shares iso4217:SGD iso4217:JPY iso4217:KRW iso4217:TWD iso4217:USD cgnx:group false --12-31 Q3 2019 0000851205 1646000 1874000 0.002 0.002 300000000 300000000 170820000 170897000 0 0 0 0 0 0 0 0 24000 -82000 -5000 502000 P4Y 10-Q true false 001-34218 COGNEX CORP MA 04-2713778 One Vision Drive Natick MA 01760 508 650-3000 Common Stock, par value $.002 per share CGNX NASDAQ Yes Yes Large Accelerated Filer false false false 2019-09-29 170897294 183325000 232221000 555856000 613052000 47632000 58860000 144883000 153227000 135693000 173361000 410973000 459825000 28115000 29700000 86436000 87664000 64486000 65817000 199542000 196266000 43092000 77844000 124995000 175895000 -1295000 -379000 -1403000 -708000 5114000 3937000 15242000 10736000 456000 -129000 1239000 -98000 47367000 81273000 140073000 185825000 5682000 837000 16535000 11976000 41685000 80436000 123538000 173849000 0.24 0.47 0.72 1.01 0.24 0.45 0.71 0.98 170744000 172189000 171053000 172613000 174449000 177245000 175164000 178021000 0.050 0.045 0.150 0.135 41685000 80436000 123538000 173849000 265000 522000 4827000 -180000 294000 266000 716000 535000 -29000 256000 4111000 -715000 -1099000 -1881000 -1544000 -5078000 -1099000 -1881000 -1544000 -5078000 -1128000 -1625000 2567000 -5793000 40557000 78811000 126105000 168056000 121701000 108212000 292072000 427348000 107407000 119172000 11210000 8312000 65264000 83282000 28127000 34000000 625781000 780326000 504641000 262039000 88429000 91396000 15806000 0 113208000 113208000 7994000 10113000 29273000 28660000 5320000 3925000 1390452000 1289667000 12766000 16230000 48561000 60220000 4012000 5062000 10431000 9845000 5445000 0 81215000 91357000 10722000 0 289000 962000 7151000 7106000 51113000 51113000 744000 3866000 151234000 154404000 0 0 342000 342000 594427000 529208000 682383000 646214000 -37934000 -40501000 1239218000 1135263000 1390452000 1289667000 123538000 173849000 33442000 31339000 15800000 13474000 2119000 2307000 563000 -123000 716000 535000 -1401000 -50000 1805000 -175000 -11387000 18136000 2900000 6542000 -18019000 27699000 -5827000 3437000 -3398000 -1182000 -11827000 2266000 -1043000 -17497000 698000 4841000 1863000 1604000 185314000 151692000 883363000 616047000 781929000 635119000 13518000 27356000 -114952000 -8284000 31780000 25882000 61690000 142262000 25682000 23283000 0 1000000 -55592000 -140663000 -1281000 -1956000 13489000 789000 108212000 106582000 121701000 107371000 170661000 341000 578871000 649234000 -36806000 1191640000 236000 1000 5362000 5363000 10194000 10194000 8536000 8536000 41685000 41685000 265000 265000 294000 294000 -1099000 -1099000 170897000 342000 594427000 682383000 -37934000 1239218000 172032000 344000 498343000 619212000 -38767000 1079132000 553000 1000 11070000 11071000 394000 0 20954000 20954000 9143000 9143000 7759000 7759000 80436000 80436000 522000 522000 266000 266000 -1881000 -1881000 172191000 345000 518556000 670935000 -40392000 1149444000 170820000 342000 529208000 646214000 -40501000 1135263000 1475000 3000 31777000 31780000 1398000 3000 61687000 61690000 33442000 33442000 25682000 25682000 123538000 123538000 4827000 4827000 716000 716000 -1544000 -1544000 170897000 342000 594427000 682383000 -37934000 1239218000 173507000 347000 461338000 668587000 -34599000 1095673000 1434000 3000 25879000 25882000 2750000 5000 142257000 142262000 31339000 31339000 23283000 23283000 -5961000 -5961000 173849000 173849000 -180000 -180000 535000 535000 -5078000 -5078000 172191000 345000 518556000 670935000 -40392000 1149444000 Summary of Significant Accounting Policies<div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form 10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). As a result of the adoption of ASC 842 "Leases," Cognex Corporation (the "Company") has provided new disclosures related to leases in this Quarterly Report on Form 10-Q. Reference should be made to the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended </span><span style="font-family:Arial;font-size:10pt;">December 31, 2018</span><span style="font-family:Arial;font-size:10pt;"> for a full description of other significant accounting policies.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, and financial statement reclassifications necessary to present fairly the Company’s financial position as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">, and the results of its operations for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;">, and changes in shareholders’ equity, comprehensive income, and cash flows for the periods presented.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The results disclosed in the Consolidated Statements of Operations for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> are not necessarily indicative of the results to be expected for the full year.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Leases</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company accounts for leases in accordance with Accounting Standard Codification (ASC) 842, "Leases." The core principle of ASC 842 is that a lessee should recognize on the balance sheet the assets and liabilities that arise from leases. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">At inception of a contract, the Company determines whether that contract is or contains a lease. The Company determines whether a contract contains a lease by assessing whether there is an identified asset and whether the contract conveys the right to control the use of the identified asset for a period of time in exchange for consideration. The Company has control of the asset if it has the right to direct the use of the asset and obtains substantially all of the economic benefits from the use of the asset throughout the period of use. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As a practical expedient, the Company does not recognize a lease asset or lease liability for leases with a lease term of 12 months or less. In the determination of the lease term, the Company considers the existence of extension or termination options and the probability of those options being exercised. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Lease contracts may include lease components and non-lease components, such as common area maintenance and utilities for property leases. As a practical expedient, the Company accounts for the non-lease components together with the lease components as a single lease component for all of its leases. </span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company classifies a lease as a finance lease when it meets any of the following criteria at the lease commencement date: a) the lease transfers ownership of the underlying asset to the Company by the end of the lease term; b) the lease grants the Company an option to purchase the underlying asset that the Company is reasonably certain to exercise; c) the lease term is for the major part of the remaining economic life of the underlying asset (the Company considers a major part to be 75% or more of the remaining economic life of the underlying asset); d) the present value of the sum of the lease payments and any residual value guaranteed by the Company equals or exceeds substantially all of the fair value of the underlying asset (the Company considers substantially all the fair value to be 90% or more of the fair value of the underlying asset amount); or e) the underlying asset is of such a specialized nature that it is expected to have no alternative use to the lessor at the end of the lease term. When none of the criteria above are met, the Company classifies the lease as an operating lease. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">On the lease commencement date, the Company records a lease asset and lease liability on the balance sheet. The lease asset consists of: 1) the amount of the initial lease liability; 2) any lease payments made to the lessor at or before the lease commencement date, minus any lease incentives received; and 3) any initial direct cost incurred by the Company. Initial direct costs are incremental costs of a lease that would not have been incurred if the lease had not been obtained and are capitalized as part of the lease asset. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The lease liability equals the present value of the future cash payments discounted using the Company's incremental borrowing rate. The Company’s incremental borrowing rate is the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments over a similar term, which is the three-month London Interbank Offered Rate (LIBOR) plus a 2.5% credit risk spread.</span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Operating lease expense equals the total cash payments recognized on a straight-line basis over the lease term. The amortization of the lease asset is calculated as the straight-line lease expense less the accretion of the interest on the lease liability each period. The lease liability is reduced by the cash payment less the interest each period.</span></div> <div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form 10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). As a result of the adoption of ASC 842 "Leases," Cognex Corporation (the "Company") has provided new disclosures related to leases in this Quarterly Report on Form 10-Q. Reference should be made to the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended </span><span style="font-family:Arial;font-size:10pt;">December 31, 2018</span><span style="font-family:Arial;font-size:10pt;"> for a full description of other significant accounting policies.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, and financial statement reclassifications necessary to present fairly the Company’s financial position as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">, and the results of its operations for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;">, and changes in shareholders’ equity, comprehensive income, and cash flows for the periods presented.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The results disclosed in the Consolidated Statements of Operations for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> are not necessarily indicative of the results to be expected for the full year.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Leases</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company accounts for leases in accordance with Accounting Standard Codification (ASC) 842, "Leases." The core principle of ASC 842 is that a lessee should recognize on the balance sheet the assets and liabilities that arise from leases. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">At inception of a contract, the Company determines whether that contract is or contains a lease. The Company determines whether a contract contains a lease by assessing whether there is an identified asset and whether the contract conveys the right to control the use of the identified asset for a period of time in exchange for consideration. The Company has control of the asset if it has the right to direct the use of the asset and obtains substantially all of the economic benefits from the use of the asset throughout the period of use. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As a practical expedient, the Company does not recognize a lease asset or lease liability for leases with a lease term of 12 months or less. In the determination of the lease term, the Company considers the existence of extension or termination options and the probability of those options being exercised. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Lease contracts may include lease components and non-lease components, such as common area maintenance and utilities for property leases. As a practical expedient, the Company accounts for the non-lease components together with the lease components as a single lease component for all of its leases. </span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company classifies a lease as a finance lease when it meets any of the following criteria at the lease commencement date: a) the lease transfers ownership of the underlying asset to the Company by the end of the lease term; b) the lease grants the Company an option to purchase the underlying asset that the Company is reasonably certain to exercise; c) the lease term is for the major part of the remaining economic life of the underlying asset (the Company considers a major part to be 75% or more of the remaining economic life of the underlying asset); d) the present value of the sum of the lease payments and any residual value guaranteed by the Company equals or exceeds substantially all of the fair value of the underlying asset (the Company considers substantially all the fair value to be 90% or more of the fair value of the underlying asset amount); or e) the underlying asset is of such a specialized nature that it is expected to have no alternative use to the lessor at the end of the lease term. When none of the criteria above are met, the Company classifies the lease as an operating lease. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">On the lease commencement date, the Company records a lease asset and lease liability on the balance sheet. The lease asset consists of: 1) the amount of the initial lease liability; 2) any lease payments made to the lessor at or before the lease commencement date, minus any lease incentives received; and 3) any initial direct cost incurred by the Company. Initial direct costs are incremental costs of a lease that would not have been incurred if the lease had not been obtained and are capitalized as part of the lease asset. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The lease liability equals the present value of the future cash payments discounted using the Company's incremental borrowing rate. The Company’s incremental borrowing rate is the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments over a similar term, which is the three-month London Interbank Offered Rate (LIBOR) plus a 2.5% credit risk spread.</span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Operating lease expense equals the total cash payments recognized on a straight-line basis over the lease term. The amortization of the lease asset is calculated as the straight-line lease expense less the accretion of the interest on the lease liability each period. The lease liability is reduced by the cash payment less the interest each period.</span></div> New Pronouncements<div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).  The amendments in this ASU eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity’s current estimate of all expected credit losses. In addition, this ASU broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.  The amendments in this ASU require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income. For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.  This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective. As of the date of this report, management is in the process of completing the implementation of this ASU, including finalizing the internal credit losses policy and the related processes, internal control, and disclosures. Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium). The amendments in this ASU shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date. The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity. Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium. The amendments in this ASU more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities. For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020. This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle. Early adoption is permitted, including adoption in an interim period. Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2018-15 applies to entities that are a customer in a hosting arrangement that is a service contract. The amendments in this ASU align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software. Accordingly, the amendments in this ASU require an entity in a hosting arrangement that is a service contract to follow the guidance in Subtopic 350-40 to determine which implementation costs to capitalize as an asset related to the service contract and which costs to expense. Further, it requires the entity to expense the capitalized implementation costs over the term of the hosting arrangement. In addition, it requires the presentation of the expenses related to the capitalized implementation costs in the same line item in the statement of income as the fees associated with the hosting element of the arrangement and the classification of the payments for the capitalized implementation costs in the statement of cash flows in the same manner as the payments made for the fees associated with the hosting element. The amendments in this ASU are effective for public entities for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted. Management does not expect ASU 2018-15 to have a material impact on the Company's financial statements and disclosures.</span></div> ew Pronouncements<div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).  The amendments in this ASU eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity’s current estimate of all expected credit losses. In addition, this ASU broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.  The amendments in this ASU require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income. For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.  This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective. As of the date of this report, management is in the process of completing the implementation of this ASU, including finalizing the internal credit losses policy and the related processes, internal control, and disclosures. Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium). The amendments in this ASU shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date. The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity. Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium. The amendments in this ASU more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities. For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020. This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle. Early adoption is permitted, including adoption in an interim period. Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2018-15 applies to entities that are a customer in a hosting arrangement that is a service contract. The amendments in this ASU align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software. Accordingly, the amendments in this ASU require an entity in a hosting arrangement that is a service contract to follow the guidance in Subtopic 350-40 to determine which implementation costs to capitalize as an asset related to the service contract and which costs to expense. Further, it requires the entity to expense the capitalized implementation costs over the term of the hosting arrangement. In addition, it requires the presentation of the expenses related to the capitalized implementation costs in the same line item in the statement of income as the fees associated with the hosting element of the arrangement and the classification of the payments for the capitalized implementation costs in the statement of cash flows in the same manner as the payments made for the fees associated with the hosting element. The amendments in this ASU are effective for public entities for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted. Management does not expect ASU 2018-15 to have a material impact on the Company's financial statements and disclosures.</span></div> Fair Value Measurements<div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:50%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Quoted Prices in</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Active Markets</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">for Identical</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Assets (Level 1)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Significant  Other</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Observable</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Inputs (Level 2)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><br/>Unobservable<br/>Inputs (Level 3)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Assets:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Money market instruments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>16,081</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>362,069</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>255,207</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>146,392</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>22,300</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,840</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>19</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>70</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Contingent consideration liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,153</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company’s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company’s debt securities and forward contracts are reported at fair value based upon model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2. Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service. For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data. They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations. The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency. The market participants are generally large commercial banks.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company did not record an other-than-temporary impairment of these financial assets during the three-month or </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid using significant inputs that are not observable in the market and are therefore classified as Level 3. Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones. The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the activity for the Company's liability measured at fair value using Level 3 inputs for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:85%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,554</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fair value adjustment to GVi contingent consideration</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(1,646</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fair value adjustment to Chiaro contingent consideration</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>245</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,153</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-financial assets such as property, plant and equipment, goodwill, and intangible assets are required to be measured at fair value only when an impairment loss is recognized. The Company did not record an impairment charge related to these assets during the three-month or </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;">.</span></div> <div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:50%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Quoted Prices in</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Active Markets</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">for Identical</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Assets (Level 1)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Significant  Other</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Observable</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Inputs (Level 2)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><br/>Unobservable<br/>Inputs (Level 3)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Assets:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Money market instruments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>16,081</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>362,069</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>255,207</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>146,392</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>22,300</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,840</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>19</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>70</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Contingent consideration liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,153</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 16081000 0 362069000 255207000 146392000 22300000 5905000 4840000 19000 70000 1153000 <div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the activity for the Company's liability measured at fair value using Level 3 inputs for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:85%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,554</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fair value adjustment to GVi contingent consideration</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(1,646</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fair value adjustment to Chiaro contingent consideration</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>245</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,153</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 2554000 -1646000 245000 1153000 Cash, Cash Equivalents, and Investments<div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash, cash equivalents, and investments consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:63%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">December 31, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>105,620</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>104,655</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Money market instruments</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>16,081</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,557</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>121,701</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108,212</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>105,454</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>198,477</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>89,576</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>78,407</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>87,209</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>137,871</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>6,300</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>8,101</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,533</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,492</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Current investments</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>292,072</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>427,348</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>256,615</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>32,760</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>167,998</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>162,566</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>56,816</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>53,631</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>16,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,316</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,921</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,307</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>845</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-current investments</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>504,641</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>262,039</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>918,414</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>797,599</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills consist of debt securities issued by the U.S. government; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; corporate bonds consist of debt securities issued by both domestic and foreign companies; sovereign bonds consist of direct debt issued by foreign governments; municipal bonds consist of debt securities issued by state and local government entities; agency bonds consist of domestic or foreign obligations of government agencies and government sponsored enterprises that have government backing. All securities are denominated in U.S. Dollars.</span></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company’s available-for-sale investments as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:44%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amortized<br/>Cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br/>Unrealized<br/>Gains</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br/>Unrealized<br/>Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair Value</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Current:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>105,254</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>212</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>105,454</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>89,226</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>359</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>89,576</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>86,990</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>222</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(3</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>87,209</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,286</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>14</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,300</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,535</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,533</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-current:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>255,441</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,253</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(79</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>256,615</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>167,464</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>584</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(50</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>167,998</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>56,636</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>195</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(15</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>56,816</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>15,969</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>43</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>16,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,930</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(25</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,300</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,307</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>794,031</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,889</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(207</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>796,713</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"/></tr><tr><td style="width:29%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized Loss Position For:</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Less than 12 Months</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">12 Months or Greater</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108,863</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(91</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108,863</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(91</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>23,263</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(17</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>20,713</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(36</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>43,976</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(53</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,149</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(15</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>8,093</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>19,242</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(24</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,558</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,558</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(25</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(25</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>343</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>343</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>160,738</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(160</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>29,149</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(47</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>189,887</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(207</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">, the Company did not recognize any other-than-temporary impairment of these investments. In its evaluation, management considered the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, the Company's intent and ability to hold the security to expected recovery of value, and other meaningful information. The Company does not intend to sell, and is unlikely to be required to sell, any of these available-for-sale investments before their effective maturity or market price recovery.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling </span><span style="font-family:Arial;font-size:10pt;"><span>$361,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$67,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively, during the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$283,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$17,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively, during the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;">. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling </span><span style="font-family:Arial;font-size:10pt;"><span>$818,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$103,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively, during the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$646,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$111,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively, during the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;">. These gains and losses are included in "Investment income" on the Consolidated Statements of Operations. Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders’ equity as accumulated other comprehensive loss.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table presents the effective maturity dates of the Company’s available-for-sale investments as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"/></tr><tr><td style="width:35%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">&lt;1 year</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">1-2 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">2-3 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">3-4 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">4-5 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>105,454</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>188,398</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>68,217</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>362,069</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>87,209</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>115,941</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>47,842</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,348</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,867</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>255,207</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>89,576</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21,425</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>26,142</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>7,633</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,616</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>146,392</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,300</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>16,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>22,300</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,533</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,307</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,840</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>292,072</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>341,764</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>149,413</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>8,981</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,483</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>796,713</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> <div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash, cash equivalents, and investments consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:63%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">December 31, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>105,620</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>104,655</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Money market instruments</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>16,081</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,557</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>121,701</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108,212</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>105,454</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>198,477</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>89,576</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>78,407</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>87,209</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>137,871</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>6,300</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>8,101</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,533</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,492</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Current investments</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>292,072</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>427,348</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>256,615</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>32,760</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>167,998</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>162,566</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>56,816</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>53,631</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>16,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,316</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,921</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,307</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>845</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-current investments</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>504,641</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>262,039</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>918,414</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>797,599</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 105620000 104655000 16081000 3557000 121701000 108212000 105454000 198477000 89576000 78407000 87209000 137871000 6300000 8101000 3533000 4492000 292072000 427348000 256615000 32760000 167998000 162566000 56816000 53631000 16000000 6316000 5905000 5921000 1307000 845000 504641000 262039000 918414000 797599000 <div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company’s available-for-sale investments as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:44%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amortized<br/>Cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br/>Unrealized<br/>Gains</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br/>Unrealized<br/>Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair Value</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Current:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>105,254</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>212</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>105,454</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>89,226</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>359</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>89,576</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>86,990</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>222</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(3</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>87,209</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,286</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>14</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,300</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,535</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,533</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-current:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>255,441</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,253</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(79</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>256,615</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>167,464</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>584</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(50</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>167,998</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>56,636</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>195</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(15</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>56,816</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>15,969</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>43</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>16,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,930</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(25</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,300</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,307</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>794,031</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,889</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(207</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>796,713</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 105254000 212000 12000 105454000 89226000 359000 9000 89576000 86990000 222000 3000 87209000 6286000 14000 0 6300000 3535000 0 2000 3533000 255441000 1253000 79000 256615000 167464000 584000 50000 167998000 56636000 195000 15000 56816000 15969000 43000 12000 16000000 5930000 0 25000 5905000 1300000 7000 0 1307000 794031000 2889000 207000 796713000 <div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"/></tr><tr><td style="width:29%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"> </span></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized Loss Position For:</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Less than 12 Months</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">12 Months or Greater</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108,863</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(91</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108,863</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(91</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>23,263</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(17</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>20,713</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(36</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>43,976</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(53</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,149</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(15</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>8,093</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>19,242</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(24</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,558</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,558</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(25</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(25</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>343</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>343</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>160,738</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(160</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>29,149</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(47</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>189,887</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(207</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 108863000 91000 0 0 108863000 91000 23263000 17000 20713000 36000 43976000 53000 11149000 15000 8093000 9000 19242000 24000 11558000 12000 11558000 12000 5905000 25000 0 0 5905000 25000 0 0 343000 2000 343000 2000 160738000 160000 29149000 47000 189887000 207000 361000 67000 283000 17000 818000 103000 646000 111000 <div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table presents the effective maturity dates of the Company’s available-for-sale investments as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"/></tr><tr><td style="width:35%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">&lt;1 year</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">1-2 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">2-3 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">3-4 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">4-5 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>105,454</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>188,398</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>68,217</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>362,069</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>87,209</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>115,941</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>47,842</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,348</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,867</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>255,207</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>89,576</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21,425</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>26,142</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>7,633</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,616</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>146,392</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,300</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>16,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>22,300</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,533</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,307</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,840</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>292,072</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>341,764</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>149,413</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>8,981</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,483</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>796,713</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 105454000 188398000 68217000 0 0 362069000 87209000 115941000 47842000 1348000 2867000 255207000 89576000 21425000 26142000 7633000 1616000 146392000 6300000 16000000 0 0 0 22300000 0 0 5905000 0 0 5905000 3533000 0 1307000 0 0 4840000 292072000 341764000 149413000 8981000 4483000 796713000 Inventories<div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Inventories consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:63%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">December 31, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Raw materials</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>30,283</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>42,738</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Work-in-process</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,848</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,435</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Finished goods</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>30,133</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>37,109</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>65,264</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>83,282</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> <div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Inventories consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:63%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">December 31, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Raw materials</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>30,283</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>42,738</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Work-in-process</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,848</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,435</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Finished goods</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>30,133</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>37,109</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>65,264</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>83,282</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 30283000 42738000 4848000 3435000 30133000 37109000 65264000 83282000 Leases<div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">On January 1, 2019, the Company adopted Accounting Standards Codification (ASC) 842, “Leases,” using the transition method of adoption, which allowed the Company to apply the standard on a prospective basis with a cumulative-effect adjustment to the opening balance sheet as of the adoption date. Accordingly, the Company recorded lease assets </span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">of $</span><span style="font-family:Arial;font-size:10pt;"><span>17,522,000</span></span><span style="font-family:Arial;font-size:10pt;">, current lease liabilities of $</span><span style="font-family:Arial;font-size:10pt;"><span>4,736,000</span></span><span style="font-family:Arial;font-size:10pt;">, and non-current lease liabilities of $</span><span style="font-family:Arial;font-size:10pt;"><span>12,669,000</span></span><span style="font-family:Arial;font-size:10pt;"> on its Consolidated Balance Sheet as of January 1, 2019.</span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As part of the adoption, the Company elected a practical expedient package to be applied to all of its leases upon transition, and as a result, the Company did not reassess: 1) whether any expired or existing contracts contain leases; 2) the lease classification for any expired or existing leases; and 3) the accounting for initial direct costs for any existing leases. </span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company's leases are primarily leased properties across different worldwide locations where the Company conducts its operations. All of these leases are classified as operating leases. Certain leases may contain options to extend or terminate the lease at the Company's sole discretion. There were no options to extend or terminate that were included in the determination of the lease term for the leases outstanding as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">. Certain leases contain leasehold improvement incentives, retirement obligations, escalating clauses, rent holidays, and variable payments tied to a consumer price index. There were no restrictions or covenants for the leases outstanding as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The total operating lease expense for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> was $</span><span style="font-family:Arial;font-size:10pt;"><span>1,749,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$4,976,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively. The total operating lease cash payments for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> was $</span><span style="font-family:Arial;font-size:10pt;"><span>1,708,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$4,778,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability was $</span><span style="font-family:Arial;font-size:10pt;"><span>22,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$255,000</span></span><span style="font-family:Arial;font-size:10pt;"> for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">, respectively.</span></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Future operating lease cash payments are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"/></tr><tr><td style="width:84%;"/><td style="width:3%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December 31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,650</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,628</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,314</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,831</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2023</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,988</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2024</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>831</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Thereafter</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>309</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>17,551</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The discounted present value of the future lease cash payments resulted in a lease liability of $</span><span style="font-family:Arial;font-size:10pt;"><span>16,167,000</span></span><span style="font-family:Arial;font-size:10pt;"> as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The weighted-average discount rate was </span><span style="font-family:Arial;font-size:10pt;"><span>4.8</span></span><span style="font-family:Arial;font-size:10pt;">% for the leases outstanding as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">. The weighted-average remaining lease term was </span><span style="font-family:Arial;font-size:10pt;"><span>3.6 years</span></span><span style="font-family:Arial;font-size:10pt;"> for the leases outstanding as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">. The Company did not have any leases that have not yet commenced but that create significant rights and obligations as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">. </span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company owns a building adjacent to its corporate headquarters that is partially occupied with a tenant who has a lease agreement that will expire in 2022. Rental income was </span><span style="font-family:Arial;font-size:10pt;"><span>$76,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$77,000</span></span><span style="font-family:Arial;font-size:10pt;"> for the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively. Rental income was $</span><span style="font-family:Arial;font-size:10pt;"><span>234,000</span></span><span style="font-family:Arial;font-size:10pt;"> and $</span><span style="font-family:Arial;font-size:10pt;"><span>236,000</span></span><span style="font-family:Arial;font-size:10pt;"> for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"/></tr><tr><td style="width:84%;"/><td style="width:3%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December 31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>77</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>307</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>307</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>307</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>998</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 17522000 4736000 12669000 1749000 4976000 1708000 4778000 22000 255000 <div style="line-height:120%;padding-top:12px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Future operating lease cash payments are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"/></tr><tr><td style="width:84%;"/><td style="width:3%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December 31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,650</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,628</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,314</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,831</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2023</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,988</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2024</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>831</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Thereafter</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>309</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>17,551</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 1650000 5628000 4314000 2831000 1988000 831000 309000 17551000 16167000 4.8 P3Y7M6D 76000 77000 234000 236000 <div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"/></tr><tr><td style="width:84%;"/><td style="width:3%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December 31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>77</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>307</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>307</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>307</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>998</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 77000 307000 307000 307000 998000 Intangible Assets<div style="line-height:120%;padding-top:6px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Amortized intangible assets consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:53%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Distribution networks</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Completed technologies</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>13,687</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>8,261</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,426</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Customer relationships</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>8,607</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>6,101</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,506</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-compete agreements</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>370</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>308</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>62</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>60,724</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>52,730</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7,994</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Distribution networks</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Completed technologies</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>13,687</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,619</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>7,068</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Customer relationships</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>8,607</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,716</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,891</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-compete agreements</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>370</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>216</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>154</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>60,724</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>50,611</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>10,113</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">, estimated future amortization expense related to intangible assets is as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"/></tr><tr><td style="width:82%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:15%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December 31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>582</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,185</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,017</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,691</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2023</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>989</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2024</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>422</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Thereafter</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7,994</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> <div style="line-height:120%;padding-top:6px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Amortized intangible assets consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:53%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Distribution networks</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Completed technologies</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>13,687</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>8,261</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,426</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Customer relationships</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>8,607</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>6,101</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,506</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-compete agreements</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>370</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>308</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>62</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>60,724</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>52,730</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7,994</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Distribution networks</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Completed technologies</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>13,687</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,619</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>7,068</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Customer relationships</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>8,607</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,716</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,891</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-compete agreements</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>370</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>216</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>154</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>60,724</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>50,611</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>10,113</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 38060000 38060000 0 13687000 8261000 5426000 8607000 6101000 2506000 370000 308000 62000 60724000 52730000 7994000 38060000 38060000 0 13687000 6619000 7068000 8607000 5716000 2891000 370000 216000 154000 60724000 50611000 10113000 <div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">, estimated future amortization expense related to intangible assets is as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"/></tr><tr><td style="width:82%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:15%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December 31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>582</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,185</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,017</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,691</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2023</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>989</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2024</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>422</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Thereafter</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7,994</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 582000 2185000 2017000 1691000 989000 422000 108000 7994000 Warranty Obligations<div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company records the estimated cost of fulfilling product warranties at the time of sale based upon historical costs to fulfill claims. Obligations may also be recorded subsequent to the time of sale whenever specific events or circumstances impacting product quality become known that would not have been taken into account using historical data. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and third-party contract manufacturers, the Company’s warranty obligation is affected by product failure rates, material usage, and service delivery costs incurred in correcting a product failure. An adverse change in any of these factors may result in the need for additional warranty provisions. Warranty obligations are included in “Accrued expenses” on the Consolidated Balance Sheets.</span></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The changes in the warranty obligation were as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:82%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,743</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,301</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2,770</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,274</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> <div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The changes in the warranty obligation were as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:82%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,743</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,301</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2,770</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,274</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 4743000 3301000 2770000 5274000 Derivative Instruments<div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company’s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates. Currently, the Company enters into economic hedges to manage this risk. The economic hedges utilize foreign currency forward contracts with maturities of up to </span><span style="font-family:Arial;font-size:10pt;"><span>45</span></span><span style="font-family:Arial;font-size:10pt;"> days to manage the exposure </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables. The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged. These economic hedges are not designated as hedging instruments for hedge accounting treatment. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="14"/></tr><tr><td style="width:47%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December 31, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Currency</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Notional<br/>Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">USD<br/>Equivalent</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Notional<br/>Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">USD<br/>Equivalent</span></div></td></tr><tr><td colspan="7" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Euro</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>18,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19,697</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>23,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>26,330</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Japanese Yen</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>600,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,563</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>380,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,459</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Mexican Peso</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>90,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,560</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">British Pound</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,550</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,149</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,500</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,204</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Korean Won</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,660,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,053</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,125,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,808</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Hungarian Forint</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>840,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,739</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>750,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,685</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>45,700</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,478</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>55,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,807</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Canadian Dollar</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,100</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>830</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>990</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>726</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Singapore Dollar</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>700</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>514</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="20"/></tr><tr><td style="width:12%;"/><td style="width:17%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br/>Location</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br/>Location</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December 31, 2018</span></div></td></tr><tr><td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:<br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>70</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>106</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="19"/></tr><tr><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:19%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December 31, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts of recognized assets</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts of recognized liabilities</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>70</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>106</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts offset</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts offset</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net amount of assets presented</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net amount of liabilities presented</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>70</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>106</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="18"/></tr><tr><td style="width:21%;"/><td style="width:15%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Location in Financial Statements</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td colspan="11" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>469</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>299</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>535</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(366</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> P45D <div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="14"/></tr><tr><td style="width:47%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December 31, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Currency</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Notional<br/>Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">USD<br/>Equivalent</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Notional<br/>Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">USD<br/>Equivalent</span></div></td></tr><tr><td colspan="7" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Euro</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>18,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19,697</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>23,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>26,330</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Japanese Yen</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>600,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,563</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>380,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,459</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Mexican Peso</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>90,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,560</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">British Pound</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,550</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,149</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,500</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,204</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Korean Won</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,660,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,053</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,125,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,808</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Hungarian Forint</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>840,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,739</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>750,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,685</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>45,700</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,478</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>55,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,807</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Canadian Dollar</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,100</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>830</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>990</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>726</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Singapore Dollar</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>700</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>514</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 18000000 19697000 23000000 26330000 600000000 5563000 380000000 3459000 90000000 4560000 0 0 2550000 3149000 2500000 3204000 3660000000 3053000 3125000000 2808000 840000000 2739000 750000000 2685000 45700000 1478000 55000000 1807000 1100000 830000 990000 726000 0 0 700000 514000 <div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="20"/></tr><tr><td style="width:12%;"/><td style="width:17%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br/>Location</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br/>Location</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December 31, 2018</span></div></td></tr><tr><td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:<br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>70</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>106</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 19000 1000 70000 106000 <div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="19"/></tr><tr><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:19%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December 31, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts of recognized assets</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts of recognized liabilities</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>70</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>106</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts offset</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts offset</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net amount of assets presented</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net amount of liabilities presented</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>70</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>106</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 19000 1000 70000 106000 0 0 0 0 19000 1000 70000 106000 <div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="18"/></tr><tr><td style="width:21%;"/><td style="width:15%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Location in Financial Statements</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td colspan="11" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>469</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>299</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>535</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(366</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 469000 299000 535000 -366000 Revenue Recognition<div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:36%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Americas</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>65,253</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>57,020</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>208,909</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>187,991</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Europe</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>64,209</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>118,810</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>182,747</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>245,437</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Greater China</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>27,854</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>31,068</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>86,446</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>99,402</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other Asia</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>26,009</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>25,323</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>77,754</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>80,222</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>183,325</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>232,221</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>555,856</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>613,052</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by revenue type (in thousands):</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:36%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Standard products and services</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>139,887</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>150,993</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>473,610</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>493,019</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Application-specific customer solutions</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>43,438</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>81,228</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>82,246</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>120,033</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>183,325</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>232,221</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>555,856</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>613,052</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Costs to Fulfill a Contract</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to </span><span style="font-family:Arial;font-size:10pt;"><span>$4,792,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$3,514,000</span></span><span style="font-family:Arial;font-size:10pt;"> as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and December 31, 2018, respectively.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounts Receivable, Contract Assets, and Contract Liabilities</span></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value. The Company maintains reserves against its accounts receivable for potential credit losses. Credit losses recognized on accounts receivable were immaterial for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively. Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts. Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.</span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the deferred revenue and customer deposits activity for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:4px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:80%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>9,845</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Increases to deferred revenue and customer deposits</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>37,351</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Recognition of revenue</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(36,517</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(248</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>10,431</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.</span></div> <div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:36%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Americas</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>65,253</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>57,020</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>208,909</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>187,991</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Europe</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>64,209</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>118,810</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>182,747</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>245,437</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Greater China</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>27,854</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>31,068</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>86,446</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>99,402</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other Asia</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>26,009</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>25,323</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>77,754</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>80,222</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>183,325</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>232,221</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>555,856</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>613,052</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 65253000 57020000 208909000 187991000 64209000 118810000 182747000 245437000 27854000 31068000 86446000 99402000 26009000 25323000 77754000 80222000 183325000 232221000 555856000 613052000 <div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by revenue type (in thousands):</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:36%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Standard products and services</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>139,887</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>150,993</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>473,610</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>493,019</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Application-specific customer solutions</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>43,438</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>81,228</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>82,246</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>120,033</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>183,325</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>232,221</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>555,856</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>613,052</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 139887000 150993000 473610000 493019000 43438000 81228000 82246000 120033000 183325000 232221000 555856000 613052000 4792000 3514000 <div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the deferred revenue and customer deposits activity for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:4px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:80%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>9,845</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Increases to deferred revenue and customer deposits</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>37,351</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Recognition of revenue</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(36,517</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(248</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>10,431</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 9845000 37351000 36517000 -248000 10431000 Stock-Based Compensation Expense<div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company’s share-based payments that result in compensation expense consist of stock option grants and restricted stock units (RSUs). As of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">, the Company had </span><span style="font-family:Arial;font-size:10pt;"><span>17,350,152</span></span><span style="font-family:Arial;font-size:10pt;"> shares available for grant. Stock options are granted with an exercise price equal to the market value of the Company’s common stock at the grant date and generally vest over </span><span style="font-family:Arial;font-size:10pt;">four</span><span style="font-family:Arial;font-size:10pt;"> or </span><span style="font-family:Arial;font-size:10pt;"><span>five years</span></span><span style="font-family:Arial;font-size:10pt;"> based upon continuous service and expire </span><span style="font-family:Arial;font-size:10pt;"><span>ten years</span></span><span style="font-family:Arial;font-size:10pt;"> from the grant date. RSUs generally vest upon </span><span style="font-family:Arial;font-size:10pt;">three</span><span style="font-family:Arial;font-size:10pt;"> years of continuous employment or incrementally over such three-year period. Participants are not entitled to dividends on RSUs. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Stock Options</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company’s stock option activity for the </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"/></tr><tr><td style="width:39%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:15%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">(in thousands)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Exercise</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Price</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Remaining</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Contractual</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Term (in years)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Intrinsic</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">(in thousands)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>13,789</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>31.73</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Granted</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,879</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>51.22</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Exercised</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(1,475</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21.53</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Forfeited or expired</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(726</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>41.79</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Outstanding as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>14,467</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>36.14</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7.19</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>203,774</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Exercisable as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,714</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>25.33</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5.73</span></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>134,913</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Options vested or expected to vest as of September 29, 2019 (1)</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>13,116</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>34.90</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7.04</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>199,066</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;padding-left:48px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:37%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Risk-free rate</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2.7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2.9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2.7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2.9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected dividend yield</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>0.39</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>0.32</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>0.39</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>0.32</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected volatility</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>37</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>39</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>37</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>39</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected term (in years)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5.1</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5.4</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5.2</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5.3</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Risk-free rate</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected dividend yield</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company’s Board of Directors and dividing that result by the closing stock price on the grant date. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected volatility</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The expected volatility was based upon a combination of historical volatility of the Company’s common stock over the contractual term of the option and implied volatility for traded options of the Company’s stock.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected term</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The weighted-average grant-date fair values of stock options granted during the three-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$18.42</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$22.52</span></span><span style="font-family:Arial;font-size:10pt;">, respectively. The weighted-average grant-date fair values of stock options granted during the nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$18.58</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$21.70</span></span><span style="font-family:Arial;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The total intrinsic values of stock options exercised for the three-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$5,746,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$17,985,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively. The total intrinsic values of stock options exercised for the nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$42,545,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$50,975,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively. The total fair values of stock options vested for the three-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$1,213,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$997,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively. The total fair values of stock options vested for the nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$32,072,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$27,557,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Restricted Stock Units (RSUs)</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The fair values of RSUs granted were determined based upon the market value of the Company's common stock at the time of grant. The initial cost was then amortized over the period of vesting until the restrictions lapsed. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company's RSUs activity for the nine-month period ended September 29, 2019: </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.22027290448344%;border-collapse:collapse;text-align:left;"><tr><td colspan="7"/></tr><tr><td style="width:67%;"/><td style="width:15%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares (in thousands)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average Grant Date Fair Value</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Granted</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>75</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>45.20</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Vested</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Forfeited or expired</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Nonvested as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>75</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>45.20</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The weighted-average grant-date fair values of RSUs granted during the three-month and nine-month periods ended September 29, 2019 were </span><span style="font-family:Arial;font-size:10pt;">$45.20</span><span style="font-family:Arial;font-size:10pt;">. There were no RSUs vested for the three or nine-month periods ended September 29, 2019. There were no RSUs granted or vested in 2018.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Stock-Based Compensation Expense</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company stratifies its employee population into </span><span style="font-family:Arial;font-size:10pt;"><span>two</span></span><span style="font-family:Arial;font-size:10pt;"> groups: one consisting of senior management and another consisting of all other employees. The Company currently applies an estimated annual forfeiture rate of </span><span style="font-family:Arial;font-size:10pt;"><span>9%</span></span><span style="font-family:Arial;font-size:10pt;"> to all equity awards for senior management and a rate of </span><span style="font-family:Arial;font-size:10pt;"><span>12%</span></span><span style="font-family:Arial;font-size:10pt;"> for all other employees. Each year during the first quarter, the Company revises its estimated forfeiture rate. This resulted in a decrease to compensation expense of </span><span style="font-family:Arial;font-size:10pt;"><span>$499,000</span></span><span style="font-family:Arial;font-size:10pt;"> in 2019 and an increase to compensation expense of </span><span style="font-family:Arial;font-size:10pt;"><span>$1,283,000</span></span><span style="font-family:Arial;font-size:10pt;"> in 2018.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">, total unrecognized compensation expense related to non-vested stock awards, including stock options and RSUs, was </span><span style="font-family:Arial;font-size:10pt;"><span>$59,708,000</span></span><span style="font-family:Arial;font-size:10pt;">, which is expected to be recognized over a weighted-average period of </span><span style="font-family:Arial;font-size:10pt;"><span>1.60</span></span><span style="font-family:Arial;font-size:10pt;"> years.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$10,194,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$1,804,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively, and for the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$9,143,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$1,654,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$33,442,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$5,839,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively, and for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$31,339,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$5,608,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively. </span><span style="font-family:Arial;font-size:10pt;"><span>No</span></span><span style="font-family:Arial;font-size:10pt;"> compensation expense was capitalized as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> or </span><span style="font-family:Arial;font-size:10pt;">December 31, 2018</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:38%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cost of revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>334</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>544</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,114</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,898</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Research, development, and engineering</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,616</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,197</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>11,633</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,166</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Selling, general, and administrative</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>6,244</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,402</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>20,695</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>18,275</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>10,194</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>9,143</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>33,442</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>31,339</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 17350152 P5Y P10Y <div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company’s stock option activity for the </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"/></tr><tr><td style="width:39%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:15%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">(in thousands)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Exercise</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Price</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Remaining</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Contractual</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Term (in years)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Intrinsic</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">(in thousands)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>13,789</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>31.73</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Granted</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,879</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>51.22</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Exercised</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(1,475</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21.53</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Forfeited or expired</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(726</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>41.79</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Outstanding as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>14,467</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>36.14</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7.19</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>203,774</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Exercisable as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,714</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>25.33</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5.73</span></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>134,913</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Options vested or expected to vest as of September 29, 2019 (1)</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>13,116</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>34.90</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7.04</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>199,066</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;padding-left:48px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> (1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.</span></div> 13789000 31.73 2879000 51.22 1475000 21.53 726000 41.79 14467000 36.14 P7Y2M8D 203774000 5714000 25.33 P5Y8M23D 134913000 13116000 34.90 P7Y14D 199066000 <div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:37%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Risk-free rate</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2.7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2.9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2.7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2.9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected dividend yield</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>0.39</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>0.32</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>0.39</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>0.32</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected volatility</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>37</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>39</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>37</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>39</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected term (in years)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5.1</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5.4</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5.2</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5.3</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 0.027 0.029 0.027 0.029 0.0039 0.0032 0.0039 0.0032 0.37 0.39 0.37 0.39 P5Y1M6D P5Y4M24D P5Y2M12D P5Y3M18D 18.42 22.52 18.58 21.70 5746000 17985000 42545000 50975000 1213000 997000 32072000 27557000 <div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company's RSUs activity for the nine-month period ended September 29, 2019: </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.22027290448344%;border-collapse:collapse;text-align:left;"><tr><td colspan="7"/></tr><tr><td style="width:67%;"/><td style="width:15%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares (in thousands)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average Grant Date Fair Value</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Granted</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>75</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>45.20</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Vested</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Forfeited or expired</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">—</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Nonvested as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>75</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>45.20</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 75000 45.20 75000 45.20 2 0.09 0.12 499000 1283000 59708000 P1Y7M6D 10194000 1804000 9143000 1654000 33442000 5839000 31339000 5608000 0 <div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:38%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cost of revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>334</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>544</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,114</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,898</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Research, development, and engineering</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,616</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,197</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>11,633</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,166</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Selling, general, and administrative</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>6,244</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,402</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>20,695</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>18,275</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>10,194</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>9,143</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>33,442</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>31,339</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 334000 544000 1114000 1898000 3616000 3197000 11633000 11166000 6244000 5402000 20695000 18275000 10194000 9143000 33442000 31339000 Stock Repurchase Program<div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">In October 2018, the Company's Board of Directors authorized the repurchase of </span><span style="font-family:Arial;font-size:10pt;"><span>$200,000,000</span></span><span style="font-family:Arial;font-size:10pt;"> of the Company's common stock. As of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">, the Company repurchased </span><span style="font-family:Arial;font-size:10pt;"><span>1,601,000</span></span><span style="font-family:Arial;font-size:10pt;"> shares at a cost of </span><span style="font-family:Arial;font-size:10pt;"><span>$70,312,000</span></span><span style="font-family:Arial;font-size:10pt;"> under this program, including </span><span style="font-family:Arial;font-size:10pt;"><span>1,398,000</span></span><span style="font-family:Arial;font-size:10pt;"> shares at a cost of </span><span style="font-family:Arial;font-size:10pt;"><span>$61,690,000</span></span><span style="font-family:Arial;font-size:10pt;"> during the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">. The Company may repurchase shares under this program in future periods, up to the remaining balance of </span><span style="font-family:Arial;font-size:10pt;"><span>$129,688,000</span></span><span style="font-family:Arial;font-size:10pt;">, depending upon a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.</span></div> 200000000 1601000 70312000 1398000 61690000 129688000 Taxes<div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:39%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"> </span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Income tax expense at U.S. federal statutory corporate tax rate</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">State income taxes, net of federal benefit</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign tax rate differential</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Tax credit</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to Tax Act 2017</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(4</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to stock options</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(4</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(3</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(5</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other discrete tax events</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(3</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(1</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Income tax expense</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>12</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>12</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Management has determined that earnings from its legal entity in China will be indefinitely reinvested to provide sufficient local funding for growth, and that earnings from all other jurisdictions will not be indefinitely reinvested. The Company is tax resident in numerous jurisdictions around the world and has identified its major tax jurisdictions as the United </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">States, Ireland, and China. The statutory tax rate is </span><span style="font-family:Arial;font-size:10pt;"><span>12.5%</span></span><span style="font-family:Arial;font-size:10pt;"> in Ireland and </span><span style="font-family:Arial;font-size:10pt;"><span>25%</span></span><span style="font-family:Arial;font-size:10pt;"> in China, compared to the U.S. federal statutory corporate tax rate of </span><span style="font-family:Arial;font-size:10pt;"><span>21%</span></span><span style="font-family:Arial;font-size:10pt;">. International rights to certain of the Company's intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate that is lower than the above mentioned statutory rates, although the reduced taxes overseas have been partially offset by changes in U.S. tax law. These differences resulted in a decrease in the effective tax rate by </span><span style="font-family:Arial;font-size:10pt;"><span>7</span></span><span style="font-family:Arial;font-size:10pt;"> percentage points</span><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> </span><span style="font-family:Arial;font-size:10pt;">for all periods presented.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The excess tax benefit arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises resulted in a decrease in the effective tax rate by </span><span style="font-family:Arial;font-size:10pt;"><span>1</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>4</span></span><span style="font-family:Arial;font-size:10pt;"> percentage points for the three-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively, and a decrease in the effective tax rate by </span><span style="font-family:Arial;font-size:10pt;"><span>3</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>5</span></span><span style="font-family:Arial;font-size:10pt;"> percentage points for the </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">During the </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">, the Company recorded a </span><span style="font-family:Arial;font-size:10pt;"><span>$37,000</span></span><span style="font-family:Arial;font-size:10pt;"> increase in reserves for income taxes, net of deferred tax benefit. Estimated interest and penalties included in these amounts totaled </span><span style="font-family:Arial;font-size:10pt;"><span>$50,000</span></span><span style="font-family:Arial;font-size:10pt;"> for the </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month period ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company’s reserve for income taxes, including gross interest and penalties, was </span><span style="font-family:Arial;font-size:10pt;"><span>$8,179,000</span></span><span style="font-family:Arial;font-size:10pt;"> as of </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">, which included </span><span style="font-family:Arial;font-size:10pt;"><span>$7,151,000</span></span><span style="font-family:Arial;font-size:10pt;"> classified as a non-current liability and </span><span style="font-family:Arial;font-size:10pt;"><span>$1,028,000</span></span><span style="font-family:Arial;font-size:10pt;"> recorded as a reduction to non-current deferred tax assets. The amount of gross interest and penalties included in these balances was </span><span style="font-family:Arial;font-size:10pt;"><span>$918,000</span></span><span style="font-family:Arial;font-size:10pt;">. If the Company’s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period. As a result of the expiration of certain statutes of limitations, there is a potential that a portion of these reserves could be released, which would decrease income tax expense by approximately </span><span style="font-family:Arial;font-size:10pt;"><span>$1,300,000</span></span><span style="font-family:Arial;font-size:10pt;"> to </span><span style="font-family:Arial;font-size:10pt;"><span>$1,400,000</span></span><span style="font-family:Arial;font-size:10pt;"> over the next twelve months.</span></div><span style="font-family:Arial;font-size:10pt;">The Company has defined its major tax jurisdictions as the United States, Ireland, and China, and within the United States, Massachusetts. Within the United States, the tax years </span><span style="font-family:Arial;font-size:10pt;"><span>2016 through 2018</span></span><span style="font-family:Arial;font-size:10pt;"> remain open to examination by the Internal Revenue Service and various state tax authorities. The tax years </span><span style="font-family:Arial;font-size:10pt;"><span>2015 through 2018</span></span> remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. <div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">A reconciliation of the United States federal statutory corporate tax rate to the Company’s income tax expense, or effective tax rate, was as follows:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:39%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"> </span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Income tax expense at U.S. federal statutory corporate tax rate</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">State income taxes, net of federal benefit</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign tax rate differential</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Tax credit</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>—</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to Tax Act 2017</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>—</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(4</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to stock options</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(4</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(3</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(5</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other discrete tax events</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(3</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(1</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Income tax expense</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>12</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>12</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> %</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"> %</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 0.21 0.21 0.21 0.21 0.01 0.01 0.01 0.01 -0.07 -0.07 -0.07 -0.07 0.01 0 0.01 0 0 0.09 0 0.04 0.01 0.04 0.03 0.05 0.03 0.02 0.01 0.01 0.02 0.01 0.02 0.01 0.12 0.01 0.12 0.06 0.125 0.25 0.21 -0.07 0.01 0.04 0.03 0.05 37000 50000 8179000 7151000 1028000 918000 1300000 1400000 2016 through 2018 2015 through 2018 Weighted-Average Shares<div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Weighted-average shares were calculated as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:39%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"> </span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Basic weighted-average common shares outstanding</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>170,744</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>172,189</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>171,053</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>172,613</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Effect of dilutive equity awards</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,705</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,056</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,111</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,408</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>174,449</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>177,245</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>175,164</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>178,021</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Equity awards to purchase </span><span style="font-family:Arial;font-size:10pt;"><span>6,078,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>5,695,000</span></span><span style="font-family:Arial;font-size:10pt;"> shares of common stock, on a weighted-average basis, were outstanding during the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September 29, 2019</span><span style="font-family:Arial;font-size:10pt;">, respectively, and </span><span style="font-family:Arial;font-size:10pt;"><span>2,796,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>2,353,000</span></span><span style="font-family:Arial;font-size:10pt;"> for the same periods in 2018, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.</span></div> <div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Weighted-average shares were calculated as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:39%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"> </span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Basic weighted-average common shares outstanding</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>170,744</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>172,189</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>171,053</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>172,613</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Effect of dilutive equity awards</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,705</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,056</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,111</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,408</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>174,449</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>177,245</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>175,164</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"> </span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>178,021</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div> 170744000 172189000 171053000 172613000 3705000 5056000 4111000 5408000 174449000 177245000 175164000 178021000 6078000 5695000 2796000 2353000 Subsequent Events<div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">On October 16, 2019, the Company acquired Sualab Co., Ltd. (Sualab), a provider of deep learning-based vision software for industrial image analysis based in Korea for approximately $</span><span style="font-family:Arial;font-size:10pt;"><span>195</span></span><span style="font-family:Arial;font-size:10pt;"> million. The total consideration included cash payments of approximately $</span><span style="font-family:Arial;font-size:10pt;"><span>171</span></span><span style="font-family:Arial;font-size:10pt;"> million upon closing. The remaining consideration consists of deferred payments of approximately $</span><span style="font-family:Arial;font-size:10pt;"><span>24</span></span><span style="font-family:Arial;font-size:10pt;"> million that may become payable on the fourth anniversary date of the closing, contingent upon the continued employment of key talent, and will be recorded as compensation expense over this four-year period. Given the timing of this acquisition, the Company is in the process of completing the purchase price allocation for the $</span><span style="font-family:Arial;font-size:10pt;"><span>171</span></span><span style="font-family:Arial;font-size:10pt;"> million of consideration that is not related to employment. Transaction costs incurred to date were not material and were expensed as incurred. The financial results of Sualab prior to the acquisition date are not material to the consolidated financial results of the Company.</span></div><span style="font-family:Arial;font-size:10pt;">On October 28, 2019, the Company’s Board of Directors declared a cash dividend of </span><span style="font-family:Arial;font-size:10pt;"><span>$0.055</span></span><span style="font-family:Arial;font-size:10pt;"> per share. The dividend is payable on </span><span style="font-family:Arial;font-size:10pt;"><span><span style="white-space:nowrap">November 29, 2019</span></span></span><span style="font-family:Arial;font-size:10pt;"> to all shareholders of record as of the close of business on </span><span style="font-family:Arial;font-size:10pt;"><span><span style="white-space:nowrap">November 15, 2019</span></span></span>. 195000000 171000000 24000000 171000000 0.055 2019-11-29 2019-11-15 XML 57 R26.htm IDEA: XBRL DOCUMENT v3.19.3
Fair Value Measurements (Tables)
9 Months Ended
Sep. 29, 2019
Fair Value Disclosures [Abstract]  
Assets and Liabilities Measured at Fair Value on a Recurring Basis
The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of September 29, 2019 (in thousands):
 
Quoted Prices in
Active Markets
for Identical
Assets (Level 1)
 
Significant  Other
Observable
Inputs (Level 2)
 

Unobservable
Inputs (Level 3)
Assets:
 
 
 
 
 
Money market instruments
$
16,081

 
$

 
$

Treasury bills

 
362,069

 

Corporate bonds

 
255,207

 

Asset-backed securities

 
146,392

 

Sovereign bonds

 
22,300

 

Agency bonds

 
5,905

 

Municipal bonds

 
4,840

 

Economic hedge forward contracts

 
19

 

Liabilities:
 
 
 
 
 
Economic hedge forward contracts

 
70

 

Contingent consideration liabilities

 

 
1,153


Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation
The following table summarizes the activity for the Company's liability measured at fair value using Level 3 inputs for the nine-month period ended September 29, 2019 (in thousands):
Balance as of December 31, 2018
$
2,554

Fair value adjustment to GVi contingent consideration
(1,646
)
Fair value adjustment to Chiaro contingent consideration
245

Balance as of September 29, 2019
$
1,153


XML 58 R47.htm IDEA: XBRL DOCUMENT v3.19.3
Leases - Future Minimum Rental Receipts Under Non-cancelable Lease Agreements (Details)
$ in Thousands
Sep. 29, 2019
USD ($)
Leases [Abstract]  
Lessor, Operating Lease, Payments to be Received, Remainder of Fiscal Year $ 77
Lessor, Operating Lease, Payments to be Received, Two Years 307
Lessor, Operating Lease, Payments to be Received, Three Years 307
Lessor, Operating Lease, Payments to be Received, Four Years 307
Lessor, Operating Lease, Payments to be Received $ 998
XML 59 R43.htm IDEA: XBRL DOCUMENT v3.19.3
Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)
$ in Thousands
Sep. 29, 2019
USD ($)
Debt Securities, Available-for-sale [Line Items]  
1 year or less $ 292,072
1-2 years 341,764
2-3 years 149,413
3-4 years 8,981
4-5 years 4,483
Fair value 796,713
Corporate Bonds  
Debt Securities, Available-for-sale [Line Items]  
1 year or less 87,209
1-2 years 115,941
2-3 years 47,842
3-4 years 1,348
4-5 years 2,867
Fair value 255,207
Treasury Bills  
Debt Securities, Available-for-sale [Line Items]  
1 year or less 105,454
1-2 years 188,398
2-3 years 68,217
3-4 years 0
4-5 years 0
Fair value 362,069
Asset-Backed Securities  
Debt Securities, Available-for-sale [Line Items]  
1 year or less 89,576
1-2 years 21,425
2-3 years 26,142
3-4 years 7,633
4-5 years 1,616
Fair value 146,392
Sovereign Bonds  
Debt Securities, Available-for-sale [Line Items]  
1 year or less 6,300
1-2 years 16,000
2-3 years 0
3-4 years 0
4-5 years 0
Fair value 22,300
Agency Bonds  
Debt Securities, Available-for-sale [Line Items]  
1 year or less 0
1-2 years 0
2-3 years 5,905
3-4 years 0
4-5 years 0
Fair value 5,905
Municipal Bonds  
Debt Securities, Available-for-sale [Line Items]  
1 year or less 3,533
1-2 years 0
2-3 years 1,307
3-4 years 0
4-5 years 0
Fair value $ 4,840
XML 60 R60.htm IDEA: XBRL DOCUMENT v3.19.3
Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)
$ / shares in Units, shares in Thousands, $ in Thousands
9 Months Ended
Sep. 29, 2019
USD ($)
$ / shares
shares
Shares (in thousands)  
Outstanding, shares | shares 13,789
Granted, shares | shares 2,879
Exercised, shares | shares (1,475)
Forfeited or expired, shares | shares (726)
Outstanding, shares | shares 14,467
Exercisable as of reporting date, shares | shares 5,714
Options vested or expected to vest as of reporting date, shares | shares 13,116
Weighted- Average Exercise Price  
Outstanding, shares | $ / shares $ 31.73
Granted, in dollars per share | $ / shares 51.22
Exercised, in dollars per share | $ / shares 21.53
Forfeited or expired, in dollars per share | $ / shares 41.79
Outstanding, shares | $ / shares 36.14
Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share | $ / shares 25.33
Weighted- Average Remaining Contractual Term (in years) | $ / shares $ 34.90
Weighted- Average Remaining Contractual Term (in years)  
Outstanding, in years 7 years 2 months 8 days
Exercisable, in years 5 years 8 months 23 days
Options vested or expected to vest, in years 7 years 14 days
Aggregate Intrinsic Value (in thousands)  
Outstanding, in dollars | $ $ 203,774
Exercisable, in dollars | $ 134,913
Options vested or expected to vest, in dollars | $ $ 199,066
XML 61 R64.htm IDEA: XBRL DOCUMENT v3.19.3
Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail)
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Income Tax Disclosure [Abstract]        
Income tax expense at U.S. federal statutory corporate tax rate 21.00% 21.00% 21.00% 21.00%
State income taxes, net of federal benefit 1.00% 1.00% 1.00% 1.00%
Foreign tax rate differential (7.00%) (7.00%) (7.00%) (7.00%)
Tax credit (1.00%) 0.00% (1.00%) 0.00%
Discrete tax benefit related to Tax Act 2017 0.00% (9.00%) 0.00% (4.00%)
Discrete tax benefit related to stock options (1.00%) (4.00%) (3.00%) (5.00%)
Other discrete tax events (3.00%) (2.00%) (1.00%) (1.00%)
Other 2.00% 1.00% 2.00% 1.00%
Income tax expense 12.00% 1.00% 12.00% 6.00%
XML 62 R68.htm IDEA: XBRL DOCUMENT v3.19.3
Subsequent Events (Details) - Subsequent Event - USD ($)
Oct. 28, 2019
Oct. 16, 2019
Subsequent Event [Line Items]    
Dividends (in dollars per share) $ 0.055  
Dividends payable, date payable Nov. 29, 2019  
Dividends payable, date of record Nov. 15, 2019  
Sualab Co., Ltd.    
Subsequent Event [Line Items]    
Consideration transferred   $ 195,000,000
Cash payments   171,000,000
Deferred payments   $ 24,000,000
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.19.3
Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Detail) - USD ($)
$ in Thousands
Sep. 29, 2019
Dec. 31, 2018
Derivatives, Fair Value [Line Items]    
Derivative asset $ 19 $ 1
Derivative liability 70 106
Not Designated as Hedging Instrument | Prepaid Expenses and Other Current Assets    
Derivatives, Fair Value [Line Items]    
Derivative asset 19 1
Not Designated as Hedging Instrument | Accrued Expenses    
Derivatives, Fair Value [Line Items]    
Derivative liability $ 70 $ 106
XML 64 R56.htm IDEA: XBRL DOCUMENT v3.19.3
Revenue Recognition - Revenue Disaggregated by Products and Services (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Revenue from External Customer [Line Items]        
Revenue $ 183,325 $ 232,221 $ 555,856 $ 613,052
Standard Products and Services        
Revenue from External Customer [Line Items]        
Revenue 139,887 150,993 473,610 493,019
Application-Specific Customer Solutions        
Revenue from External Customer [Line Items]        
Revenue $ 43,438 $ 81,228 $ 82,246 $ 120,033
XML 65 R10.htm IDEA: XBRL DOCUMENT v3.19.3
Summary of Significant Accounting Policies
9 Months Ended
Sep. 29, 2019
Accounting Policies [Abstract]  
Summary of Significant Accounting Policies Summary of Significant Accounting Policies
As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form 10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP). As a result of the adoption of ASC 842 "Leases," Cognex Corporation (the "Company") has provided new disclosures related to leases in this Quarterly Report on Form 10-Q. Reference should be made to the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2018 for a full description of other significant accounting policies.
In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, and financial statement reclassifications necessary to present fairly the Company’s financial position as of September 29, 2019, and the results of its operations for the three-month and nine-month periods ended September 29, 2019 and September 30, 2018, and changes in shareholders’ equity, comprehensive income, and cash flows for the periods presented.
The results disclosed in the Consolidated Statements of Operations for the three-month and nine-month periods ended September 29, 2019 are not necessarily indicative of the results to be expected for the full year.
Leases
The Company accounts for leases in accordance with Accounting Standard Codification (ASC) 842, "Leases." The core principle of ASC 842 is that a lessee should recognize on the balance sheet the assets and liabilities that arise from leases.
At inception of a contract, the Company determines whether that contract is or contains a lease. The Company determines whether a contract contains a lease by assessing whether there is an identified asset and whether the contract conveys the right to control the use of the identified asset for a period of time in exchange for consideration. The Company has control of the asset if it has the right to direct the use of the asset and obtains substantially all of the economic benefits from the use of the asset throughout the period of use.
As a practical expedient, the Company does not recognize a lease asset or lease liability for leases with a lease term of 12 months or less. In the determination of the lease term, the Company considers the existence of extension or termination options and the probability of those options being exercised.
Lease contracts may include lease components and non-lease components, such as common area maintenance and utilities for property leases. As a practical expedient, the Company accounts for the non-lease components together with the lease components as a single lease component for all of its leases.

The Company classifies a lease as a finance lease when it meets any of the following criteria at the lease commencement date: a) the lease transfers ownership of the underlying asset to the Company by the end of the lease term; b) the lease grants the Company an option to purchase the underlying asset that the Company is reasonably certain to exercise; c) the lease term is for the major part of the remaining economic life of the underlying asset (the Company considers a major part to be 75% or more of the remaining economic life of the underlying asset); d) the present value of the sum of the lease payments and any residual value guaranteed by the Company equals or exceeds substantially all of the fair value of the underlying asset (the Company considers substantially all the fair value to be 90% or more of the fair value of the underlying asset amount); or e) the underlying asset is of such a specialized nature that it is expected to have no alternative use to the lessor at the end of the lease term. When none of the criteria above are met, the Company classifies the lease as an operating lease.
On the lease commencement date, the Company records a lease asset and lease liability on the balance sheet. The lease asset consists of: 1) the amount of the initial lease liability; 2) any lease payments made to the lessor at or before the lease commencement date, minus any lease incentives received; and 3) any initial direct cost incurred by the Company. Initial direct costs are incremental costs of a lease that would not have been incurred if the lease had not been obtained and are capitalized as part of the lease asset.
The lease liability equals the present value of the future cash payments discounted using the Company's incremental borrowing rate. The Company’s incremental borrowing rate is the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments over a similar term, which is the three-month London Interbank Offered Rate (LIBOR) plus a 2.5% credit risk spread.

Operating lease expense equals the total cash payments recognized on a straight-line basis over the lease term. The amortization of the lease asset is calculated as the straight-line lease expense less the accretion of the interest on the lease liability each period. The lease liability is reduced by the cash payment less the interest each period.
XML 66 R14.htm IDEA: XBRL DOCUMENT v3.19.3
Inventories
9 Months Ended
Sep. 29, 2019
Inventory Disclosure [Abstract]  
Inventories Inventories
Inventories consisted of the following (in thousands):
 
September 29, 2019
 
December 31, 2018
Raw materials
$
30,283

 
$
42,738

Work-in-process
4,848

 
3,435

Finished goods
30,133

 
37,109

 
$
65,264

 
$
83,282


XML 67 R3.htm IDEA: XBRL DOCUMENT v3.19.3
Consolidated Statements of Comprehensive Income - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Statement of Comprehensive Income [Abstract]        
Net income $ 41,685 $ 80,436 $ 123,538 $ 173,849
Available-for-sale investments:        
Net unrealized gain (loss), net of tax of ($5) and $24 in the three-month periods and net of tax of $502 and ($82) in the nine-month periods, respectively 265 522 4,827 (180)
Reclassification of net realized (gain) loss into current operations (294) (266) (716) (535)
Net change related to available-for-sale investments (29) 256 4,111 (715)
Foreign currency translation adjustments:        
Foreign currency translation adjustments (1,099) (1,881) (1,544) (5,078)
Other comprehensive income (loss), net of tax (1,128) (1,625) 2,567 (5,793)
Total comprehensive income $ 40,557 $ 78,811 $ 126,105 $ 168,056
XML 68 R18.htm IDEA: XBRL DOCUMENT v3.19.3
Derivative Instruments
9 Months Ended
Sep. 29, 2019
Derivative Instruments and Hedging Activities Disclosure [Abstract]  
Derivative Instruments Derivative Instruments
The Company’s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates. Currently, the Company enters into economic hedges to manage this risk. The economic hedges utilize foreign currency forward contracts with maturities of up to 45 days to manage the exposure
to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables. The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged. These economic hedges are not designated as hedging instruments for hedge accounting treatment.
The Company had the following outstanding forward contracts (in thousands):
 
September 29, 2019
 
December 31, 2018
Currency
Notional
Value
 
USD
Equivalent
 
Notional
Value
 
USD
Equivalent
Derivatives Not Designated as Hedging Instruments:
 
 
 
 
Euro
18,000

 
$
19,697

 
23,000

 
$
26,330

Japanese Yen
600,000

 
5,563

 
380,000

 
3,459

Mexican Peso
90,000

 
4,560

 

 

British Pound
2,550

 
3,149

 
2,500

 
3,204

Korean Won
3,660,000

 
3,053

 
3,125,000

 
2,808

Hungarian Forint
840,000

 
2,739

 
750,000

 
2,685

Taiwanese Dollar
45,700

 
1,478

 
55,000

 
1,807

Canadian Dollar
1,100

 
830

 
990

 
726

Singapore Dollar

 

 
700

 
514


Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):
 
Asset Derivatives
 
Liability Derivatives
 
Balance
 
Fair Value
 
Balance
 
Fair Value
 
Sheet
Location
 
September 29, 2019
 
December 31, 2018
 
Sheet
Location
 
September 29, 2019
 
December 31, 2018
Derivatives Not Designated as Hedging Instruments:
 
 
 
 
 
 
Economic hedge forward contracts
Prepaid expenses and other current assets
 
$
19

 
$
1

 
Accrued expenses
 
$
70

 
$
106



The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):
Asset Derivatives
 
Liability Derivatives
 
 
September 29, 2019
 
December 31, 2018
 
 
 
September 29, 2019
 
December 31, 2018
Gross amounts of recognized assets
 
$
19

 
$
1

 
Gross amounts of recognized liabilities
 
$
70

 
$
106

Gross amounts offset
 

 

 
Gross amounts offset
 

 

Net amount of assets presented
 
$
19

 
$
1

 
Net amount of liabilities presented
 
$
70

 
$
106



Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):
 
Location in Financial Statements
 
Three-months Ended
 
Nine-months Ended
 
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Derivatives Not Designated as Hedging Instruments:
 
 
 
Gains (losses) recognized in current operations
Foreign currency gain (loss)
 
$
469

 
$
299

 
$
535

 
$
(366
)

XML 69 R7.htm IDEA: XBRL DOCUMENT v3.19.3
Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Cash flows from operating activities:    
Net income $ 123,538 $ 173,849
Adjustments to reconcile net income to net cash provided by operating activities:    
Stock-based compensation expense 33,442 31,339
Depreciation of property, plant, and equipment 15,800 13,474
Amortization of intangible assets 2,119 2,307
Amortization of discounts or premiums on investments (563) 123
Realized (gain) loss on sale of investments (716) (535)
Revaluation of contingent consideration (1,401) (50)
Change in deferred income taxes (1,805) 175
Accounts receivable 11,387 (18,136)
Unbilled revenue (2,900) (6,542)
Inventories 18,019 (27,699)
Prepaid expenses and other current assets 5,827 (3,437)
Accounts payable (3,398) (1,182)
Accrued expenses (11,827) 2,266
Accrued income taxes (1,043) (17,497)
Deferred revenue and customer deposits 698 4,841
Other (1,863) (1,604)
Net cash provided by operating activities 185,314 151,692
Cash flows from investing activities:    
Purchases of investments (883,363) (616,047)
Maturities and sales of investments 781,929 635,119
Purchases of property, plant, and equipment (13,518) (27,356)
Net cash provided by (used in) investing activities (114,952) (8,284)
Cash flows from financing activities:    
Issuance of common stock under stock plans 31,780 25,882
Repurchase of common stock (61,690) (142,262)
Payment of dividends (25,682) (23,283)
Payment of contingent consideration 0 (1,000)
Net cash provided by (used in) financing activities (55,592) (140,663)
Effect of foreign exchange rate changes on cash and cash equivalents (1,281) (1,956)
Net change in cash and cash equivalents 13,489 789
Cash and cash equivalents at beginning of period 108,212 106,582
Cash and cash equivalents at end of period $ 121,701 $ 107,371
XML 70 R37.htm IDEA: XBRL DOCUMENT v3.19.3
Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail) - USD ($)
$ in Thousands
Sep. 29, 2019
Dec. 31, 2018
Assets:    
Money market instruments $ 16,081 $ 3,557
Financial assets at fair value 796,713  
Corporate Bonds    
Assets:    
Financial assets at fair value 255,207  
Treasury Bills    
Assets:    
Financial assets at fair value 362,069  
Asset-Backed Securities    
Assets:    
Financial assets at fair value 146,392  
Sovereign Bonds    
Assets:    
Financial assets at fair value 22,300  
Agency Bonds    
Assets:    
Financial assets at fair value 5,905  
Municipal Bonds    
Assets:    
Financial assets at fair value 4,840  
Quoted Prices in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring    
Assets:    
Money market instruments 16,081  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring    
Assets:    
Money market instruments 0  
Economic hedge forward contracts 19  
Liabilities:    
Economic hedge forward contracts 70  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Corporate Bonds    
Assets:    
Financial assets at fair value 255,207  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Treasury Bills    
Assets:    
Financial assets at fair value 362,069  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Asset-Backed Securities    
Assets:    
Financial assets at fair value 146,392  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Sovereign Bonds    
Assets:    
Financial assets at fair value 22,300  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Agency Bonds    
Assets:    
Financial assets at fair value 5,905  
Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Municipal Bonds    
Assets:    
Financial assets at fair value 4,840  
Fair Value, Inputs, Level 3 | Fair Value, Measurements, Recurring    
Liabilities:    
Contingent consideration liabilities $ 1,153  
XML 71 R33.htm IDEA: XBRL DOCUMENT v3.19.3
Revenue Recognition (Tables)
9 Months Ended
Sep. 29, 2019
Revenue from Contract with Customer [Abstract]  
Revenue from External Customers by Geographic Areas
The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):
 
 
Three-months Ended
 
Nine-months Ended
 
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Americas
 
$
65,253

 
$
57,020

 
$
208,909

 
$
187,991

Europe
 
64,209

 
118,810

 
182,747

 
245,437

Greater China
 
27,854

 
31,068

 
86,446

 
99,402

Other Asia
 
26,009

 
25,323

 
77,754

 
80,222

 
 
$
183,325

 
$
232,221

 
$
555,856

 
$
613,052


Revenue from External Customers by Products and Services
The following table summarizes disaggregated revenue information by revenue type (in thousands):
 
 
Three-months Ended
 
Nine-months Ended
 
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Standard products and services
 
$
139,887

 
$
150,993

 
$
473,610

 
$
493,019

Application-specific customer solutions
 
43,438

 
81,228

 
82,246

 
120,033

 
 
$
183,325

 
$
232,221

 
$
555,856

 
$
613,052


Deferred Revenue, by Arrangement, Disclosure
The following table summarizes the deferred revenue and customer deposits activity for the nine-month period ended September 29, 2019 (in thousands):
Balance as of December 31, 2018
$
9,845

Increases to deferred revenue and customer deposits
37,351

Recognition of revenue
(36,517
)
Foreign exchange rate changes
(248
)
Balance as of September 29, 2019
$
10,431


XML 72 R53.htm IDEA: XBRL DOCUMENT v3.19.3
Derivative Instruments - Offsetting Assets (Detail) - USD ($)
$ in Thousands
Sep. 29, 2019
Dec. 31, 2018
Derivative Instruments and Hedging Activities Disclosure [Abstract]    
Gross amounts of recognized assets $ 19 $ 1
Gross amounts offset 0 0
Net amount of assets presented 19 1
Gross amounts of recognized liabilities 70 106
Gross amounts offset 0 0
Net amount of liabilities presented $ 70 $ 106
XML 73 R57.htm IDEA: XBRL DOCUMENT v3.19.3
Revenue Recognition - Additional Information (Details) - USD ($)
$ in Thousands
Sep. 29, 2019
Dec. 31, 2018
Revenue from Contract with Customer [Abstract]    
Costs to fulfill contract $ 4,792 $ 3,514
XML 74 R2.htm IDEA: XBRL DOCUMENT v3.19.3
Consolidated Statements of Operations - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Income Statement [Abstract]        
Revenue $ 183,325 $ 232,221 $ 555,856 $ 613,052
Cost of revenue 47,632 58,860 144,883 153,227
Gross margin 135,693 173,361 410,973 459,825
Research, development, and engineering expenses 28,115 29,700 86,436 87,664
Selling, general, and administrative expenses 64,486 65,817 199,542 196,266
Operating income 43,092 77,844 124,995 175,895
Foreign currency gain (loss) (1,295) (379) (1,403) (708)
Investment income 5,114 3,937 15,242 10,736
Other income (expense) 456 (129) 1,239 (98)
Income before income tax expense 47,367 81,273 140,073 185,825
Income tax expense 5,682 837 16,535 11,976
Net Income $ 41,685 $ 80,436 $ 123,538 $ 173,849
Net income per weighted-average common and common-equivalent share:        
Basic (usd per share) $ 0.24 $ 0.47 $ 0.72 $ 1.01
Diluted (usd per share) $ 0.24 $ 0.45 $ 0.71 $ 0.98
Weighted-average common and common-equivalent shares outstanding:        
Basic (shares) 170,744 172,189 171,053 172,613
Diluted (shares) 174,449 177,245 175,164 178,021
Cash dividends per common share (usd per share) $ 0.050 $ 0.045 $ 0.150 $ 0.135
XML 75 R19.htm IDEA: XBRL DOCUMENT v3.19.3
Revenue Recognition
9 Months Ended
Sep. 29, 2019
Revenue from Contract with Customer [Abstract]  
Revenue Recognition Revenue Recognition
The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):
 
 
Three-months Ended
 
Nine-months Ended
 
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Americas
 
$
65,253

 
$
57,020

 
$
208,909

 
$
187,991

Europe
 
64,209

 
118,810

 
182,747

 
245,437

Greater China
 
27,854

 
31,068

 
86,446

 
99,402

Other Asia
 
26,009

 
25,323

 
77,754

 
80,222

 
 
$
183,325

 
$
232,221

 
$
555,856

 
$
613,052



The following table summarizes disaggregated revenue information by revenue type (in thousands):
 
 
Three-months Ended
 
Nine-months Ended
 
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Standard products and services
 
$
139,887

 
$
150,993

 
$
473,610

 
$
493,019

Application-specific customer solutions
 
43,438

 
81,228

 
82,246

 
120,033

 
 
$
183,325

 
$
232,221

 
$
555,856

 
$
613,052



Costs to Fulfill a Contract
Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $4,792,000 and $3,514,000 as of September 29, 2019 and December 31, 2018, respectively.

Accounts Receivable, Contract Assets, and Contract Liabilities
Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value. The Company maintains reserves against its accounts receivable for potential credit losses. Credit losses recognized on accounts receivable were immaterial for the three-month and nine-month periods ended September 29, 2019 and September 30, 2018, respectively. Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts. Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.






The following table summarizes the deferred revenue and customer deposits activity for the nine-month period ended September 29, 2019 (in thousands):
Balance as of December 31, 2018
$
9,845

Increases to deferred revenue and customer deposits
37,351

Recognition of revenue
(36,517
)
Foreign exchange rate changes
(248
)
Balance as of September 29, 2019
$
10,431



As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.
XML 76 R6.htm IDEA: XBRL DOCUMENT v3.19.3
Consolidated Balance Sheets (Parenthetical) - USD ($)
$ in Thousands
Sep. 29, 2019
Dec. 31, 2018
Statement of Financial Position [Abstract]    
Reserves for accounts receivable $ 1,874 $ 1,646
Common stock, par value $ 0.002 $ 0.002
Common stock, shares authorized 300,000,000 300,000,000
Common stock, shares issued 170,897,000 170,820,000
XML 77 R11.htm IDEA: XBRL DOCUMENT v3.19.3
New Pronouncements
9 Months Ended
Sep. 29, 2019
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
New Pronouncements New Pronouncements
Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"
ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).  The amendments in this ASU eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity’s current estimate of all expected credit losses. In addition, this ASU broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.  The amendments in this ASU require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income. For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.  This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective. As of the date of this report, management is in the process of completing the implementation of this ASU, including finalizing the internal credit losses policy and the related processes, internal control, and disclosures. Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.
Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities"
ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium). The amendments in this ASU shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date. The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity. Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium. The amendments in this ASU more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities. For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020. This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle. Early adoption is permitted, including adoption in an interim period. Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.
Accounting Standards Update (ASU) 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software"
ASU 2018-15 applies to entities that are a customer in a hosting arrangement that is a service contract. The amendments in this ASU align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software. Accordingly, the amendments in this ASU require an entity in a hosting arrangement that is a service contract to follow the guidance in Subtopic 350-40 to determine which implementation costs to capitalize as an asset related to the service contract and which costs to expense. Further, it requires the entity to expense the capitalized implementation costs over the term of the hosting arrangement. In addition, it requires the presentation of the expenses related to the capitalized implementation costs in the same line item in the statement of income as the fees associated with the hosting element of the arrangement and the classification of the payments for the capitalized implementation costs in the statement of cash flows in the same manner as the payments made for the fees associated with the hosting element. The amendments in this ASU are effective for public entities for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted. Management does not expect ASU 2018-15 to have a material impact on the Company's financial statements and disclosures.
XML 78 R15.htm IDEA: XBRL DOCUMENT v3.19.3
Leases
9 Months Ended
Sep. 29, 2019
Leases [Abstract]  
Leases Leases
On January 1, 2019, the Company adopted Accounting Standards Codification (ASC) 842, “Leases,” using the transition method of adoption, which allowed the Company to apply the standard on a prospective basis with a cumulative-effect adjustment to the opening balance sheet as of the adoption date. Accordingly, the Company recorded lease assets
of $17,522,000, current lease liabilities of $4,736,000, and non-current lease liabilities of $12,669,000 on its Consolidated Balance Sheet as of January 1, 2019.
As part of the adoption, the Company elected a practical expedient package to be applied to all of its leases upon transition, and as a result, the Company did not reassess: 1) whether any expired or existing contracts contain leases; 2) the lease classification for any expired or existing leases; and 3) the accounting for initial direct costs for any existing leases.
The Company's leases are primarily leased properties across different worldwide locations where the Company conducts its operations. All of these leases are classified as operating leases. Certain leases may contain options to extend or terminate the lease at the Company's sole discretion. There were no options to extend or terminate that were included in the determination of the lease term for the leases outstanding as of September 29, 2019. Certain leases contain leasehold improvement incentives, retirement obligations, escalating clauses, rent holidays, and variable payments tied to a consumer price index. There were no restrictions or covenants for the leases outstanding as of September 29, 2019.
The total operating lease expense for the three-month and nine-month periods ended September 29, 2019 was $1,749,000 and $4,976,000, respectively. The total operating lease cash payments for the three-month and nine-month periods ended September 29, 2019 was $1,708,000 and $4,778,000, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability was $22,000 and $255,000 for the three-month and nine-month periods ended September 29, 2019, respectively.
Future operating lease cash payments are as follows (in thousands):
Year Ended December 31,
 
Amount
Remainder of fiscal 2019
 
$
1,650

2020
 
5,628

2021
 
4,314

2022
 
2,831

2023
 
1,988

2024
 
831

Thereafter
 
309

 
 
$
17,551


The discounted present value of the future lease cash payments resulted in a lease liability of $16,167,000 as of September 29, 2019.
The weighted-average discount rate was 4.8% for the leases outstanding as of September 29, 2019. The weighted-average remaining lease term was 3.6 years for the leases outstanding as of September 29, 2019. The Company did not have any leases that have not yet commenced but that create significant rights and obligations as of September 29, 2019.
The Company owns a building adjacent to its corporate headquarters that is partially occupied with a tenant who has a lease agreement that will expire in 2022. Rental income was $76,000 and $77,000 for the three-month period ended September 29, 2019 and September 30, 2018, respectively. Rental income was $234,000 and $236,000 for the nine-month period ended September 29, 2019 and September 30, 2018, respectively.
Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):
Year Ended December 31,
 
Amount
Remainder of fiscal 2019
 
$
77

2020
 
307

2021
 
307

2022
 
307

 
 
$
998


EXCEL 79 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( >!7$\?(\\#P !," + 7W)E;',O+G)E;'.MDD^+ MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F' M.>RGGD7E2B.5^S3%":4A+,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C M-R."?S]PN -02P,$% @ !X%<3R?HAPZ" L0 ! !D;V-0&UL38Y-"\(P$$3_2NG=;BGH06) L$?!D_>0;FP@R8;-"OGYIH(? MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/ M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+"" MWTG] E!+ P04 " '@5Q/X!6#3.X K @ $0 &1O8U!R;W!S+V-O M&ULS9+!2L0P$(9?17)OI^G"JJ&;B^))07!!\1:2V=U@DX9DI-VW-XV[ M740?0,@E,W^^^0;2Z2#T$/$Y#@$C64Q7D^M]$CILV($H"("D#^A4JG/"Y^9N MB$Y1OL8]!*4_U!ZA;9HU."1E%"F8@558B$QV1@L=4=$03WBC%WSXC'V!&0W8 MHT-/"7C-@WI\:6L6UF?2'F-^56R@HX!-^P\^75U=[]]8+)M^&W%FZJ]V?*U:*[S>9]= M?_A=A-U@[,[^8^.SH.S@U[^07U!+ P04 " '@5Q/F5R<(Q & "<)P M$P 'AL+W1H96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03 M621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS M[BYBZ(:(E/)X8-DOV]:[MR_>X%#BVR]*+41B1%G\@MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C( MWXV(]ZMOFCU7H5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU M+,76>)7 \:V@S&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=* MY \FIS_I,C0'HYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_ MT=HWPJOX@L Y?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=R MSTS0LS0[=R M2^JVE+ZU)CA*]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZ MG=PZ.)Z8D;D*TU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCR MHB'NH8:8S\-#AWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)2 M56 Q6\8#*Y"B?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYE ML<%5'<]56_*POFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7G MFYRN>B)V^I=WP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5 M' 86%S+D4.Z2D 83 >LX=SFWJXPD6L_UC6'ODR MWSEPVSK> U[F$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\ MU*M:I60K$3]+!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHS MU8NL.8T*;T'50.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\! M4$L#!!0 ( >!7$]"^)*@*P, .<. 8 >&PO=V]R:W-H965T&ULC5=_;YLP$/TJB ]0\!GRHTHB-9VF3=JDJM.VOVGB)*B ,W"2 M[MO/&)I&OF=I_P1LWMT[<_>.W.*BV]?NH)2)WNJJZ9;QP9CC?9)TFX.JB^Y. M'U5CG^QT6Q?&+MM]TAU;56R=45TEE*:3I"[*)EXMW-Y3NUKHDZG*1CVU47>J MZZ+]NU:5OBQC$;]O/)?[@^DWDM7B6.S5#V5^'I]:NTJN7K9EK9JNU$W4JMTR M?A#W:TF]@4/\*M6EN[F/^J.\:/W:+[YNEW':1Z0JM3&]B\)>SNI1557OR<;Q M9W0:7SE[P]O[=^^?W>'M85Z*3CWJZG>Y-8=E/(NCK=H5I\H\Z\L7-1XHCZ/Q M]-_46546WD=B.3:ZZMQOM#EU1M>C%QM*7;P-U[)QU\OP),M&,VQ HP%]&#B> M9"!RD7\J3+%:M/H2MSZ3?=JW#/;/"=W3VOTD5R[MV,B/6 MH!N$N"(2Z_M*0(A@30XHY MM_80*I%UCD@FN8_.0#3*B&!5:ZX$*FW&<$73W&?A&)D&6+#L!1>U%#X+P 0^$ (K7W!=2^FS<$PH+X2U3US7TJ\Q MA ET&,+:)ZYKZ7<8A ET&,+:)ZYKZ7<8A ET&,+:)Z[KS.\P"!/Z=X&U3^ + M[W<8A FQ8.T3UW7FUQC"9 $6K'WBNL[\#@,PH3Y&6/O$=9VQ&OO_+SYA[1/7 M=>;W,8 )LF#M$]=UQBH98 *5++'V)==U[E5U4:F?ZVZF];X?1:U@8 M?1S'RN0ZVZ[^ 5!+ P04 " '@5Q/\MQ\NEX$ #=$P & 'AL+W=O MZW83&RL9+F2$F_?OM0A7GEFE.V-)='?D/.3HQF*BTM9?:T/(32S;T5^JA_F MAZ8YWR=)O3N$(JOORG,XQ7]>RJK(FOA8O2;UN0K9OC,J\D0*89,B.Y[FRT77 M]E0M%^5;DQ]/X:F:U6]%D57_KD)>7A[F,/]H^')\/31M0[)S5LIS67YM'W[=/\Q% MZU'(PZYIN\CBY3VL0YZW/44__ADZG5_'; W']Q^]_]R)CV*>LSJLR_SOX[XY M/,S]?+8/+]E;WGPI+[^$09"9SP;UOX7WD$>\]22.L2OSNON=[=[JIBR&7J(K M1?:MOQY/W?4R]/]AQAO(P4!>#>+8GQFHP4!]-]"?&NC!0/_?$9E4?#^>L#3NX-W&Y=FUCMSK=?W$^Z]CZOC1FD;RW_0S(JD?D M&+&WR(8B<"62./[5"SQ/&TJ!UMXKI(S!3)PHQRNSK#)+E2&?5Y8. MHXQ-D3=K!G-*X7G:4$R#2!W6QF F]:-0N='F6&V.:D/#K!P91GH ') ,E3J! M5XU2WFJ%PY&AG+6:U^5979[JTDB7)Z/8&$'(ES5#&0\HL6PH!6EJ- J3+8=9 M:2VO+&65I509SM@I#0PE4OR>4/3B5@$P1IQ+&,K3D*006*-P*N$P2-U42/*[$:#;$8>W(P,SWO9HL)ZD$HIY08K6AL%B M5!KEL3R&<\KKB8TD\'L2L&0KZB:V:\!7?J"E'X?9:F#-\S7(@#$YJ?'_Q2V1"(5]H)2VT#A=:R52] MJ$^G6"''.4DB@.4,X"WGEN6\D%-?RWRYE;3<.EQN!\;?1)O J8VGJ#P.PU\ M6YY2.#Z3T=%$$:K7[IRHGNW*MU/3AO:H]7H6]=@=1:'V%=RO@6G?P/VV/VGZ MWGU_\/5[5KT>3_7LN6R:LNB./5[*L@G1>W$7%^40LOWU(0\O37OKXGW5'SCU M#TUY'@[3DNN)WO(_4$L#!!0 ( >!7$_J/L<.]@( "D+ 8 >&PO M=V]R:W-H965T&ULC5;;CILP$/T5Q'L7VV N41)IQ,G00N88B?9_GUMP[*L/=GV)6#GG)DY,X,]\ZOHGN2)NN5< MG%55-ORA"^2YKEGW9\4K<5V$.'S9^%8>3\IL1,MYRX[\.U<_VH=.KZ+1RKZL M>2-+T00=/RS">SS;8F((%O&SY%0^,E$1CL^8&=*_5-7#_Q M01 -@T']%W[AE8:;2+2/G:BD_0UV9ZE$/5C1H=3LN7^6C7U>!_LO-)A !@(9 M"=KW>X1X(,2OA.1=0C(0DO_U0 <"=3Q$O7:;S U3;#GOQ#7H^GYHF6D[/*.Z M7#NS::MC_]/YE'KWLLR*>70Q=@;(JH>0"82F;R$;'X)'1*3]CT$0*(@5\3UD M;SVL 4CN!/%O*]MWK;P)- :S%5M^/.'G".8G(#^Q_&3*QTZV>TAJ(8V%)#C- MJ9,.'Y6C)';+XJ,PB6GL)&X+P+(X3PI8&06543\S!.:G(#_U,Q,[F>DA=!(F M2=V\^!A*B),5'Y/DQ.T4'_0!WZIU!BK*?$6)HRCSG9#" :TA4.I6&@!EV %M M 1"-*:PI!S7EOB:G JLAPDT+",O=$V(#PFCB],T6@E&4W3CO\(WK ?OJ=#]/-X7Z>D#&:%?$-<>"U.BXH?E'G-]'O7 M#V_]0HEV&$RC<3I>_@502P,$% @ !X%<3[S7RKP[ @ &0< !@ !X M;"]W;W)K]?<-XT(TN92M5(K MK7;5]MDADX#68&H[8?OWM8W#$K!"7V+/<,[,G+$S3EO*WG@!()SWBM1\Y19" M-$N$>%Y A?D#;:"67XZ455A(DYT0;QC@@R95! 6>EZ *E[6;I=KWS+*4G@4I M:WAF#C]7%69_UT!HNW)]]^IX*4^%4 Z4I0T^P2N(G\TSDQ;JHQS*"FI>TMIA M<%RY3_YRERB\!OPJH>6#O:.4["E]4\:WP\KU5$% (!<]A0\KL\B&+E+ESG $=\)N*%ME_!Z(E=QXC_#A<@ M$JXJD3ER2KC^=?(S%[0R460I%7[OUK+6:VOB7VEV0F (04^0N>\10D,(/PC1 M74)D"-'_9H@-(1YE0)UVW5RY& O_#L_,C*CS0_&G;;'W6[@R0:4FO(Z#PVLXCM+&)W#W&C M([;JB*?X4Z#FPLB_]I<;W^+?RKG? MC>F/\-VC\0.S4UES9T^%G$9Z9API%2 +]QYD]POY3O4&@:-0VT>Y9]VT[@Q! M&_,0H?XUS/X!4$L#!!0 ( >!7$_YJ7E$J@0 .<6 8 >&PO=V]R M:W-H965T&ULA9C;;N,V$(9?Q?!]5YSA053@&%AI4;1 "P1; M;'NMQ$QLK&2YDA)OW[Z4[!CVS'!S8QW\#_GS]''$U;'KOP_;$,;%C[;9#_?+ M[3@>[K)L>-J&MAX^=8>PC_\\=WU;C_&Q?\F&0Q_JS1S4-ADJY;*VWNV7Z]7\ M[J%?K[K7L=GMPT._&%[;MN[_*T/3'>^7L'Q_\77WLAVG%]EZ=:A?PE]A_'9X MZ.-3=BEELVO#?MAU^T4?GN^7G^&NTGX*F!5_[\)QN+I?3$UY[+KOT\/OF_NE MFAR%)CR-4Q%UO+R%*C3-5%+T\>^YT.6ESBGP^OZ]]%_GQL?&/-9#J+KFG]UF MW-XO_7*Q"<_U:S-^[8Z_A7.#[')Q;OT?X2TT43XYB74\=7H>Q:\^E M1"MM_>-TW>WGZ_%<_GN8'(#G +P$@/EI@#X':!*0G9S-3?U2C_5ZU7?'17\: MK4,]30JXT[$SGZ:7<]_-_\76#O'MV[HPJ^QM*NI<U.(N.+)&*J[Q&GS#C13->,$.F M0^GYK/& =)BX2AMUU[I@N*RW"N-B>4-2J:4$@PQ M3BE6E57&&>I(T*%#I8N$I00X0;!DJ27@$\,;+*@C+BM IQ (,D,!!4..&D*^ MMJRGLDJ0)>8/R$ &3F2@/"G/HMN%KE%YZN9#W:TEF)/*E66VHL!6H&Q%SDQKC*5VN"HU M5#)448 J4*@BQV5,6^B(5H(L[H(VL4!1IBH*5 5*51037F23A\M2O2,3%:5L MEYGAK(Q@HE:XJ$A.8YFG*/"4@KM$CLD<+)O%DDHETA6428I"PHL4[\AS60N, MEM6'LEM#,I=1X#*=$B4*Z:RAZ8$@TMZE/FAE*&L!RDAW"X3F@.7)@<_E=P:D8&L^7$!I)(+G3@P$!B*E.F:TU$;"HD/ M1+=F9(AJ :+TJZ[4G(ZV,(9]_4FZZ6PAD2QK&:-:P"A2KFO.1^=1>[H\)9UQ M"*GI)\-4"S"E7U*EYIS\1><%7Q&"SBA[]?E_:TE&JA:0JBE2M91YQFR8;I.5 M)(S['[H$Q[0,5BV E>8AY5ET<\XEYLV24,R;LZL3Q^D(^,^Z?]GMA\5C-XY= M.Q\Q/G?=&&*AZE-LXS;4F\M#$Y['Z3:/]_WIZ/7T,':'\[%R=CG;7O\/4$L# M!!0 ( >!7$]!'165^P$ (H% 8 >&PO=V]R:W-H965T&ULC93;CILP$(9?!?$ ,><N7N9D[\#)G-TF:%@[<$S=*,?^]!\+ZP@_]CXF7 MYEI+/8'*O,-7^ [R1W?@:H1&EW-#H14-:ST.E\)_"G=5IO5&\-I +R9]3V=R M9.Q-#[Z<"S_00$#@)+4#5LT=*B!$&RF,7X.G/VZI Z?]#_=/)G>5RQ$+J!CY MV9QE7?@;WSO#!=^(?&']9QCR27UO2/XKW($HN291>YP8$>;MG6Y",CJX*!2* MWVW;M*;M[4JV'<+< =$0$(T!8?+7@'@(B!]Q^[$ZK/^) MKPSSI27-V9DUE*]3LO0SC*$=W;31H]E83333I>BZI'B7;=)0@13!B1$Z, MR,3',XS8;1 [#6)CD,P,DD4>5I,936LUF_5"5#E$69*Y41(G2N) 21/4&YEY(!"DUNAJ]0WS*]-*[PCD^J"F6MP84R"<@U6RK!6A7$<$+A( MW5VK/K?EP0XDZX;*A\;R6_X!4$L#!!0 ( >!7$]S8$@IH 0 "06 8 M >&PO=V]R:W-H965T&UL?9C=;N,V$(5?Q?!]5AJ.2%&! M;2!V4;1 "P1;M+U6;"8V5K)<28FW;U]*5KSV\+ WL:0*BW/3?NOV MSO6S[W5U[);S?=^?'I.DV^Y=779?FI,[^O^\-FU=]OZV?4NZ4^O*W=BHKA*5 MIB:IR\-QOEJ,SY[;U:)Y[ZO#T3VWL^Z]KLOVW[6KFO-R3O//!U\/;_M^>)"L M%J?RS?WA^C]/SZV_2ZY1=H?:';M#=#@U'QU\&=NYOKV5#* M2]-\&VY^W2WGZ>#(56[;#R%*__/A-JZJADC>QS]3T/DUY]#P]OHS^L]C\;Z8 ME[)SFZ;Z^[#K]\NYG<]V[K5\K_JOS?D7-Q6DY[.I^M_#;"S^XFPL M]:>R+U>+MCG/VLMHG:J2'ST:PJ%4JQ5T%SG]QDV0&)Q"H95\-B>[ZHH<( ,!LC& -E- $NB%RX2 M,TJ.EQR*M>RL#9#E;+.(&PW=Z+"<+,4!# Q@@G(HD_5<-/K&*'.6*5$.4!'' M^C:'9G)@1J19YT$:TC9-A1F@XBS/L!D+S5A@AH49&Z111(7P D2441[K'0P[8F G8#:'>3S9)7B! MS+LF-A%'F)X4XI/DXEU/HKM4J@C6.)(9?0.,>T,8H*2!(0G 2737138-%CJ0 M/:C<%!$&$B8R 22GDH(4TE9;%8Q9J'K@C"/L(0QE E0F"4(*@?O@X2]?>4A& M9&-#AL%,@,PD<4@A=<=,01Z&;-5 ;9J"0X%H&DM<]C1B*Y#3\=F(N:K M GS5DAXJ!&=NJ5 2L$!G6-_NN.XM8< J %@M^:$ .LGG"M8'T*F<=80@"C-6 M <9J21 %X9D5:AC92-[ M?,9X9(!'(_'((?:"'D(;W32-;*DY\L$.]K!&;M 8;$ZUUD70/V@3FZ7&Q#H( MDY8!:8TD+0. DI*'!1LH*V(KC3%E&5!6$GW-8!?+F960!;+<1@C+F+ ,"&LD M83DD)Z5643!F2&=T=.ECPC(@K)&$G43W)S>4!U^*2)?FG,OW=7)SME:[]FT\ MANQFV^;]V ^'6#=/KT>=3VHXFQ//U_2XN1Q8_@AS.3_]O6S?#L=N]M+T?5./ MYW.O3=,[;S/]XOML[\K=]:9RK_UPF?OK]G)N>;GIF]-T)IM<#X97_P%02P,$ M% @ !X%<3S9@W5"H!@ 9B8 !@ !X;"]W;W)K^I11Y)44428(EM;, &%!VV?583)3%J6YZM)-V_ M'R6K;GCW,G2_-+;[\G@BJ>=.KWWYVNZ_'IZ:IIM\VZRWAZOI4]?M/LYFA[NG M9E,?/K2[9AO^YZ'=;^HNO-T_S@Z[?5/?#X,VZYDN"C?;U*OM]/IR^.S3_OJR M?>[6JVWS:3\Y/&\V]?Z_FV;=OEY-U?3[!Y]7CT]=_\'L^G)7/S9_-MU?NT_[ M\&YVBG*_VC3;PZK=3O;-P]7T%_5Q::M^P*#X>]6\'MZ\GO27\J5MO_9O?KN_ MFA9]1LVZN>OZ$'7X\]+<-NMU'RGD\>\8='J:LQ_X]O7WZ,OAXL/%?*D/S6V[ M_F=UWSU=3?UTOD_WQ .WJ_IRJCR[L M[UW_X;"=P_^%#3B$3U^NE7.7LY<^T*BY.6ITI"ECS2W2^%@S1YHJUBR IBQB MS1)IU$DS"]=[NF@-+UH/ 4P40+,+.FKLH-F.&K)%B>8@M[E'CWLY3 M5-9QW:W4D6&;,)<:XQ01VX>%E#GGK6?1EE)V0<96%5X! U? ##$H6@&# U@8 MP((EM&QIK-PJ0XE9')S%R5DL6XX;)V;1UGM^;)S<)K9),$Z96-42IEN"16$W M[6TIIKG0I2WP-!Y.X\&JL+-TX^4TRFCM^+IX>9C8-BX2H6SBEJM@SI7,V2B6 M5@E4I4QEC.$Y M 38;MF5S$,TJ;ZWC1U_J7%E4\@A(W84IJ-*)A<# 5X#XHO0HB?RPY@6EIL+0 M5X#Z'$4W2K):%66E2.0DN4]\8^8@FJD\&0% J7.JTDKS-0>5A'SI$H5$X4JB MJO-[%XWQKP'^1?>B)=:M33!=8Z9KR739OV@ Z[!IBJ>C9$/*]BL1*8%9G>C! M$?5Y$Z,!SZE*;0+FN08\%VV,!J36H0_G#-&R*6;H6^1#Q5EC[&N ?='(:,GS M2O';9IY3Q>E@Z&L ?='(: G]B[+DLD56%B>$2X.6I4%4!BW9ZPM#'.5969P/ M)K1&/;FX!26AK>;TRHCB9###-6"X:&$TH*3FS_[+G"I.!Y-4@Z9-[NLS*XL=RS&4"7!8M#$DNO]?"$$8S 32+@TJ N;"% 4+9PI#$,VQA@ ZV M,$#W7@M#F/<$>.\-7PCDNA1>B[W)ZN*4$O8,J S>\I2 0:/(:B<,&N30:+XW MLCA87>E"6#12YXS3RO"] <7&%+9('5)<;.@G;!K"!8+.,6H(.35EXGF(,/CI M'*^&)-(I$% $ YW5Q1ACIYASCQDA4&Z^YUYQ3Q>E@G)MSC!L#@%DJWO7D M5'$Z">O['.-F%$6WF+*\[B\-,&XB69P01K1!Q@W_KL<@XZ;P%?^^)Z^+4\(P M-\C@$2=(4CH## X F=%C^1"Z +=RQQ*V0)=!=45JGO'PRN M$ 89/.+ZD,%3.)(TPR.#AA@&(9DOON?>P #IG M*DWB=D &C_-%Z@;%1$ZX.5 M]4'4RRV .*KE>5V<$L:I M!3V\J.6C*%_+@5#6O^XVAXF7]JN:S?# MSVD>VK9K0LSB0UC6IZ:^/[U9-P]=_[(,K_?'7SX=WW3M;OQ5U^STT[+K_P%0 M2P,$% @ !X%<3_N#BQ\* @ BP4 !@ !X;"]W;W)K42E4HU"XQE7@(C\H$W4.LW!RX8 M4=H41RP; :2P)$9QZ/LSS$A5HRRUOIW(4GY2M*IA)SQY8HR(WRN@O%VB %T< M+]6Q5,:!L[0A1_@&ZGNS$]K"O4I1,:AEQ6M/P&&)GH/%-C9X"_A102L'=\]4 MLN?\U1B?BR7R34) (5=&@>CC#&N@U CI-'XY3=2'-,3A_:+^T=:N:]D3"6M. M?U:%*I=HCKP"#N1$U0MO/X&K)T&>*_X+G(%JN,E$Q\@YE?;IY2>I.',J.A5& MWKJSJNW9.OT+;9H0.D+8$W3L>X3($:)W0GR7$#M"_+\1$D=(1A%P5[MMYH8H MDJ6"MY[HQJ$A9NJ"1:(_5VZ<]NO8=[J?4GO/6?#DI_ALA!QFU6'" 2:974,V MMY"@1V"=0)]%.)7%*KR-\'@=83T!F8^2^+?*]J[*5:+19+LBRX^NVO672N-) M@=@*Q .!IW#4[@XRLY#:0CXDHV;<0L)XU(Q;2.*/(FTG(LW#435X,$D,Q-'^ MUM++^:E6IA,#;[\YGD,SB2/_*EBL@PG_1F^:;C&\RW=KZBL1QZJ6WIXK/?]V M2@^<*]"I^P]Z[DN]&7N#PD&9ZZ.^BVX_=(;BC5M]N-^_V1]02P,$% @ M!X%<3QTKXOJU 0 TP, !D !X;"]W;W)K&UL M?5/M;IPP$'P5RP\0WP%ITA,@Y5)5J=1(IU1M?_M@ 2O^(+8YDK?OVA!*6]0_ MV+O,S,[:ZWPT]MEU )Z\*JE=03OO^P-CKNI <7=E>M#XIS%6<8^A;9GK+? Z MDI1DR6[W@2DN-"WSF#O9,C>#ET+#R1(W*,7MVQ&D&0NZI^^))]%V/B18F?>\ MA6_@O_9DVZE S$]?Y=_7/L'7LY\*>DM)#0T? MI'\RXP/,_5Q3,C?_%2X@$1Z<8(W*2!>_I!J<-VI602N*OTZKT'$=IS]9.M.V M"9E;,Q([G7W/PQ7O#PF>3162\2CB/S3O,'LI]Q^3 MG%V"T(PY3IADC5D0#-67$LE6B6/R#_WZ9IN?;EI,(S_]PV*Z+9!M"F11(/MO MCUN8[*\B;'6H"FP;Q\F1R@PZCO(JNTSL71(OY3=\&O=';ENA'3D;CU<;+Z Q MQ@-:V5WA#'7XPI9 0N/#]@;W=IJS*?"FGY\06]YQ^0M02P,$% @ !X%< M3V1,!^&Q 0 TP, !D !X;"]W;W)K&UL?5-_ M;YLP$/TJEC] G9"D[2) :EI-F[1)4:>U?SMP@%7_8+8)[;??V1#*.M1_L.]X M[]T[^YSVQKZX!L"35R6URVCC?;MGS!4-*.ZN3 L:_U3&*NXQM#5SK05>1I*2 M+%FMKIGB0M,\C;FCS5/3>2DT'"UQG5+U'_4OM&5",A*2 M#P0V%(K.'[CG>6I-3^QP]BT/5[S>)W@V14C&HXC_T+S#[#E??]FE[!R$1LQA MP"1SS(1@J#Z52)9*')+_Z+N;9?YFT>(F\C?_6+Q>%M@N"FRCP/;3'IL?Y7U!+ P04 " '@5Q/URK=>K9X.Q MSZX%\.1%2>URVGK?'1AS90N*NRO3@<8_M;&*>PQMPUQG@5>1I"1+-IM/3'&A M:9'%W,D6F>F]%!I.EKA>*6Y?CR#-D-,M?4\\B:;U(<&*K.,-? ?_HSM9C-BL M4@D%V@FCB84ZIW?;PS$-^ CX*6!PBST)G9R->0[!MRJGFV ())0^*'!<+G / M4@8AM/%[TJ1SR4!<[M_5O\3>L9THJJ'DO_9,9OL+4SS4E M4_,/< &)\. $:Y1&NO@E9>^\49,*6E'\95R%CNLP_MFE$VV=D$R$9";L8QTV M%HK./W//B\R:@=CQ[#L>KGA[2/!LRI",1Q'_H7F'V4NQO=UG[!*$)LQQQ"1+ MS(Q@J#Z72-9*'),/].N;=?YNU>(N\G=_6;Q=%TA7!=(HD/ZWQX\8'.Q_BK#% MH2JP31PG1TK3ZSC*B^P\L7=)O)0_\''<'[EMA';D;#Q>;;R VA@/:&5SA3/4 MX@N; PFU#]L;W-MQSL; FVYZ0FQ^Q\4;4$L#!!0 ( >!7$_:!O;UM $ M -,# 9 >&PO=V]R:W-H965TO&K5N9RVWO<'QES9@A;NQO30X9_:6"T\AK9AKK<@JDC2BO$D^<"TD!TM MLI@[V2(S@U>R@Y,E;M!:V-]'4&;,Z8Y>$\^R:7U(L"+K10/?P'_O3Q8CMJA4 M4D/GI.F(A3JG#[O#,0WX"/@A872K/0F=G(UY"<'G*J=), 0*2A\4!"X7> 2E M@A#:^#5KTJ5D(*[W5_6/L7?LY2PD])1748E#^V8R?8.[GEI*Y M^2]P 87PX 1KE$:Y^"7EX+S1LPI:T>)U6F47UW'ZDUYIVP0^$_A"N(\$-A6* MSI^$%T5FS4CL=/:]"%>\.W \FS(DXU'$?VC>8?92\&27L4L0FC''"<-7F#<$ M0_6E!-\J<>3_T6_OMOG[38O[R-__99%O"Z2; FD42-_M<0NS_Z<(6QVJ!MO$ M<7*D-$,71WF572;V@<=+>8-/X_Y5V$9VCIR-QZN-%U ;XP&M)#9L"KSIYR?$EG=<_ %02P,$% @ !X%<3WUU QFW 0 TP, M !D !X;"]W;W)K&UL?5/;;IPP$/T5RQ\0@Y=M MHA4@95-%J=1*JT1MGKTP@!5?J&V6].]C&T)0@OIB>\;GG+EXG(_:O-@.P*%7 M*90M<.=]9>.+T0'UOJN",K8AW/GGKO95!SEE7>9V-OXBN0#/HW[+V9:KBPZ:^>?-CY H[4#GTIRY6>H\S]L,00T M+ARO_=E,O;10^',#G].T#F#ANZ_:/8=2V2O=@_)_&FTD>=NYD"!EWK,6GL!][T_&1V16J;D$9;E6 MR$!3X+O-X;@+^ CXP6&TBST*G9RU?@[!E[K 63 $ BH7%)A?+G /0@0A;^,E M:>*Y9" N]^_JGV/OOINZ[ >XQJ:-@@W*,>'R#U'#B:U1:V/A%U6"=EDG%6Y'L=5JYBNN8_NP3;9U $X'.A'VL0Z9"T?DGYEB9 M&STB,YU]S\(5;P[4GTT5DO$HXC]OWOKLI:3934XN02AACA.&+C";&4&\^ER" MKI4XTK_HU[?K_.VJQ6WD;W^S^ ^!W:K +@KL_MOC&F;_1Q&R.%0)IHWC9%&E M!Q5'>9&=)_:.QDOY@$_C_HV9EBN+SMKYJXT7T&CMP%O)KOP,=?Z%S8& QH7M MK=^;:F8;8W(*I(4I+Q)/G E.@T+;*8.YLBP\') M3L/9$#LH)-H'? 0\=S#:U9Z$3BZ(+R'X4N4T"89 0NF"@O#+%1Y RB#D;?R:->E2 M,A#7^S?U3[%WW\M%6'A ^;.K7)O3.THJJ,4@W1..GV'NYT#)W/Q7N(+T\.#$ MURA1VO@EY6 =JEG%6U'B=5H['==Q^G/8S;1M I\)?"'N3^;,B3C4<1_WKSUV6O!DX\9NP:A&7.:,'R%21<$\^I+";Y5 MXL3_HQ]NM_F[38N[R-^M+:;)ML!^4V ?!?;O]KB!2?_MDJT.58%IXCA94N*@ MXRBOLLO$WO-X*7_AT[A_$Z;IM"47=/YJXP74B Z\E>3&SU#K7]@22*A=V-[Z MO9GF; H<]O,38LL[+OX 4$L#!!0 ( >!7$]0W55UM0$ -,# 9 M>&PO=V]R:W-H965T&"Z*+\0V2_KW&1M":8OZ@CW#.6?.V.-L-/;%M0">O"FI74Y; M[_L#8ZYL00EW97K0^*N:7U(L"+K10-/X'_T)XL16U2J3H%VG='$0IW3 M^^1P3 ,^ GYV,+K5GH1.SL:\A.!KE=-=, 022A\4!"X7> I@Q#:>)TUZ5(R M$-?[#_7/L7?LY2PD=)1748I#^T8Q?8.[GFI*Y^6]P 8GPX 1K ME$:Z^"7EX+Q1LPI:4>)M6CL=UW'ZD_*9MDW@,X$OA+M8ATV%HO-/PHLBLV8D M=CK[7H0K3@X!7$\8%4^5M0$ -,# 9 >&PO M=V]R:W-H965T5-2NYRVWG0]LPUUG@520IR=+-YL 4%YH66^E?S/ !IG[VE$S-?X(;2(0')UBC--+% M+RE[YXV:5-"*XF_C*G1UYDU@S$CF?? M\7#%R2G%LRE#,AY%_(?F'69O19KL,W8+0A/F/&+2!2:9$0S5YQ+I6HES^@]] M?[_.WZY:W$;^]@^+AW6!W:K +@KL_MOC&N9OEVQQJ IL$\?)D=+T.H[R(CM/ M[$,:+^4W?!SWS]PV0CMR-1ZO-EY ;8P'M+*YPQEJ\87-@83:A^T][NTX9V/@ M33<](3:_X^(74$L#!!0 ( >!7$^=D;W3MP$ -,# 9 >&PO=V]R M:W-H965TCDHO5S"+[4!4Z"(1!0N:# _'*%>Q B"'D;+[,F7DH&XGK_KOXY M]NY[N3 +]UK\Y+7K"GS J(:&#<(]Z?$!YGYN,9J;_PI7$!X>G/@:E18V?E$U M6*?EK.*M2/8ZK5S%=9S^9/N9MDV@,X$NA$.L0Z9"T?DGYEB9&STB,YU]S\(5 MIT?JSZ8*R7@4\9\W;WWV6M+TD)-K$)HQIPE#5YAT01"OOI2@6R5.]!_Z[7Z; MO]NTN(O\W1\6/VX+9)L"613(_MOC!H8F?Q4AJT.58-HX3A95>E!QE%?996+O M:+R4W_!IW!^9:;FRZ**=O]IX 8W6#KR5Y,;/4.=?V!((:%S8[OW>3',V!4[W M\Q,BRSLN?P%02P,$% @ !X%<3\:7P!:U 0 TP, !D !X;"]W;W)K M&UL?5/1;IPP$/P5RQ\0W_E(+CH!4BY1U4JM=$K4 M]MD'"UBQ66*;(_W[V(80VJ*\8.\R,SMKK],!S;-M !QYU:JU&6VP5=M#Z/Q4:+9P/3=J)&I[ _>Q.QD=L5BFEAM9*;(F!*J-WV\,Q"?@( M^"5AL(L]"9V<$9]#\*W,Z"88 @6%"PK"+Q>X!Z6"D+?Q,FG2N60@+O?OZE]B M[[Z7L[!PC^JW+%V3T5M*2JA$K]PC#E]AZN>:DJGY[W !Y>'!B:]1H++Q2XK> M.M23BK>BQ>NXRC:NP_AGGTRT=0*?"'PFW,8Z;"P4G3\()_+4X$#,>/:="%>\ M/7!_-D5(QJ.(_[QYZ[.7G/-MRBY!:,(<1PQ?8#X0S*O/)?A:B2/_CWZ]7^?O M5BWN(G_WET6^+I"L"B11(/FTQS7,[I\B;'&H&DP=Q\F2 OLVCO(B.T_L'8^7 M\@$?Q_V',+5L+3FC\U<;+Z!"=."M;*[\##7^A&UL?5/1;IPP$/P5RQ\0W_FX)#H!4BY1E$JM=$K4]MD' M"UBQ,;'-D?Y]UH90VJ*^8.\R,SMKK]/!V%?7 'CRKE7K,MIXWQT8;:Z:%;&F>QMS)YJGIO9(MG"QQO=;"_CJ" M,D-&M_0S\2SKQH<$R]-.U/ "_GMWLABQ6:64&EHG34LL5!F]VQZ.2CD;,QK"+Z4&=T$0Z"@\$%!X'*!>U J"*&-MTF3SB4#<;G_5'^,O6,O M9^'@WJB?LO1-1F\I*:$2O?+/9GB"J9\])5/S7^$""N'!"=8HC'+Q2XK>>:,G M%;2BQ?NXRC:NP_B'[R?:.H%/!#X3;F,=-A:*SA^$%WEJS4#L>/:="%>\/7 \ MFR(DXU'$?VC>8?:2?O5BWN M(G_WA\7]ND"R*I!$@>2_/:YAKO\JPA:'JL'6<9P<*4S?QE%>9.>)O>/Q4G[# MQW'_)FPM6T?.QN/5Q@NHC/& 5C97.$,-OK Y4%#YL+W!O1WG; R\Z:8GQ.9W MG'\ 4$L#!!0 ( >!7$_RBUIRM@$ -,# 9 >&PO=V]R:W-H965T M=6JM1EMG.N.C-FB 2WL#7;0 M^C\5&BV<#TW-;&= E)&D%>.;S0>FA6QIGL;0I]D[)%LZ&V%YK8=Y.H'#( MZ):^)YYDW;B08'G:B1J^@?O>G8V/V*Q22@VME=@2 U5&[[;'TR[@(^"'A,$N M]B1TQLND2>>2@;C8.KGEI*I^:]P!>7AP8FO4:"R\4N*WCK4DXJW MHL7KN,HVKL/X)TDFVCJ!3P0^$PZQ#AL+1>>?A!-Y:G @9CS[3H0KWAZY/YLB M).-1Q'_>O/79:\[Y/F77(#1A3B.&+S#;&<&\^ER"KY4X\7_HM_MU?K)J,8G\ MY ^+AW6!W:K +@KL_MOC&N;C7T78XE UF#J.DR4%]FT0(7HP%O9W/@9:OP+FP,%E0O;O=^;<<[&P&$W/2$VO^/\ M%U!+ P04 " '@5Q/)^IW+[0! #3 P &0 'AL+W=OX,]=/Y/ MC48+YT/3,-L;$%4D:<5XDKQC6LB.%EG,G4R1X>"4[.!DB!VT%N;G$12..=W1 M:^)9-JT+"59DO6C@"[BO_S=]W(6%AY1 M?9>5:W-Z3TD%M1B4>\;Q \S]W%(R-_\)+J \/#CQ-4I4-GY).5B'>E;Q5K1X MG5;9Q76<_J17VC:!SP2^$.XC@4V%HO,GX421&1R)FO-EY C>C 6TEN_ RU_H4M@8+:A>V=WYMISJ; 83\_(;:\X^(74$L# M!!0 ( >!7$^//B VM@$ -,# 9 >&PO=V]R:W-H965T/&O5N9RVWO='QES9@A;NQO30X9_:6"T\ MAK9AKK<@JDC2BO'=[AW30G:TR&+N;(O,#%[)#LZ6N$%K87^?0)DQIWOZDGB4 M3>M#@A59+QKX!OY[?[88L46EDAHZ)TU'+-0YO=\?3VG 1\ /":-;[4GHY&+, M4P@^5SG=!4.@H/1!0>!RA0=0*@BAC5^S)EU*!N)Z_Z+^,?:.O5R$@P>C?LK* MMSF]HZ2"6@S*/YKQ$\S]'"B9F_\"5U (#TZP1FF4BU]2#LX;/:N@%2V>IU5V M<1VG/_S]3-LF\)G %\)=K,.F0M'Y!^%%D5DS$CN=?2_"%>^/',^F#,EX%/$? MFG>8O18\23)V#4(SYC1A^ JS7Q ,U9<2?*O$B;^A'VZW^.8QF-4>^DK-2;W[Q MMNYQ_LGT/MKI8S,_"LQ"]>V3;' M>XPJJ-D@[(L:O\!<3XK17/PWN(!P<._$:91*F/!%Y6"LDC.+LR+9^S3R+HSC MM)/NYK3M!#HGT"5A'W3()!2")O<9N7BB&7.<,'2%B1<$<>R+!-V2.-*;]/1A.S_9M)B$_&0M_YAL$^PV M"7:!8+>N,;JN<0.3_,=ENBF2WA#$C^F5R"V&)OLK$;*Z.0FZ"6_6H%(-7>B7 M571IBR<:;OX??.JI[TPWO#/HK*Q[/^&6:Z4L."O1G?/2NC9>%@)JZZ_<,! X! &0 'AL M+W=O5 #].Y+H[1DUH6Z)6;0P.I DH+0)'E').,]+O.0.^LR5Z,5O(>S M1F:4DNG?)Q!J*O .WQ(OO.VL3Y R'U@+W\!^'\[:1615J;F$WG#5(PU-@9]V MQU/F\0'P@\-D-GOD.[DH]>J#SW6!$V\(!%36*S"W7.$9A/!"SL:O11.O)3UQ MN[^I?PR]NUXNS,"S$C]Y;;L"O\>HAH:-PKZHZ1,L_608+^.U)U-Y9/A*,(W9]ZX[+6DZ2$G5R^T8$XSAFXPNQ5!G/I:@L9*G.@_].PQ MSD^C%M/ 3[?E#X>XP#XJL \"^VV/^^2NQQCF/UUFT2)91(#>%8EATKLB9'-S M$G0;WJQ!E1K[,"^;[#H63S3<_%_X/%-?F6YY;]!%6?=^PBTW2EEP5I('YZ5S M8[P& AKKMX]NK^?'/ =6#!7$^G^A?]X@$ M (% 9 >&PO=V]R:W-H965TOW,ZOB2 [& Z_7?%]"SUO)%F.&9YYE!9K))R%?5 M FCTQEFO!30@8E-HR4+/!V_\[^R=5N:KE1!4^"_>PJW>;XA%$%-1V9?A;39UCJ23!: MBO\*=V &;C,Q&J5@RGU1.2HM^,)B4N'T;5Z[WJW3?)(F2Y@_(%H"HC7@Y'3( M+.0R_T@U+3(I)B3GNQ^H_<7A.3)W4UJGNPIW9I)7QGLOHCC.R-T2+9C+C(DV MF'!%$,.^2D0^B4OT7WB2^N,/WA0/+OZP33&(_ 2QER!V!/$_-2:[&GV8HU\D M\8HD'H)T)^+#G/PB1Z_(T4/P82?BP22!7R3UBJ0>@G GXL/L_PG9O$$.LG'= MIU IQMYU_L:[-OACY-[P7_@\';Y1V72]0C>A32>X]UH+H<&D$CR86VW-0%H- M!K6V6]- 2,YM.1M:#,O$(>O8*_X 4$L#!!0 ( >!7$_-F3@0N $ -,# M 9 >&PO=V]R:W-H965T9F9VUU_FHS8OM !QZ ME4+9 G?.]0=";-6!9/9*]Z#\GT8;R9P/34ML;X#5D20%H4GRC4C&%2[SF#N9 M,M>#$US!R2 [2,G,OR,(/19XA]\3C[SM7$B0,N]9"T_@?OQ=]_+F5FXT^*9UZXK\ U&-31L$.Y1CP\P][/':&[^)UQ M>'APXFM46MCX1=5@G9:SBKNTD1F.ON>A2O>':@_FRHDXU'$?]Z\]=E+2?=I3BY!:,8<)PQ=878+@GCU MI03=*G&D_]'WU]O\=--B&OGIVF*2;0MDFP)9%,@^]9A]Z7$+L_]2A*P.58)I MXSA95.E!Q5%>99>)O8VW2#[@T[C_8J;ERJ*S=OYJXP4T6COP5I(K/T.=?V%+ M(*!Q87OM]V::LREPNI^?$%G>!7$]^<.J&PO=V]R:W-H965TKJE9JI>BJMK\=6, Z?U#;A.O;US8",HG+/,0N MNLS58#F3<-'(#$)0_>L,7(T%WN"WP#-K.^L#I,Q[VL)7L-_ZBW8KLK#43( T M3$FDH2GPX^9TSCP^ +XS&,UJCGPE5Z5>_.)37>#$&P(.E?4,U TW> +./9&S M\7/FQ(ND3US/W]@_A-I=+5=JX$GQ'ZRV78&/&-70T(';9S5^A+F>#*.Y^,]P M ^[@WHG3J!0WX8NJP5@E9A9G1=#7:60RC..TBO3;)^3FR>:,><)DZXPFP5! M'/LBD<8DSND_Z=DAGK^-6MR&_.W:8O(?@EV48!<(=G_5>+BK,88YQD6RJ$@6 M(7AW)Q+![),[$;*Z.0&Z#6_6H$H-,O3+*KJTQ6,:;OX/?.JI+U2W3!IT5=:] MGW#+C5(6G)7DP7GI7!LO"PZ-]=.#F^OI,4\+J_JY3\GRLRA_ U!+ P04 M" '@5Q/Y'"M4L8! X! &0 'AL+W=O'B EZG?U_ CN-N M>3$PG#GG###.)Z5?30=@T9O@TA2XLW8X$&*J#@0S-VH Z78:I06S;JE;8@8- MK Y)@A.:)+=$L%[B,@^QDRYS-5K>2SAI9$8AF/YS!*ZF J?X/?#2MYWU 5+F M VOA.]@?PTF[%5E9ZEZ -+V22$-3X(?T<,P\/@!^]C"9S1SY2LY*O?K%E[K MB3<$'"KK&9@;+O (G'LB9^/WPHE729^XG;^S/X?:72UG9N!1\5]];;L"WV-4 M0\-&;E_4]!F6>C*,EN*_P@6X@WLG3J-2W(0OJD9CE5A8G!7!WN:QEV&RK!(U)'.E_Z=E=/'\7M;@+^;NMQ32)$^RC!/M ML/^G1GI58PRSBXMD49$L0K"_$HEALBL1LKDY ;H-;]:@2HTR],LFNK;% PTW M_P&?>^H;TVTO#3HKZ]Y/N.5&*0O.2G+CO'2NC=<%A\;ZZ9V;Z_DQSPNKAJ5/ MR?JS*/\"4$L#!!0 ( >!7$\^WJ#9N0$ -,# 9 >&PO=V]R:W-H M965TYT-VKS:%L"A-RF4S7'K7'A4XN6K^&X'N5XTTP! )*%Q287ZYP#T($(6_CSZ2)YY*!N-Q_JC_&WGTO M%V;A7HO?O')MC@\855"S7KAG/7R#J9];C*;F?\ 5A(<')[Y&J86-7U3VUFDY MJ7@KDKV-*U=Q'<8_*9UHZP0Z$>A,.,0Z9"P4G3\PQXK,Z &9\>P[%JXX.5)_ M-F5(QJ.(_[QYZ[/7@NYV&;D&H0ES&C%T@4EF!/'J.X/S'3<&7113M_M?$":JT=>"N;&S]#K7]AI7C5NOA1(@J6^!4 M/8@!>G-2"\FI-J9LB!HDT,H%<4:B($@(IUV/B\SY+K+(Q*A9U\-%(C5R3N7O M,S QY3C$=\=+U[3:.DB1#;2![Z!_#!=I++*R5!V'7G6B1Q+J'#^&IW-J\0[P MLX-);?;(5G(5XM4:7ZH%DZ\2MK [?[._NQJ M-[5J:9%),2$YW_U [2\.3Y&Y MF](ZW56X,Y.\,MY;$24?,W*S1 OF/&.B#29<$<2PKQ*13^(<_1,>I_[X@S?% M@XL_;%,,$S_!T4MP= 3'+4$:[&KT8?Y39>P5B3T$T4[$ASGX11*O2.(A..Y$ M?)C8+Y)Z15(/0;(3\6'V/Y5LWB 'V;CN4Z@48^\Z?^-=&_PQ#M^H M;+I>H:O0IA/<>ZV%T&!2"1[,K;9F(*T&@UK;;6KV\0=0 M2P,$% @ !X%<3Z@0B([6 0 G00 !D !X;"]W;W)K&UL;51M;]L@$/XKB!]0;!(G:61;:CI-F[1)4:>MGXE]?E'!>(#C M]M\7L.NY&5\,=SSW/'?XCG24ZD4W :]"M[I##?&]$="=-& 8/I.]M#9DTHJ MP8PU54UTKX"5/DAP0J-H1P1K.YRGWG=6>2H'P]L.S@KI00BFWD[ Y9CA&'\X MGMJZ,=@[O 7]:&/5JCUPE M%RE?G/&]S'#D$@(.A7$,S"Y7> 3.'9%-X^_,B1=)%[C>?[!_];7;6BY,PZ/D MSVUIF@P?,"JA8@,W3W+\!G,]"49S\3_@"MS"7296HY!<^R\J!FVDF%EL*H*] M3FO;^76<3I+]'!8.H', 70(.7H=,0C[S+\RP/%5R1&JZ^YZY7QP?J;V;PCG] M5?@SF[RVWFM.]X>47!W1C#E-&+K"Q N"6/9%@H8D3O2_\&0?CM\$4]SX^,TZ MQ?@^3+ -$FP]P?93C?'&UL=53M;ILP M%'T5Y >HB1-"&@%2TZG:I$V*.JW[[<#E0[4QM4WHWGZV(8Q1]P_VO3[WG'.- M[600\E75 #IXYZQ5*:JU[HX8J[P&3M6=Z* U*Z60G&H3R@JK3@(M7!%GF(3A M'G/:M"A+7.XLLT3TFC4MG&6@>LZI_',")H84;= M\=Q4M;8)G"4=K> GZ%_= M69H(SRQ%PZ%5C6@#"66*'C;'4VSQ#O#2P* 6\\!V)$\V2MG YO[$_N=Y-+Q>JX%&PWTVAZQ0=4%! 27NFG\7P M%:9^(A1,S7^'*S #MTZ,1BZ8F=>,P\=_*_ 5D*B"K M CP*.>=?J*99(L40R''O.VI_\>9(S-[D-NFVPJT9\\IDKQDY1 F^6J()ROWWHM;EW]=FF1$#_!SDNPD?U'@OMP)>+#?/*_8J](["$@*Q$?9KL2P8LSR$%6 M[O:I(!=]ZV[^(CM?\ ?BSO _^/@Z_*"R:EH57(0V-\&=UU((#<9*>&=VM38/ MTAPP*+6=QF8NQVLY!EITTXN#YVWA^U 0 MTP, !D !X;"]W;W)K&UL;5-A;YLP$/TKEG] MG3BD[2) :CI-F[1)4:=UGQTXP*J-F6U"]^]W-H2QC"_8=[SW[IU]3@=CWUP# MX,F[5JW+:.-]=V#,%0UHX>Y,!RW^J8S5PF-H:^8Z"Z*,)*T8WVSNF1:RI7D: M;IZ;W2K9PLL3U6@O[^PC*#!G=TFOB1=:-#PF6IYVHX3OX']W)8L1FE5)J M:)TT+;%09?1I>S@F 1\!KQ(&M]B3T,G9F+<0?"DSN@F&0$'A@X+ Y0+/H%00 M0AN_)DTZEPS$Y?ZJ_BGVCKVPIF9K_ M"A=0" ].L$9AE(M?4O3.&SVIH!4MWL=5MG$=)OTK;9W )P*_(;"Q4'3^47B1 MI]8,Q(YGWXEPQ=L#Q[,I0C(>1?R'YAUF+SG_D*3L$H0FS''$\ 5F.R,8JL\E M^%J)(_^/OG]8Y^]6+>XB?[>TR!_7!9)5@20*)/_TN+_I<0US?U.$+0Y5@ZWC M.#E2F+Z-H[S(SA/[Q..E_(6/X_Y-V%JVCIR-QZN-%U 9XP&M;.YPAAI\87.@ MH/)A^X![.\[9&'C334^(S>\X_P-02P,$% @ !X%<3[YG"$>Y 0 TP, M !D !X;"]W;W)K&UL=5/;;IPP$/T5RQ\0[\*F M>Q$@95-5K=1*JU1MG[TP@!5?J&V6].\[-H32E+Y@SW#.F3/V.!N,?78M@"P%?PW[J+Q8C-*I50H)TP MFEBH<_JP/9UW 1\!WP4,;K$GH9.K,<\A^%3E=!,,@832!P6.RPT>0C?PA*M_F]$!)!37OI7\RPT>8^KFG9&K^,]Q M(CPXP1JED2Y^2=D[;]2D@E84?QE7H>,ZC'_2XT1;)R03(9D)AUB'C86B\_?< M\R*S9B!V//N.ARO>GA(\FS(DXU'$?VC>8?96),=]QFY!:,*<1TRRP&QG!$/U MN42R5N*<_$._WZ_STU6+:>2G2XOI?PSL5@5V46#W5X^'-SVN88YOBK#%H2JP M31PG1TK3ZSC*B^P\L0])O)0_\''T,KF#F>HQ1!7$_CR$,LHP, % 3 M 9 >&PO=V]R:W-H965T>,@2_RQSOWWC/P8P[,3KI\ MJW9*&>\]SXIJ[N^,V3\&0;7:J3RI'O1>%?4_&UWFB:D/RVU0[4N5K-M!>1;P M,(R"/$D+?S%KSSV7BYD^F"PMU'/I58<\3\I_3RK3I[G/_(\3+^EV9YH3P6*V M3[;JIS*_]L]E?11NW MYN#;>NZ'34H^_G9)_4O-9F!__R/[EU9\+>8UJ=12 M9W_2M=G-_:GOK=4F.63F19^^JDZ0]+U._7=U5%D=WG12UUCIK&I_O=6A,CKO MLM2MY,G[>9L6[?;4Y?\8A@?P;@"_#&#B[@#J!M#-@.#<62OU."PG 6')M$7WJO M>A&P%P%ZH9M>SC&R5V421Q-&N(Z$=22H(W"""":(AL_Z!":8#% ZL91R*7GH MF-$IK#,%=1SW5PP3Q,.5LA"#$@[0V@7UQ5+$PRAVE'(PR4"IR)$"\\1& ,4P M40PA90DF2S 3$<7<40H#PQ QCAN$81:8'"$8T\"B(8(C^W;F_4?F=26,#4/< M3!TI,!%L.D(O9H+%0_3&EEX9N]CC&!V.T'$@P3$2G V7RQU+#!\@MPOJRQ53 MX;BZ'(/# 3C,E0(#P<4(N1@(CE:'VQ6Q"Y+.)?&Z$N:& VZ8*P4&@D]&Z,5 M<+1&6'JGEE[7A<',<, ,LZK8S##'[4Z8& KM^7!Y \+$$%A$K$Z[H"L;XI@0 MPE01H(HY3 @YK!N-,'^8%QIBN<"&&N"'#%',]#PL#0"-]%&!@:XKS( MME[WW AAL B Q1QNA# U-,)^"4R$&&*_A&V_[KD1@5P \S.%&!(9"C'!? D,AAK@O8;LOMQL1&!T!T'$]G@5& M0HPP7P(C(8:8+V$O)&XW(C$X$H##72DP$!*8+^>;*@9"@F6"W[QY/W5!5R_H M3-X6"GJ?-IIO33^2JC=%Y^RUCH[51=<;PH9ZZG4K6EX-,;4RS.ZGW MR_,WGO.!T?ON^U5P^8BV^ ]02P,$% @ !X%<3[WDK\E6 @ C@< !D M !X;"]W;W)K&ULE55M;YLP$/XKB.^ML7E)&A&D M)-.T29M4=>KVV2%.0#68V4[H_OUL0RB%R]1]"?9Q]SSW'+F[M!7R116,:>^U MXK5:^X76S0HAE1>LHNI>-*PV;XY"5E2;JSPAU4A&#RZHXH@$08(J6M9^ECK; MH\Q2<=:\K-FC]-2YJJC\LV5[7!D YS'SY*U:G3VK)2]$"_V\O6P]@.;$>,LUQ:"FL>% M[1CG%LGD\;L']0=.&S@^7]$_._%&S)XJMA/\5WG0Q=I?^MZ!'>F9ZR?1?F&] MH-CW>O7?V(5QXVXS,1RYX,K]>OE9:5'U*":5BKYVS[)VS[;'OX;! :0/($. MX?Y70-@'A&\!KIJHR\Q)_40US5(I6D]V7ZNA]D^!5Z$I9FZ-KG;NG5&KC/62 MA82DZ&*!>I]MYT-&/GCP0 9]H" 0Q9;,PN/%>X8=X+*$*4)01>CBPWYP$ 1P(C&82#Q+)"0W !(0(/EX*18@ MP +(()J4HO.)1T))'$0!8$A@ !W!_!!^O M)[[18AC(8C'M,3P3>X>3Z%:R8*=M, &8;C02ACL)_T&%9S]!5!+ P04 M " '@5Q/>P<#V3," !U!@ &0 'AL+W=O6 N-VCDQ7A.I MEOR,1,N!' VIIB@,@A35I&K\/#.Q9YYG[")IU< S]\2EK@G_LP'*NK6/_?? M2W4NI0Z@/&O)&;Z#_-$^<[5"@\JQJJ$1%6L\#J>U_X17^T3C#>!G!9T8S3WM MY,#8JUY\.:[]0!<$% JI%8@:KK %2K60*N.WU?2'E)HXGK^K?S+>E9<#$;!E M]%=UE.7:7_K>$4[D0N4+ZSZ#]9/XGC7_%:Y %5Q7HG(4C KS](J+D*RV*JJ4 MFKSU8]68L>MWDD=+FR>$EA .!)S<)426$'T0XKN$V!+B_\V06$(RR8!Z[^8P M=T22/..L\WC_.;1$?W5XE:C75>B@>3MF3YVG4-%K'H6/&;IJ(8O9])APA$G2 M6\C.A> !@50!0Q7A7!6;T,VPN,VPG8$L)T7\6V5_5^6FT&CVN"+#CT;\, CG M!>)9@=@(Q./SCH+)>?>8U&":'I/B()C MBXL7$8.;.?"EGCIP/8N+(W3,>S& M7#)K+IDQAR?F$C?/PO7FHK"+VLV@ O<$]C,PC%UK:'1G:N!GT\"$5[!+(_4[ M'T6''OD4ZCLWB6_P:HMGXCO54_L6^"'?-^1OA)^K1G@')M5--_?QQ)@$57WP MH,HOU3]@6% X23U=J#GO.V&_D*RU31X-?YK\+U!+ P04 " '@5Q/VG?" M>\@# !O$0 &0 'AL+W=OZ^9'>[2V6_PLBZI=1<>N.SW$<;L[VC)K/]4G6[E_#G539IV[;%[C M]M38;#\8E44,C.FXS/(J6B^'>\_->EF_=45>V>=FT;Z59=;\VMBB/J\B'GW< M^)*_'KO^1KQ>GK)7^[?MOIZ>&W<57[WL\])6;5Y7B\8>5M%O_.%)B-Y@0'S+ M[;F=G"_Z4%[J^D=_\>=^%;&>D2WLKNM=9.[P;K>V*'I/CL<_H]/H^LS><'K^ MX?WW(7@7S$O6VFU=?,_WW7$5F6BQMX?LK>B^U.<_[!B0BA9C]'_9=ULX>,_$ M/6-7%^WPN]B]M5U=CEX3GFU7 \C_X_S&@#& W@:L#E?QJ(T4#<:B!' M WFK@1H-E&<07V(?DOF8==EZV=3G17/IAU/6MQU_4*Y21\&+FD"<,$4)<,;$+Y!H-D-' X$#, M'$C:@2 =B,&!G#GP ME<,'K 5 .&,Z6!>2FA8%(K1=.1)!V)Z3"_.A>,FCY' M,\,]-A@EU*2*,RZ*Y*(0E]3K@HW"5( GS.="P)@![@7VJ(@$)B+QO#U1,*T, MT+%I,C:-8_-ZHYRW27]5&,8 MN$X5*4W'D'0,IJ/]RAOTG)0;R3W66PQ+TD2E 3HI22 MD$W^_QTS8N9]KJ3RDT+A4B.3P'1R6OHX$-*E?4J ^T%IS95/">,$))H%&-%: MR@DQ9:$TT_K'Y1V5HF6+$[J%*H45R23 4C\KA'")Q$P4:4Z(UAJ.Q88H%-81 M-W2ISWQ+XOJ2!BC1@L.QX@@6;(XG&U\ZI=O-2=V^(.&]%#77?6.62?7&1'F^VO%X4]=/UIXLZ; MRR> RT57G\;/&_'U&\OZ7U!+ P04 " '@5Q/2:]$,^6F.9:\N5?VC M.7C?+GZ6Q:E9+P]M>WY(DF9[\&7>?*[._M3]9U_59=YVA_5+TIQKG^^&B\HB MD6EJDC(_GI:;U7#NJ=ZLJM>V.)[\4[UH7LLRK_][]$5U62_%\OW$]^/+H>U/ M))O5.7_Q?_KVK_-3W1TEMRB[8^E/S;$Z+6J_7R]_$0^/6=I?,(SX^^@OS=W[ M19_*_8]#E3;._\/[]>_1O M0_)=,L]YX[]4Q3_'77M8+]URL?/[_+5HOU>77_V8$"T78_:_^S=?=,/[F70: MVZIHAK^+[6O35N48I9M*F?^\OAY/P^MEC/]^&;Y CA?(VP7RFLM5:)CYU[S- M-ZNZNBSJ:_'/>;_&XD%VM=GV)X=2#/_K)M]T9]\V2KE5\M8'&L<\7L?(#V.R MVYBDBW\3D5!$#@'4AP :!U P@!H"Z/L .IW,\CK&#&-.PQB;Z50)K*.AC@8Z M8J)S'4-W.M(YIAP$50BHR(D*!2J?9&JQBH$J!JBHB8H)5&QFK%!8QT(=&^JD M#@=P,("+WQT9#)!%U#,#]20L(E),2@IDF'D*!C81GZK * D9@<(XZ#Y;RE3* M"&'D!&)NRL(XZ%Z(4\' "43<=.U$B!R_>!@Y@9B;TB!"Z"A+.2%,G0#8L2$P M4,+.V"48*>%BRNK"LF;,[5)@\@1"C\E68JQD&I^MQ%A)$<'$..@^6Y&2)$Z* MZ60(ORD5,L1/"LGH8/HDHF^Z@#*D[Q.K@_F3B+\I%S+DKRN=9DN'$90(0<.$ MP'!),V.O8+@D:%?A7K'A A)IS< A,80201CLE1!"(8EIP!)3*&,:H 0=T#*V M16%4%>J T\TR#OI8.V,$#&=2(0>Y3.8:+9CA1PG!1C!.ET(FZ3$IF:0@S2#%&E$(& M%7%%P0!23 LDT (Y&D%)6,1[4A![42,:3JSWSO<(,\VDQ?3:&/HO,)R.#\;, /^X)@,-@N1G>TV&P7(SW M=*'W[*;*=&"'\7,QUM.%^#$[R&'T7$S?Y^UZ^_]W#'WG]J;:MR^")^7U6M[R*FG[L9'WR^ MNQT4?M_V;_L[='W]O<'UH*W.XV\IDML/.C;_ U!+ P04 " '@5Q/"]G$ M"PX$ !8%@ &0 'AL+W=OGCVT&S7[KDKB]H^-$'[7%5Y\^O>ENZ\"47X M^N!;\73L^@?1=GW*G^P_MOM^>FC\773)LB\J6[>%JX/&'C;A1W%W;W3?8(CX MM[#G]NHZZ(?RZ-R/_N;O_2:,^Q[9TNZZ/D7N?U[L)UN6?2;?C_^GI.%%LV]X M??V:_<]A\'XPCWEK/[GROV+?'3=A&@9[>\B?R^Z;._]EIP&9,)A&_\6^V-*' M]SWQ&CM7ML/?8/?<=JZ:LOBN5/G/\;>HA]_SE/^U&6X@IP;RTD".8QF%AIY_ MSKM\NV[<.6C&R3_E_3L6=]+/S:Y_.$S%\#_?^=8_?=DJ8];12Y]HBKD?8^1U MC,HN,9'/?Q&14$0."=1- HT3*)A #0GT32^362_'F&2(J8<8D<0KE6(=#74T MT%G-=,88@FWG-!*.#^14(X+GEIZ!K'08K@>D5"-^YXP7E MEU/!] J +[&\H/R^^7HPP0(@3%PO ,/LZ\$0"T!QS'PX!>93I._P/89/ /JH M[S,R6I-QC$K,J(P7N'X*NOV:<#H89(E GKM>4I 9/TIF<44,SUTO*<.<"B98 M H*)ZR4E^(V7@R&6 &+B>0D68?;E8(PEP#AF#"LQGC)9[GF)R9. /.)Y21=0 MJ23W+9$84 E64&IZL(0*9@65F&*)*":FIQ3[E5HP(U(88X4PGAM? 8Q5PNA@ MC!7 F%A?48RURE:<$D99 92)]Q58C@TW M,,L*L$R=3UD6F=22V7=AEC5@F3A?HR69\9S&+&O ,K=%T!A2_8[=K,;\Z27[ M64T74R&,X?:SS(9VT8X6;6FY]X=9UDN*8HU8YD>$6=9+:F*-6.9&A%G6J"9F M\-&84OV.FEAC O62FEA3 KGS"$R?65(0&TH?IX+9,TO*84/74:69CZ/!@)HE M!;$!JRAC$(,A-DLJ8D,AYH>#$39+"N(I*'EK.-'5F6!_YOHU;YZ*N@T>7=>Y M:C@$/#C769\O_N![?+3Y_G)3VD/77Z[\=3.>=8XWG3M-Y[C1Y3!Y^QM02P,$ M% @ !X%<3^^"Y, Z! .!< !D !X;"]W;W)K&ULE9C;CJ-&$(9?Q>(!%KKZ (QL2SN[BA(ID48;97/-V.VQM6 <8,:; MMP]@QK*IOZ*>&W-P=?U]J(_JZN6Y;GZT>^^[Q<^J/+:K:-]UIX12IZ?_'M\++OAA?Q>GDJ7OR?OOOK]-3T3_'5R_90^6-[ MJ(^+QN]6T6?U\&C=T&"T^'[PY_;F?C$,Y;FN?PP/OVU743+TR)=^TPTNBO[R MYK_XLAP\]?WX9W(:736'AK?W[]Y_&0??#^:Y:/V7NOS[L.WVJRB+%EN_*U[+ M[EM]_M5/ [+18AK][_[-E[WYT)->8U.7[?B[V+RV75U-7OJN5,7/R_5P'*_G MR?][,]R I@9T;4"7L5R$QIY_+;IBO6SJ\Z*Y3/ZI&-98/5 _-YOAY3@5XW]] MY]O^[=M:.UK&;X.CR>;Q8D.W-CJ_VL2]_ZL(01$:'>@[!P8[T-"!'AV8NU[J M62\O-FZT.8XVE%.2$M8Q4,< '3/3N=C8&QUM5.J$\5BH8X&.G>E8IJ-,;I3& M.@[J.*#C9CJ.Z61YIK!*"E52H)+.5%*F8DPFC"6#*AE7,?,8R)A*FKM4FK,< MZN1<)Q$65R68J20\WI6 I0J(^,GH;NE22@0T%69344#,3T9WP:AL'XV"%*98 M(8SG83\9W45*FAD!8X4Y5@CD>> K3K+2)A.$,,@*D3R/?<51INS&ZEX(DZP MRBS\%6>9K.T_@H(4QED!GA,KN,"LJNP#!& ,%>"0$Y#S)4RLL8(485XI"4!@ M,KJ3RC*="_%"F&M"7,\1(,ZURT@)JTA"SD5^IKSG#HM[!0TIEDCFN?1 MKSG-RBEAE32&60.8&0 :)&GC="Y-GK#5!D1+"41C7+7YP'X?8ZA17F4#YGG5 MZ43XM&@,JT9;Y'G\:YY7E4M$)_QWA?;ZT/I=]UPF_;WS>4L]_+0U:?I MG#J^'I:O_P-02P,$% @ !X%<3]'7HZL" @ >@4 !D !X;"]W;W)K M&UL?53M;ILP%'T5Q /48/.5B""UJ:9-VJ2HT[;? M3K@$5(.9[83N[6<;BBAX^X-][7..S[F \X&+5UD#*.^M99T\^+52_1XA>:FA MI?*!]]#IG8J+EBI=BBN2O0!:6E++$ Z"!+6TZ?PBMVLG4>3\IEC3P4EX\M:V M5/QY L:'@Q_Z[PLOS;569@$5>4^O\!W4C_XD=(5FE;)IH9,-[SP!U<%_#/?' MQ. MX&<#@US,/9/DS/FK*;Z4!S\PAH#!11D%JH<['($Q(Z1M_)XT_?E(0US. MW]4_V>PZRYE*.'+VJRE5?? SWRNAHC>F7OCP&:8\L>]-X;_"'9B&&R?ZC MG MTCZ]RTTJWDXJVDI+W\:QZ>PXC#LIGFAN IX(>":$T7\)9"*0%0&-SFS49ZIH MD0L^>&)\63TUWT2X)[J9%[-H>V?W=%JI5^\%2;(&4 M9&XSD=-,M#63!BLS(R9>'I-%J\X?MR 2D7\T-G9:B1U6PI65>'M*$))U7QRH M- QV;C.)TTRR,1,&:S/)IOU)C)-H96:+R@C.\,H,6OP%YE;Z1L6UZ:1WYDK_ M4/:SKSA7H!6#!YVLUA?A7#"HE)FF>B[&ZV L%.^GFP[-UVWQ%U!+ P04 M" '@5Q/&Y0'1 $# !# &0 'AL+W=O0%LSKGW'%]C[OS"Z[?FR)APWHN\;!;N48AJYGG-]L@*VCSPBI7RS9[7!15R M6!^\IJH9W;6D(O<"WX^]@F:ENYRW<\_UC4!/>KXHX.Z?4Y%'#Y_1%^W MYJ695]JP%<]_9SMQ7+@3U]FQ/3WEXH5?OC!M"+N.=O^-G5DNX4J)S+'E>=-> MG>VI$;S04:24@KYW]ZQL[Y?N#2::!A,"30AZ0A#=)(2:$/8$=)L0:4)T;P:L M"?C>#+$FQ/<2B"80@^!UJ]N6*Z6"+N&J8LE%73$U 4Q/ E/%%)Q-;+HD,':D-BJ:#@H^D3$$I4T"*D269 E)\ M\QRS01$9F!I)03Y\K/NVF(EOB-&@X=I;I88P^,I9AZ[\8A"@!9E:() EYC9H M+ ;\TSRB @1FF(@4&2*N0T:BX%_ R@$0I@GIP8-*V >1"L(8Q[T "8(#5-/ M(,C\"KQ!-_@_? M-!7$_OI/51% ( "@& 9 >&PO=V]R:W-H M965T.O6D8KPE4BWY!8F> RE-4$L1]KP(M:3IW#PS>R>>9^PJ:=/!B3OBVK:$ M_SL"90'G6DPO\ OF[/W&U0K-+V;30B89U#H?JX'[Q]T?? MTP%&\:>!02SFCB[ES-B;7GPO#ZZG,P(*A=061 TW> 9*M9/*XWTR=6>F#ES. M[^XOIGA5S)D(>&;T;U/*^N FKE-"1:Y4OK+A&TP%A:XS5?\#;D"57&>B& 6C MPOPZQ55(UDXN*I66?(QCTYEQF/SO8?8 / 7@.0"/M8P@D_E7(DF><38X?#S\ MGNC_V-]C=3:%WC1'89ZIY(7:O>5!$F7HIHTFS7'4X*4F2&<-4OXS!%LAV!@$ M"P/LQ7:#P&H0&(/=IRSC59:C)C*:SFC\*/3LE)V5LK-0DA5EU(0+2ACAQ$X) MK9300DE7E'!#V07^SDZ)K)1H2TF]%27:4' 2^'9*;*7$%HJ_HL0;BI\F#TXL ML5(2"P6O*,F&\K"4U I)+9!@!4DWD,![-V^#\:/UFSR)/KW*<1BN MRT&+.ZY[Z$_"+TTGG#.3JEV82UTQ)D%9>D\JZ5JU[7E!H9)Z&JLY'WO7N)"L MG_HRFC\.^7]02P,$% @ !X%<3P=NW*'8 0 [00 !D !X;"]W;W)K M&ULC93M;ILP%(9O!?D":@(!F@B0ED[3)FU2U&GK M;P<. =7&S'9">_?U!T&,NE+_8!_SGOE;E=.XHRYQ=%NQZ.(I 7 MQHAX/0#E8X$VZ+;PV)U;919PF0_D#+]!_1F.0D=X=JD[!KWL>!\(: KT9;,_ M9$9O!7\[&.5B'IA.3IP_F^!'7:#0% 04*F4RE7\EBI2YX&,@W-X/ MQ'SBS3[2>U.91;L5]ITN7NK5:QGOMCF^&J-)JO)/F!LO8RMAY&N&$Z3+!CQ1XTD7DCB M@60K2/)Y2.J%I![(_0J2?AZ2>2&9![);0;)WGV2W*,1!\.*DFHO@%Q'GKI?! MB2M]Z.W1;#A7H/W".UUOJ^^>.:#0*#/-]%RX/] %B@_3Y8+G&ZY\ U!+ P04 M " '@5Q/MCJ0@?\# "5% &0 'AL+W=OG,&RW!U/E[1=[ M-'7_G[UMJKSK3YNWL#TV)M^-@ZHR)"%T6.5%':R7X[679KVT[UU9U.:E6;3O M594W_SZ;TIY6@0P^+WPMW@[=<"%<+X_YF_G3='\=7YK^++Q$V165J=O"UHO& M[%?!3_)I$]$P8%1\*\RIO3I>#*6\6OM]./EMMPK$X,B49ML-(?+^Y\-L3%D. MD7H?_TQ!@TO.8>#U\6?T7\;B^V)>\]9L;/EWL>L.JR -%CNSS]_+[JL]_6JF M@N)@,57_N_DP92\?G/0YMK9LQ[^+[7O;V6J*TENI\A_GWZ(>?T]3_,]A> !- M ^@R0$8W!ZAI@'(&A&=G8ZD_YUV^7C;VM&C.=^N8#XM"/JE^,K?#Q7'NQO_U MU;;]U8]U),0R_!@"39KGLX:N-'$REVRX)(LODK!W<+%!T :-X]7,AL0!% R@ MQ@#1+ Y=9PU>M34HT:+A"*GE'NJF9D(FHF &>68.6OBJS0Q)GD2%D.DJFGD@PFR4 EJ9,EXUF$3' 6*7!_"Y G!Y-"$LCCWIY)=)TG(L\:D!@HDA-%96X33Z)Y3Z2> M/)@5$L'"[4_).0 :%*AN=*C$N)"(%]H3 G>Y1&WN6TVXSR5O=,YSR3M=I4*[ M#+TKFQO"3) <"ISIDF,!&KHGFQO"_) <(&#=<((P,[^/TA)2]KP)%*:,>N1-17%^H(J RE\1IHQ"E/& 2F$R*$0&GPM,!H7(P)H ;"@2 M]^%X1S0W@[F@$!=8"_ -A1*I:P:\VO@:(,*$B?B;#5\N$7^ST<[L;8!&QK[W M?8RJ2#Z^^B.,EPCAA95#_.,$*X=K>#GAU?>AX8/='WGS5M3MXM5VG:W&#T)[ M:SO3!Q1?^IDYF'QW.2G-OAL.D_ZX.7\H.Y]T]CA]! PO7R+7_P%02P,$% M @ !X%<3^.U_37V 0 " 4 !D !X;"]W;W)K&UL=53;;IPP$/T5Q'MC,+=FQ2)E4U6MU$JK5&F?O>QP46Q,;>^2_GU](92R MS@OVC,^<<\;8+BY#SNEQAU"LNZ $7G'1QCT2L,%(TJ'HD5R M%$#.MHA1A*,H1XST0UB5-G<45< E$_[, [?$D]]VRF3 M0%4YDA9^@'H>CT)':&$Y]PP&V?,A$-#LPX=X=R@,W@)^]C#)U3PPG9PX?S'! MU_,^C(PAH% KPT#T<(5'H-00:1N_9\YPD32%Z_D;^V?;N^[E1"0\H+U)Q-K-H*XR\NK$? M[#BYE>)^+O,7X+D +P78]>*$K/-/1)&J%'P*A-O[D9A?'.^PWIO:).U6V#5M M7NKLM4KCJ$170S1C#@Z#5YAX02#-ODA@G\0!WY0GR;V?(/%Z3"Q!\I_'=QRD M7H+4$J1K!SC=-.DPN<4,3J1($[]*YE7);E32&&]4'"9;J21)]$XON5)FRS)Q#4W*@!I#MIE1;4.E-WQ P::!- @I-TM[LE@C*)JR+XSKHJU&@YDW#6R(Q" M4/WW!%Q-)4[PF^.9=;WU#E(5 ^W@!]B?PUD[BZPL#1,@#5,2:6A+?)\<3[F/ M#P&_&$QFLT>^DHM2+][XVI1XYP4!A]IZ!NJ6*SP YY[(R?BS<.(UI0=N]V_L M3Z%V5\N%&GA0_#=K;%_B.XP::.G([;.:OL!23X[14OPWN )WX5Z)RU$K;L(7 MU:.Q2BPL3HJ@K_/*9%BG^>20++ X(%T Z0I(0G/(G"@H?Z265H56$])S[P?J MKS@YIJXWM7>&5H0S)]XX[[7*DJP@5T^TQ)SFF'03DZP1Q+&O*=)8BE/Z'SP_ MQ/'[J,1]P&"VSA!'B7((PH.GYH4B[G[E(1L;D6 [L)[ M-*A6HPRSL/&N3_X^#;?Z'C[/RW>J.R8-NBCKWD:XP58I"T[*[L9IZ=V(K@:' MUOKMP>WU_%!GPZIAF4&R_@BJ?U!+ P04 " '@5Q/Y/.T ^H# ")$P M&0 'AL+W=OO*:\1VZ?\%%VN2](0!\2,7AW9R[/6E/-7U MS_[D;K/TPWY$HA#/72^1R:\W<26*HE>2X_A7B?JG_^R)T^.C^LU0O"SF*6O% M55W\DV^ZW=)/?&\CMMEKT7VK#[="%<1\3U5_+]Y$(>']2.1_/-=%.WQZSZ]M M5Y=*10ZES'Z-WWDU?!^4_I&&$X@BD!.!P!\)D2)$K@2J"-25P!2!N1*X(G!7 M0JP(L2LA483$E9 J0NI*@/#8N="9#<<3BV')Q[#L>F M@][U8)SQPQ*ZSKILM6CJ@]>,*;#/^K"!"\F2XOW585$./\IEU,JK;RL*Z2)X MZY44YG+$D"F&A'/,%8:!.>8:PY YYB.&B>:8&PQ#YYA/&(;-,;90_"90P8% M.E.(<(4(5X@&A6BF0'$%BBM09 Q:ER]'3#I@J@$#21AJGMV.*#Y%I3S5NGAG M:I'(T%J;6H1'DR[-*F-X90RIC.,*'%?@[N[&N$+\OKL?1TR?PJ=B>1B:_HXX M-H$QQK6%?8^(18DIMC;%(LI2O+8$KRU!:HMQA1172-W][2M"PS=T<%B!IM6F MB,$(C#(>ZA%CHG1S_PB9EV6[IP!25F+1L*0+D#/LM>0+1"[V1D:YA#'#71,5 M 4UU=S$M8_9B6B2TU69)/L"BS[($P)(QP,[PV)(RP%T\YN;"3B@VB;EI8*S? MD^\QN9@A.8')\819*K2D(" Q2&TKPI(VD)SAM"5O('W?Z1L% IA.+LXQJU-S M%H9,2^0'5 _Z26UX;>J1)+2L>F()1(($(@6+AB5]"+A[36Q[&VQSHWG]28'X M+'%CPV@%FQH#--;V?E\1,8:XC(DEH>7&12RY2)!=D(+A!]FFG<@VIY-";+O^,);'S?AR:#SIZKUZ\16&ULC57;CILP$/T5Q >LN1,B@M2D6K52*T5;=?OL)). UF#6=L+V[VL; M@@B9KO(2>X9SCL_X,LD[+MYD":">ZYJ*OVM@O%NYOGM- MO%2G4ID$*?*6GN 7J-_M5NB(C"J'JH9&5KQQ!!Q7[A=_N?$]0["(UPHZ.9D[ MII0=YV\F^'Y8N9YQ! SVRDA0/5Q@ XP9)>WC?1!UQS4-<3J_JC_;XG4Q.RIA MP]F?ZJ#*E;MPG0,$TPP<7H+V=Q#LGB$$.U@M!&@ M-@++#V]L_$<@1 5"*Q#=""2S.GI,8C&-Q?C9K X$@KN(4!<1XF*V5>L>$T^6 M2+V9BWN([R6XCQCU$2,^%KA @@HDCY]'B@JD#YQ'>E_F_#P0".YB@;I8("XR M7"!#!;+']T$W,_2!>0_! M7$_#PUV;$ ( &X& 9 >&PO=V]R:W-H965TV$[=O7-BPBX*:]B4__ M/_YF;)QTI.R5-P#">NM(SS.[$6(X(,3+!CK,'^@ O5RI*>NPD$-V1GQ@@"MM MZ@CR'"="'6Y[.T_UW)'E*;T(TO9P9!:_=!UFOY^ T#&S7?M]XKD]-T)-H#P= M\!F^@_@Q')DBUX:6'DJ[ZE,CE1^JH&7ZK, M=A00$"B%BH!E8G"#NP9_-O@; YK(=*H?LFP!JSNA'OP93%+-:EK MI]=DMES.7O,@=%)T58%FS=.D\5::,+Z5%'O)8[A(D"18,#PCAJ?]_LKON9$Y M@&\,X.L P4T>[B:/21-I3:\U[N,F#X/$3!$8*0(#A;>AF#3A:HM-O8M[BAN( MT @1&B#\#42XVV)7"H/$3!$9*2(#1;"AB'9;Q-M:["6N\Y>+$1LYXO\XDOB? M1W)/<0.1&"$2 T2X@4AV5V]7C+UD7PRT^O+52_P-LW/;<^M$A7Q$]*=>4RI MQG,>9$*-?/R7 8%:J&XL^VQZ J>!H,/\NJ/E+R;_ U!+ P04 " '@5Q/ MEL:AZ!," #0!0 &0 'AL+W=O2"T:4/HH]DJT 4E@2 MHRB/+ &!%_5T!YM_0#_Q1XKO>5,@&4I2W9 MPP]0/]NMT"%JI;^O>\5 M4)(#5<^\^P*N'NQ[KOAO< 2JX<:)SI%S*NVOEQ^DXLRI:"N,O/9KW=BU<_HG MVC0A=(1P( 3X)B%RA.B-$-\DQ(X0_V\&[ AXE 'UM=MF;H@B62IXYXG^.;3$ MO+I@@?5UY29H;\=^T_V4.GK,8IRDZ&B$'&;58\(SS!BRN88$ P)I X.+<,K% M*KS.,+_,L)Z W(],?*SR=%/EPF@TV:[(\N.+=LVG!>))@=@*1!<"[SC DP)X MPL'#Z,)Z3&(Q38])1ICU-29\&&$VUQ@S07HY M/S3*=.,L.HR?Q] \YU%\%2S6P41\H\=5/UW>Y/M9]YV(?=U(;\>5_A/9IUYR MKD![G]UI\Y4>K\.!0JG,=J[WHA\R_4'QULU/- SQ[!]02P,$% @ !X%< M3SD33D[K @ (0L !D !X;"]W;W)K&ULE5;M M;ILP%'T5Q ,4?P-1$JGYF#9IDZI.VW[3Q$E0 3-PDN[M9QM*$]NTZ9^ +^<> MWW,,-W=Z%LUS>^!B9I7ZLE.-&4FU;+91VW= M\&QKDLHB0@"PJ,SR*IQ/3>RAF4_%419YQ1^:H#V69=;\6_!"G&W =: MRI,0SWKQ;3L+@:Z(%WPC-46F+B>^Y$6AF50=?WO2<-A3)U[>O[)_,>*5F*>L MY4M1_,FW\C +DS#8\EUV+.2C.'_EO2 :!KWZ[_S$"P77E:@]-J)HS6^P.;92 ME#V+*J7,7KIK7IGKN>=_3?,GH#X!#0EJ[_<2<)^ WQ+(NPFD3R"W[D#[!&KM M$'7:C9FK3&;S:2/.0=.]#W6F7SLXH>JX-CIH3L<\4WZV*GJ:$P:FT4D3]9A% MAT$7&,JN(2L7 @=$I H8JD"^*A;(W2&^WF'I@216$1^SK-]EN2H4>^W")A]? MV36BE'@)B"$@%P2.W1V$&4C5>9E@C*AEB M#&"$$+5-<&*4TL0]P[<(8Q( B MOS;JU48=;82-$# O ;O=W=A+$'_L;@>AET(IHM@RUT71&""+:^6B$$A2D%K> MNC"8Q&DZHBSQ*DL\WF(_0>HE2&_W%@)_JP ?N]MCKNPER'9DZ8%!F"30-MB' M2U!,[,_:@T.$$AR/"!SIA=!C,AFA\#:R>X@^8;._Q4!\@\W8U1LGE-@VNS , M ;/[I@>6,$+L%N&!I2D!(U\X]/<_Z#9 PN@(A;_-0/H)C_V-!K(;/&9N@V7 M?94],(H1MCUV87$V]L 2H+JZI2ZZ^'LO>;,WLU8;;,2QDMJ9B^@PS]TC M/1Y8\06<+*$GOM+SGQDGWNB[X?%'UNSSJ@V>A%1#B1D==D)(KJH'=^ID#FI> M'18%WTE]&ZO[IAO:NH44=3^01L-4//\/4$L#!!0 ( >!7$^%@8!)AP( M %D( 9 >&PO=V]R:W-H965TBT,NM2&89PTYT)]4 M_FI>N#H%/Q2251V+2J4B[^U:U&8] M=_P7-[<#[!Q@[Z!BWW) G0/Z<(AN.D2=0_1H!-PY8"M"T-9NQ%P12>899V>/ MM_>A(?K:@2E6KVNKC>;MF&=*3Z&LIWD4QUEPTD0=9M%BX "#+)(J=6 MW"TD-I"ZU3)!"&)+D#$,(@@AL$09PS#&B?T"UV-8#%"(H;LV[*P-CVJ+XD_4 MC9T$\>/J3IP$D_OJMA \5!>E26)?-P<,AVF*+'7'L&B"8F %73M@*0I!ZJXM M<=:6.-3]A"!U$J2/JZM:O[-9A/?U[3##FQ2A"%G?ZM(!2P"$]B?M@D$8V;?7 M 0-J6")DE1<,VF)%^<',*.%MV;&66IJ!M9^#SU"W5FZ:-OQ! MWP[='X0?BEIX&R95,S!7$\N&_T,LP$ -,# 9 >&PO=V]R:W-H M965T62*BYY61>@=3%7HLY.BAX,A]JP4-W^? M0.JQI"F]-I[%J7.^P:IBX"?X >[G<#!8L5FE$0IZ*W1/#+0E_9CN]KG'!\ O M :-=S(E/B&T\2=JTGE+3US.K^J?0W;, M23D-P0V.0M1/W''J\+HD9CI9PW< MWXETE^-AUKX9SBZL85J+W4NUVB0%NWBAB'F:,-D"L]Z\A>S?0[;K&<+0P6PC MNVLC"_Q\P<_2[7V!_*Y '@16;W*D-SDFS&/ ]!&SS6Z2O ?EZW1U8X4MCM=? M]^_G&YR;Z9Y-A=-#?$)L?L?5 M/U!+ P04 " '@5Q/8B^7#@8" !Q!0 &0 'AL+W=O.V02T-J8 MVD[8OGU]8"E+W)OX],__S9AXJE'(%]4"Z.B5LU[MXE;K88N0:EK@5-V) 7IS M71!G"&\V.>*TZ^.Z.0Z\ZT4<23KOX(=GN2ZMW@I\= MC&HQCVPE!R%>[.++<1=O;$+ H-'6@9KA"H_ F#4R:?R>/.,9:0.7\S?W3ZYV M4\N!*G@4[%=WU.TN+N/H""=Z8?I9C)]AJB>+HZGXKW %9N0V$\-H!%/N-VHN M2@L^N9A4.'WU8]>[)#+_"/5M*ZD&"/I[WZ@]A,G M6VSNIK&;[BKF=UKG1:X0E=K-&GV7H,7FF16(.,^(W (L<0KHKTFMQI>J>Y+],L3,F"E"Q R584K\D6%%*0 M[#_7F00"3KS#Y#>8#R;.D"'.*(*<(<(H5I[CEX+0,4\H@I0Q0RA6EO/DT MR28EZTM#B[\\!WEVCUU%C;CTKM$L=N=^\H#=D_DG]\WH&Y7GKE?106CS\-SS M. FAP22SN3/5MJ;_S0L&)VVGA9E+WP7\0HMA:G!H[K+U7U!+ P04 " ' M@5Q/YO+K-.P# #*$0 &0 'AL+W=O+SY^S27)=!5(.^+ M@?:IJG.ZJZL:-H^B_%9=M:Z=[UF:5UOW6M>WM>=5QZO.XFI5W'1N_CD791;7 MYK&\>-6MU/&I-UFK^&/B:7*YU,^#M-K?XHO_0]9^W]](\>8.74Y+IO$J*W"GU>>N^T/6!J<:@ M1?R5Z$(]:\4;,1USIUR+].SG5UZT;N,Y)G^-[6G\M'K_H7I!TG5[];_I3IP;> M,#$QCD5:M;_.\5[51=9[,52R^'MW3?+V^NC^46%OAANPWH -!H(M&O#>@ \& MC"X:B-Y # 9\V4#V!O+9"'YOX#^K0?4&RJ+D=;/;+M=;7,>[35D\G+++N%O< M)#9=*Y,0QV:P7?_V/[-BE1G]W D5;KS/QE&/V7<8-L)(?PJ)((0.",\0&%@P MC,6> 7,1D&F(5PQ#IY@W#,.FF"\8AEMRGN!S6(XU$>M SYQ(' ' G4@ M6@=BXD!:2CJ,;#%YBU&2$(*'D6@8B82QU[_#J%$8(5I)48!\P;7:D9=3/EF"+JA*V.@IF42OA@QM\0(%5A( $R0I""20&1!RPX M"1>*"D5+_@MEB%)I*V5@/U-&.:(4 L-0(3HACC.B&*(3(IF24LWKQ*L\Y8A. MW];)03!IZ >( ZGWT9.:>&]@R+-(U1V, P4S,3!FP>%W8,*:LN7<)D)#06R MSA 94@$3(NJ!XWGB7 ALH:%+3CD/YV<4;V 4Z6 A.$K!!D4#@@GUX=;U)01& MB$<9<%A^#XA'Z2\E#MXB*>QMTHZU[T'C6(#W$F1*!&^1%/8V269Z&\6;&PV? M/X(QO!TQV(XDL1K(O@=-5EUQPQ:TFF>04UIX'V&PCT@"3KD8:$X^7L49K.*2 MR!D7>(%D/W$.9G@Q8[!.26(?45'03'=F>#%CL)A),E,/&5XEF/\3:O$=R+ = M"-1B(/L(ZHW>$C-=7MJ/ I5S+.YYW7 ;=MWT#/15%KPYVLS#1?=7P:'E)]KIM;9>[+[NM" M]U 7M_[+B3=\OMG]!U!+ P04 " '@5Q/T*+O(Q8# !M# &0 'AL M+W=OS.K2CV9E%=A1A%:5@79>-O5F;N ML=VLY$5592,>6Z^[U'71_MF*2E[7/OCO$T_E\:3ZB7"S.A='\5VH'^?'5H_" MR])Q_!Z=^A.S7SB_?_?^R22ODWDN.O$@JU_E7IW6?N9[>W$H M+I5ZDM?/8DPH\;TQ^Z_B553:O(]$,W:RZLROM[MT2M:C%QU*7;P-U[(QU^OH M_WT9O0#'!3@M8-SD,H!,Y!\+56Q6K;QZ[;#YYZ(_8[A#O3>[?M)LA7FF@^_T M[.LF@6@5OO:.1IOM8(,S&Y@L0NU]0B"%V.)B>0(.!XR,D1D'[,8!T@YBTD%L M',0W#IB5Y&"3&)MF2)+Q+* RZ#Q87T!R,^"Y9!P)F#1.L7&$$" MFS08 [=D>C&U2L-]!U5+3D M@=#\\JC2)8JE@;.$:=D#H7NT7V*CT>T&)@%S;2"M?2#$C_:;;#2Z*< X<&T? MK7[(EV)QO::05C82RD;[#4(:90X.K6L$PD5NS8[]=+W:+K%?^9#(_ZM M:(]ETWG/4NF>TW2&!RF5T.%$@<[YI'O_:5")@^ION;YOAP9X&"AY'IO[!7$_.4 5O3@( $( 9 >&PO=V]R:W-H965T M0%[F1GO++8W:1E_%06 ]-XJ6HN-7TC9K!$2>0$5$0^L M@5I].3%>$:FF_(Q$PX$<#:FB""\62U21LO;3Q,2>>9JPBZ1E#<_<$Y>J(OSO M%BAK-W[@WP(OY;F0.H#2I"%G^ 'R9_/,U0P-*L>R@EJ4K/8XG#;^4[#.5AIO M +]*:,5H[&DG!\9>]>3K<>,O=$) (9=:@:C7%79 J192:?SI-?UA24T5 !.P8_5T>9;'Q'WWO""=RH?*%M5^@]Q/[7F_^&UR!*KC.1*V1,RK, MT\LO0K*J5U&I5.2M>Y>U>;>]_HWF)N">@ <"#F<)84\(WPGQ+"'J"=&]A+@G MQ!8!==Y-,?=$DC3AK/5XMQT:HG==L([5[\IUT/P=\TW54ZCH-8W#58*N6JC' M;#L,'F.64\C^(R08$$@E,&2!75EL\<<5K"1V#LBCE<3_5;)9E4FBH;-&' M(S[&V"T0.04B(Q!-ZFWYV+HPGZQR.##1PJK''3K9O,[$4.PT%#L$ LN0"X,M M0RY,:!FZ0R>;UYD86CH-+1T"D67(A8DM0RZ,?6SNT,GF=2:&5DY#*X> ?<1= M&&M;[EP8:SOM'9C8VI:9"V/?%FAT?U7 SZ:9""]GEUKJ\S>*#OWJ">O[SXIO M@_4N<,3WJK]U[>A=OFN.WPD_E[7P#DRJ6]?I MARLUYEU7ZB:2-7W#14/73_\!4$L#!!0 ( >!7$_\ [MWJP( *T) 9 M >&PO=V]R:W-H965TS)SER\R0-C*G@O MBTJ.PX-2]2B*Y.; 2BI?>,TJ_6;'14F5WHI])&O!Z-8ZE44$XSB)2II7X22S MMI689/RHBKQB*Q'(8UE2\6?&"GX>AR"\&%[S_4$90S3):KIGWYGZ4:^$WD4= MRS8O625S7@6"[<;A%(R6 !D'B_B9L[.\6@>FE#7G;V;S93L.8Y,1*]A&&0JJ M'ROUO2L(MI'*_7%_9/MGA=S)I*-N?%KWRK#N-P& 9;MJ/'0KWR M\V?6%D3"H*W^*SNQ0L--)CK&AA?2_@:;HU2\;%ET*B5];YYY99_GEO_BYG> MK0/L''3L1PZH=4 ?#OBA VX=\+,12.M G A14[L5#2:QF*K! MQ"#%CB!]5 HPNDBO+D*PGR#Q$B3/*SOP$@R> M4+;!D%LY'%W[&((=S**/ 0 XH*4'-$SO=-O06]+0(RKQ$Z1>@O1Y44'L/Q_B M)V1M03>Z)L Y(^8^%$@'[DG21P&0(*>QEUX82)([Q=TY_(!'X'L4WI-K"N!_ M2.P_4P!Z1F+4^X\FT.W+N0=%< Q=B?LH&":J26#-5?Z@K37 MV(YSQ73V\8MNC8.>G;I-P7;*+ =Z+9H!HMDH7K?#4=1-:)._4$L#!!0 ( M >!7$_;&PO=V]R:W-H965TB%-=$_YO22MVF84P?)MX M+@]'J2>B>=&2 _U)Y:_VB:M1U+'LRIHVHF1-P.E^%B[@]!$B'6 0OTMZ$;WW M0*>R8>Q%#[[M9B'0CFA%MU)3$/4XTQ6M*LVD?/QUI&&GJ0/[[V_L7TSR*ID- M$73%JC_E3AYG818&.[HGITH^L\M7ZA+"8>"R_T[/M%)P[41I;%DES/]@>Q*2 MU8Y%6:G)JWV6C7E>[)<4NS!_ '(!J N ]P-B%Q!_-B!Q 0P2XM! M?4QZ#5F-(;!#1,I YP+Y7"S16"$;*'@@ Y_KCUD>/9 >YLII[*U7; CB*X+< M3Y!X"1)#D%P5$PQRM9C48!I;392G608 \$MAKQ3V2,'!VN*1% (Y3OI*UM,8 MF,(T!R/@>@R$"4(INFD^]9I//>:1GV#B)9A\?J4R+T'F<1 /]E/F*9_[\TOE M7JG<(Y4,%L!B<+^N*;AQRB#P'W;@T<'#HPQ&.4U #&^O'[QQL\"1&)R,[@TX MSBK.;YQ(Z+T\%A!]O,]7#G1W_UJQJ'=UUI0?3!\3P9:=&JFOCMYLURL7IE4. MYE=PNK8=[YW&-N ?A!_*1@0;)M7%;J[?/6.2*J/@0=7BJ'I^-ZCH7NK7B7KG MMO'9@62M:^I1]\MB_A]02P,$% @ !X%<3U='5R_, @ * P !D !X M;"]W;W)K&ULC9?MDIHP%(9OA>$"E@]!T5%G1.BT M,^W,SG;:_LYJ5&:!T"3J]NZ;!):5PQ'Y(R0\Y\UY24B.RROC;^)$J;3>B[P4 M*_LD9;5P'+$[T8*()U;14CTY,%X0J9K\Z(B*4[(W047N^*X[=0J2E?9Z:?J> M^7K)SC+/2OK,+7$N"L+_Q31GUY7MV1\=+]GQ)'6'LUY6Y$A_4OFK>N:JY;0J M^ZR@I7QMQ&UVS%UX.W]A_H78UZ9>26";EG^)]O+T\J.;&M/#^2Z_TPO-%:XS46/L6"[,K[4["\F*1D6E4I#W^IJ5YGIM]#_"\ "_ M"?#; #7V4,"D"9A\!@2# 4$3$(P=(6P"0C""4WLW+S,ADJR7G%TM7J^'BNAE MYRU"-5T[W6EFQSQ3[U.HWLLZG$Z7SD4+-4Q<,WZ'Z2))'_%:PE$)M%GX6!:Q MWQ]AUAUABR 12.*Q2CJHTDET@KZNB8F?W,3[_AV! !4(C$#0>9<@R1AC@-?M M""89P:3#3,=0B!H*$8$Y,(0P,Q<8&L$D(YATF.D8FJ*&IHB !PQAC \,C6"2 M$4PZS'0,S5!#,T1@ @QA3 ,84P(#(W028=U.H8BU%"$", ]"V- LEN, =]B M,D(GQ9@[W] <-31'!. WA#%PAC &;@H($\%O"&/N[.>>BQ\K+B(!5G:,0G!? M0"&P?!,,ZJV[!U#7UIW3TNM)> &<*00*(SA5&-3;[\8HI0^4NK;0XW?C^3T) MF$N,,,'<@Z[Z$.)JA%***45PEW!NJIR"\J,I.86U8^=2ZE/ZIKFJ@7] ML;?8>DA_HLM@4U5]RM-G)Z MD/IVINYY7;O6#&ULE5?;CILP$/T5Q LC2_-R9A^%.$T61:73_S$3*:;WLDHSE9<)SJV#[F?V,)QOB5P8UXE?"KF7GWJJDO''^7BV^[F8V MJABQE&U%Y2*6EPM;LC2M/$D>?Y13NXU9&7;O;]XWM7@IYBTNV9*GOY.=.,[L MT+9V;!^?4_'*KU^8$N3;EE+_C5U8*N$5$QECR].R_K6VYU+P3'F15++XH[DF M>7V]*O\W,]B * /2&F#_KH&K#-Q/ ^^N@:<,O$^#\*Z!KPS\L1&H,J":@=,\ MK/KIKV(1SZ<%OUI%DT"GN,I3/*'R_6ZKS?IUUO_)%U#*WUN. 3=6M[ MMQF8P%A-"'+$9C5",SZ/J8GR <%^::#4 NR@#"1)F@$ M9C4"L[Z/Z0FBH"!J.HB0)@C !!IF"?G!FB (0S1!$,:%!06@H !PX&F"&@RM M,7F-<;6L7-V%]&B$((T0H.%K,1J,WXGA(SA&!,:(@!AZPXN,&"$.]$Q[ .I1 MP0ANO@@@HY>Z G4#!=C7TV04:J-0M(="=(#TP(F! =)Z.2M0EPY&1.\^CU!] M.N#1\8P)0"?2Z1!#=X0--L1@TP7UR<"]'[L&&8J0'LN*>/^A%JX8 GQ>F&HAD/YBG,Y'?,:*0SV"E=:6 MGW-1<>SLMF/>,ZF& &U_@2=+#.RO\&3=#'&?[IN9\GM<')*\M-ZXD*-'/2#L M.1=,&UL MC53;CILP$/T5Q >LN2;9B"!M+JM6:J5HJVV?'3():&U,;2=L_[Z^+2&!ION" M[>&<,V<&,UG+^)LH :3W3DDM%GXI93-'2!0E4"P>6 .U>G-@G&*ICOR(1,,! M[PV)$A0%P0117-5^GIG8EN<9.TE2U;#EGCA1BOF?)1#6+OS0_PB\5,=2Z@#* MLP8?X0?(UV;+U0EU*ON*0BTJ5GL<#@O_*9QO$HTW@)\5M**W]W0E.\;>].'K M?N$'VA 0**16P&HYPPH(T4+*QF^GZ7E@M_ MYGM[.. 3D2^L_0*NGM3W7/'?X Q$P;43E:-@1)BG5YR$9-2I*"L4O]NUJLW: MVC=I[&CCA,@1HHZ@I^ER%#IJO8]ZI?@H5/>>3,,S060LYS-)BHAXFG5Q#UD/(100I M YV+:,S%,AIFF%YG6(U 9C;5=L^'&/'\7_J#09%4B,0'+5 M[^BFWQ:3&DQM,<%T%@3!34N&N&CZ.!G@UD-<.GE,![C-B%Z&ULC571CILP$/P5Q <<&&Q((X)T(:E:J95.5UW[["1.0&=;B$_E!Y$O[Q-4N&%4.54T:4;'&X^2X\A_!B;7VY^%9/6@ MHDJI\5O_K1KS[0;]*\U-B 9"-!)4[GN$>"#$[P1XEP ' OS?#&@@("M#T'LW MS=Q@B?.,L\[C_75HL;YU8(G4<>UUT)R.^4_U4ZCH)4] G 47+31@UCTFFF!0 M<@O9S"%@1 2J@+&*R%7%.IIG2&\S% [(PBKBWRK;NRHWA<;.=L6&'T_X4?R! M4^@4@$8 WO0;6OWN,_"C3GD M-(<1!" MZR@*%RR-H.5^XX(AD%CGOW7!%F%D7\=@,@IJPD]F+@MOS\Z-U%=Y$AU'_V.D M1XD57X-E 1SQC7HJ^LG^+M^_,]\Q/U6-\'9,J@%FQLR1,4E4]>&#*KQ43]NX MH>0H]3)5:]X/^'XC63N\7<'X@.9_ 5!+ P04 " '@5Q/X"5 QA$" !! M!@ &0 'AL+W=O2_DDZH MM/?<\%85?J5UMR5$'2MHF%J)#EJS;BJGG=PEYZZMHT3/YY "[ZP@_\EXG'^E)I.T'*O&,7^ [Z1[>79D0F MEE/=0*MJT7H2SH7_(=CN FH#'.)G#;V:]3UKY2#$DQU\.14^M1D!AZ.V%,PT M-]@!YY;)Y/%[)/4G31LX[[^P?W+FC9D#4[ 3_%=]TE7AKWWO!&=VY?I1])]A M-)3XWNC^*]R &[C-Q&@[:3[=F[-N%5F M]E:F09:3FR4:,0\#)KS#K.\Q.PRSF3#$Y# E$J*)A(X@FA.$%">(4(+($<1W M!,'"R8!9.TSK,'1%DP27B5&9&)$)%S(8)L)%$E0D00CBA0B&><5)BHJD"$&* M$V0H0?;^+5NC!&LD@\7AVPV8=+9EP2:A[L&E-JC4!I%:GN$!D\RELN M*5._ MT#M%$;'-\L+0_XR%,2I&9G?9%M=O3%[J5GD'H4U9<)?W+(0&PTI7)OO*U/-I MP.&L;3!7$^+A*H&PO=V]R:W-H965T@ P MZ(4SH6L\&#-M"='M )SJ.SF!L"N]5)P:6ZHCT9,"VGD29R1+DI)P.@K<5+ZW M5TTE3X:- O8*Z1/G5/UY!";G&J?XM?$T'@?C&J2I)GJ$[V!^3'ME*[*J=",' MH4 _X.<*L+^;()3E(^>R*+UV-$V<(&+3&*5 [G&$'C#DA M:^-WT,3KEHYX.7]5_^2SVRP'JF$GV:^Q,T.-'S#JH*EB-9%$CF1SM7R]5?"B.G\*K)^M?2_ 502P,$% @ !X%< M3WLEZ:0(70 JGT! !0 !X;"]S:&%R9613=')I;F=S+GAM;.V]:9/;R)4H M^GGNKT#HR>.J") F0'!K^3JB6DN/;&TN2>[KZ[CQ D6BJF"1 <@55T3\^/? MV7(!,@&B2FI[XKZ)L-4L,I'(/'GR[,OOZ_H0'(O\WX_9\_)8'/[GD_ET_B3X M9;W2 _Q9W?RNWE=9NJEOL^RP MV_XNGDSFO]NE>?'D#[^O\S_\_O"'Y^77K H^I#?9[W]W^,/O?X??\B^KX&U9 M'&[KX&6QR3;M7S]F^W$0K\(@GD2K^C:MLKH]A*?>P]3C]D\ORO5QEQ6'X-/] MWGEQ-!G]N?.!/Q_3ZI!5V_O@,MN7U:$]\% =G0GUPQ^R*B\WN*'@17IPQJD] M_8]_^1?<5?>BJ[2H\T->%AV+N$ZWM3/[R^*0'^Z#5_DV"]X==U=9U1XQF42C M:1)'RXY'+[.;O#[ RP_!NW3GO.#Y^Y_>O?Q?P?/WEQ\Z)G@.JZ_2;? :3O27 MX$_9O;N"R60YB^+)S)G\6%6X]U=YO889_IJE52<<1Z,H'DVC3OC9<[R"+QW, MZ86^/"UGZ7W^S]/V-Q?PZ(8?WZ8W'>!Y7:S+"LXSQ:,-@X\'V%M05@%=O K M5VZ1-/%HNO8+S8;N%UUJ#X$;_(B M"]X7SEK@J^ O>8VO>E'E7[LP4,_W'/^"_7TJ[XKVV'>PY/674S-H$'VHRJ]Y ML3[YR@]E?8##^]_YW@O-2;283QS4HQF C'D?F4TW3 MPGFSFO(V@RD[QGS*#T#1RNL@BL^NSH./V?I8P4,N-]CM #$_'LKUEQ"X0A5\ M3;?'+'@ZGDSB8 _;)R[BS%ZE&SJ ^]U5N74F_>G=_W*I."\@>/G+^C8M '(^ M8OGNXN.+"X?-J/-OK/4C<;?@_?$ N%O@:MR]%76YS3=T-G0GD-34")3W^XSI M21V,@L\?7P1G3\]YIW60%\&GV_)8PZ1P-9XV_FZ_8CJ<&WM_G$[H1^>N(,W; M96;1P=\NKI#'K __ISWT,ON:%2YW?0Y7&G=:^7\&! .2M4L1W=P9:^ !Z]LP MV,##VW*/*P@#V'^0%3 ^ QH/9Y_] G)-[=ZUCX"5\'L8W&0%0'G+3Z:;75X0 MGZ3;U_6P' Q,GQ,(VK^_*JLLORF"-5W<]7UP V)3<+:%W9R[0/R:U0<"GW^R M]X=;0'#^+3B3)7FFH=^O,A#@,C7Z 'Q$'N@8WS/B778(7GM7A+_(&_#NW<%> M;P%[1RG(;""Q!6N^ @A0_CC*_OV8PY7%31+^_M">\L>TSM?!V;'>F.OL[/%% MOCWB+3DQ[.>'KP>NF[FA78OCD=VKZOC]>5K?!IO\:PX,?5/3NF5!],"IW?30 M!R2J578+AX?(*B=J*$4_43"WMFNF[MML$,"1E;ZF^3:]VF8CP,-1#2"&@0K! M:P>R.-&Q /:\S?\#MF==DS H,EH:8BC\Y^SI[)Q.\&F+8!"-!\-@0K5^XSX[M9A09?9>IO6M1'( M8&9\CU[[&2[^/,#%PSL.I5Q^6(FFXK[="YNILBT=,#R7]H+P)*E!&;_>\AK3 MS=^/7: ?^J"?'*T;"*.(DW-R#DJ;;\\'7 $7M M[/H:CCV ?:_QKEYOR[O@-MO@("XBFI3#==B MG<$\ ,@PV*+Z E/>4(BAKW +_5?ZPD'F!S@G!RLU)NW3>T0C MS^_5,=MT2GKJ][[UZTT*'O$M@&L*3U0@G>[+.O?0T?99O)%MP(%V*'Q-Y+&V M_9"Y ;O6_NDO^6XA >K=KXV?Z0#X\/GV+)?WU3, KIN 6-2JOZ#Z%_:I5:1X MW9;;35;5__K_+.-H\8PNQ^'>I5PBC?'4HE-J'9,>CIX%%\?#+= "(/8_@$(T M"2>3B:6+]9"=,,CK&F%$-,(2,X-H,0F7JP7]0)_C@5,Z6+K9D$D1H(AD:90C M)]OG %7WC _ J1#ATPI$H!L?PA]W1Q9&2@^K1Q9WFL/7G= _>?:T9?OYWW8\ MVH$"D2&K@S@;*1,%7P 6T"8T<1=&P83O M\2\2*O9H*-S [!2G;Y<5>C.-DC!5SZ] ]$@90-:[V/(LKIMP/P M$9Z(_/"Q!D"SVN(<-6LL@ V;(=S=(\MY&817.1IRZJ=0D2%P E,^'"O0Q&H6 M+'M@]C8]H(%0TRF \JE'&E,_#*.\,#@[U@3R<^_.3D'CFHE:/S1> \4@1=YZ?D'=>#I!W6%!MFA?>E*X?Y$<->"5V MG.5BS0/U'R!KZ]&+TT^?>N)UL:Y0C@_.8!A](C,6@:9U$(^_R?8>AM_JOJ>Z MC7NG322N^6\9>Y;U )MBIX2=1\H_'[3B8 M=)AVO"CYP"=ZKL"P]_4^,0"272ZL#DAV#1\ R4*?PX"G3SWQ0$+[730;'^7H MT6T^'G>[M+JG)^$6T'V#B42RP\U^@!VL/:S4,^2[O">X($?*+C\ M;XKL%_B/#D@)SO"I)^*%?W(> "TW$E*1W;56JYT16YJ3G29Y[0"I :,Q? D* M08987P,>;F&[6;!+-P1?7,#:QO5KK5[71OM$6*K7,ZP!'-OCAL0WFD/V(%8% MP(2B.,(<[GK^1*HX/G*/P4(9^KZ1R&08U*$)#>OKP?413RRKUU6N 5[G/"WD0_]RE17JC+YRU\) /<+WF/W&N!EB.17H$Z:8+0#:& M65Z:D*5BU@:0#6(8WQ:M1LBR2-ZU!R.8/=/C\ 9'K0$WUEE=XZV$,]RC^1V& M7:V4T2>E2?D14)] KRAOP.NCJ$G:S)H7_,8$/Z@QM7Q_Y^!S_ MG9RPYSTXWGRM6*B\7DGSBLA[K5:AUV<5&M%:-"Q9K%J1P"O;C($PFUW*7;-Q M>D@,R'8 X-<<\"#H*I:*!SY%4=!K DA90%T6?!2C=F^7-/N M!!.,\0N'&_J!7U<;8HEW.2S5HNH?T2*:5AN,T3+"W!D0MG.D;*$B;>,G]*(U M1CAH.FF30*!0AUM@N"DYBS)-AM"R!+?X/S(E!5X)-K&2)ZN MRH'TD_K,^P&:3 :J3-.*E"XFD_6IM^IIW;I3YYK:11ZEW*;Y' M$^=()>CGQKHVP&'7A_:RS [+*X93?;Q"&_PA9R:\U;.C_;';P!]#I8-YZ>4:R%'"B>)M-/BISI!? MHBZ01LE[^U+1-5(/((9P(%VPXV O&E@;!J6P2*M*^*5YN+DT=2P,XNP7X"R9 MJ)'9+P>D@CA'%32FW#.=4D0=Y(LKM6QZ78E E$%7&4=G9=4:+M=&*(G&/(SZ MNE>\7U:))+@LM)A0E,6H_4,(A[N^#0AQ..8'0S\Q:!W6S.(X/'D\J.M]3896 M-LF9NSWH\!IDCB)*/.L!M+SA:T6'92!N[P5?AW=UZ_S(5X@1%-%1K="^)8IA M9[6%/"C1Y+QA_@IN=X&79IA8_/@O5Y:T7X MD#KJ7?IW1)RT.AB.B4A&**V(R#:_SCI!<>:_;*D]-7/?Q>PW>-%VR/0>][+S M9\'F7&XDRV_LV93A]7'7A/^>K:Y\RW!]\%2^02&;G[L!)0".(S.:E]H("$OI MEB@/T'CXO8?6H@C97,=0&+E3MN9CN*TF#MP&O#/=X:4&B.$>SOUC-]T7?WF_,BUZHV=8MG MD0358EH^J8NIF/VD:# (W1^"B('/YZ%%C"+'8V_/_RR(SPE16_AKJYX&O/"O M1,GV[A38VK&V9D5QK\!#4YZL;/.,-COE=ZNUB12RQLCFG$,MVO<$6;(SF*T* M.9IZ<144)L? ,#P>$>N.)%J4&@BAKC(D[.H]N8TRMRF/HR$L_(BU@NP7;# G MQ$5C@$7,K$.Q3\F-1 ,4I3 M0_:]R[=I)8+4W6T.M$%686MK;\IB W>!$CRNTN)+\/X:#2:;X!*7>O;F]8_O M+\^#_181+XC'0/EACQL@):" ? DX'6\6N7,MD_EP)%"#?AK(7-#YO< MC7 4_K7%E*"KM,YE.VVB\XGO8<-5W4(3W"S(2FMQI(ADWGQ#<[$4S2>6D"JS MI]7'5=JTR$*^=*T473]V$G??'-?FWMF ,&_6+[)G=)T8=YB@5 F,'EPPYNJ MF[00T(26*I]+R/D'OB$:=":LQ-+T^V*MVPOPJ891\!: =JQ, #CC&7J[LOH)*-2?U1QL)LW(&(#,MM)Y34@. M28I&DPE^86P_HDV+]LPF!Q&8Q8Z0'AHLF[4I._#C;)-='8):FW'/%2)*,IXQ M2N)BLVU.>DAF:1Y;PS $]UE
(W6,JRNWS^.,X0&LL M'F@(LX(VE&[0NG:]1?H-M(* 8:B3>A+]\SNA0P@]+1!8+Q,C8BI.S=#LZJHJ M4S0R"[IR;B[CE;PPV!UKXQ'GH S*AE$$UMZ46DPHBI4:(\JM%HE92ZJ/>SQI M^AO9)5RB YFL]#)Z3T1,WF+NL'?;X?UKG3?*<-I^)N)*BKH*B1! ,664K"Z M"T&@#2HB(K0I &+R*6EQ?Z^$2M-V@Y1O,RJ!M7 M6Q"ZV80+:V6YZ.:8LWT+)K O$,J!%%*02W!ERB9K9:PS?OST&BB2L5%',[;: ML9V1R%6^TX^A1DD 1[6Z.24>C!R#,<3S/=[HNP8(SYYO6-9(PL^-D9A!U0H6 M%%,NR7)V\ 'Q_+RJ#Q9U$-#!"ID=-B%D@804;IED(U>%L(CG"FU3>EXKDRE< M<;1@BC]ZO\T."IMS_&MG4UR%DS;>(ZT"X4<_5)!0OFVA EGY[RTS-?,W>3D> MO'F0+55\5I8W91R\->O7%A^F PTT42H"ZH DTV]Q*^E:,T(C*W6Z3AKO'<0F M%J/)$MC$I0[.0N;PKBR M $-I$OS*A,GFHJ/J(F#?. M: 9Q58$*MYI$SR' M^THSO,"K;3QRFK_@RP?P%R(A1+$M%SW'T<@+VK2#GR!H%DIVH1A 0%&6=-@. M*1AD:1JLO!'R<<2XDB$HBM+H9VF%BS[0$AAMS^31," +M,3O];,MN)W5(2O4 M @P368"AS)EZ0G1F RF1=MUM M.ML1SZ>:-"UL+YEEZ/4N6.D$S_CVRU\2['7,:M^Z=AR"!UK4YP:31OXN)(EMY, M7-E6+XZ%>;\^S1X$(O,&.9/(%H(Q*EVX1-&'7N"0X0OID3B:&+RGI 'JNPHBSV.6+T'D8"2JCZ6UX<[P&_-\W >F^4W"\+MK+K$TB,<.4FWM"4->>=9D-YK7#&$A1'^_-PMQXH71M$5)BK:AS0TK M-L->6'RWVQC8,:]E4[PP<2QOW#@6_1C)W]9L),YF;?)K!]#8,@9& UJOM]UQ!84XJM>S -49-W;&N,&!KN<_!'\^EHC4 M'T ^9?/-!:/H6Y);&2VYG-;:0.CL#7(2]#/9L:;,P]]?(5&E_;XN]D>U_GHZC\/)?*7_ M5J&;(/:56#1$?1_/9F$\6>B_:3&CJW3]!?9OJ33J]RB9A]-5K/_^B/2:(ME; M\\;A=#(QT]Y0D'MSS"Q<36;ZK[?' K2!/3E?[%%)N$S,1"^5?YK**>!!W&&< MEXGRT LU>[?0]H?A$RPF%O#\J4(-O%2#]0+":#;U.IIV70>-UXE5#0>?.>7P MN!=JLDDQSLY2HR3)6N.D7!Z2KPEU>:Q$:J:LK%?LM=3N7+**"A;[?61M39?" M/AT0#ML'Z#K9=K3!VG!%H!,':V/@0PN!'2R;\\W!V4MSGTC@*Y 4P+&@$U7R M13$2K*K**]$Z,=?//"20VV Q-+(E-$( V..(<0"6#&("J$SJ^S!8Q@TN0FI2 MO4<\$D.X,J,KTZ$355"?)HN*[0&3(OVY#*T !PNX=A);&FRQEANY!ZK-"!VV M]UHG%R&0U>_6L8M#0*+7-8 <$A\M1L)[+6FB545:8*9I1B[V*CIAP^9YC M(V[)5&=FAO?A!5R3?_D^1T,2;%/E77\%S@1L(3C<[SD3P'ZSBMF[S6]N87$W M59:Q789/D8*I]BFE&/%"%,V PR9RJ^B.L5D14G 0T48AX[E5HS8)M_H.,.* MG",$]A&Z3T; 79'7 $]"$2BO+!'7A\F;8Z4PWW9M P P#CGXQICL-OB[TCZ; M%0,&$3 K'''$]A>VL9GP!6UK:;[*#N)!IQ06?N$(!@^Y:[@\+1(F$KN*S)"'?:T7-8+Z)9^B0F1EX@BD*_70P:CLGH/LFMJ5IG;A&&W(39IX& M<3B;):P]\%*:;L.?_I)WH\,95VHZ[W[\^6V>5F7W#'$R:ZW1LZFG(M!AK9KK MMG(T2!G")ZN60M2<30BBBCANI?:WRS'=B*E0:[S-VA""P,.4)2#[%-"+-E1# ML[GTG!WHCX7O]CJ+XO;SWD.B0O3=(Z@^YU=YJN3G=O/]FC M4@]\5<#CVGGTZC3-.$6^=/RF(0'MF^8!D'O=:&6 SI-9.(\G]"D)Y[-9MP(J MZN<4;NDBZ*X $,51N)A$,-\R!!6HK9KB"Q.XYM%J&2:+1:>JN5R%L\4\6, H M4$S;BNMR ?KJ*HBFBW"YB!S]S+*-Y,)N& M\ZF[?@0U; "V 6,:6C-KR_!O[.XL@ETO@B70L8Y2;\$,SSB)@ACM E,D9ZL( M !PE\&FQ6H2SU:J]7\$[G]0K]:?$D4W!3#>XD0)?]HRON&?K/3.N :?1<"8F M3)AY7Y8<2U-9D02H?I586X 9+X=69,5M*J%LSX)UZU@&[>(*I%?0G'8H_JR5 M4LOY^,]CLL AK*!X\ M4*=Q<($*O*4K5:BCH_6E4(Y@0IT7>/;5,/FF;9#HK[HPW.)WH9WD7"*:_[58 MN!",']JWA EI/,.+A$3O*0@D<7 NWR.]ZZ%S<3P/IC-8S0J>$+KG$+PYD)5) M$,=Q<#;%84P 7<(7+^/:"1,@'A$L,]I M<+; U2IJZ".#R3P)9LLD.)M-8*0BC#T$<3Z%I:]F +H9/" 4TB&-0/OFJR"9 M"H2%5+:)Y'1B;8^F(\+I(YF38&&9ZY"$(C%,@$!&))0NET@HS] ^>DX_S<-% M-'T,FMY4' .J"XE(.!B1&DO[H4B%?I1F3W=KJ@&YT6V,_VQFP"!=4Y+N55G] M %H Q33#FP#64NS=?()5_@1/HQV"R^U9%Z4U;U9_PX^>N[8,E_,IGLHJHD-Q M+>+NJ#:.QM,PGB,:X;G&$SK4LRGJ$,DT7,$=/)OA3>M"V @T@60ER+H,)ZLI M7^ (+G0"MS1.X \'>R.0GI:"NHZMV/[1P_49D=M/V;]U6<^U/P"O#=UV]0&] M"K#UZ9)(UGQ"7P&VX-;@FX1Q/@*JM%PNS#6XZ,Z]/W2H!A(.C2F"0XU$%L*3 MHQ=S%4UQN48$I]+E,O:7HJ6.LJDD?BJT@Y8ERT'EJ36&@ Q[@PJ(I!7; R@S M6/)B5)"5NG#\<$VIX)+%X/YL)Z4/H.J3@ M8"EBX"=S:_XH^O;YFY#";%\-"\5W.3-.UX%YXC3->*AM[@.LI-(1- )4OC"V MXZ15OJRQ*#&UU4Y J5V[+!2[CC$N=A<9H2"? >5W_9*W6+(EFL>]R!LRKC9K MT7QWN?Q?MX=G$=?;B48Q=>D"_CV:RJ?I*)%/R6@FGU@B\8KI"8GIT7(93E?( M]^9HJ%AT2!'*A=YE@4!Y%(3B9!%BI9"(3 8@,\X7VJE^PL(11V$"S#N> \^- M@P5(P5.89A[-M9?=;]T0P;?-XENN=Z_+W>]Z;W[K-YLTY>3VD^RD?ZI-* "] M) H7NQM5E7]P/[\O>UFE^F= M#NY!A (J$],VDIC$J)_+ZLLH+T8JD01AL@3H):!PO<(F0+=XZ4LT9\*C$ O[T1N4ZO!I(W]7ISP MM:KC0P;TO1,1+<[/4VE'.!5VH^1((+M0CXF&UK%?')3O!'LZ[-9*5N7F$0%P M^1E?77[ 'DB12J!RPTBTK(N$J&A/$KV:*SW6I#.QG MI)1]79X(U_7+GL12C*#DAP#^C>EXR\=FI MIF\&MS+PY-J;*1OSM-W/ IF4"T[MN%X6?;E1_AXRE:U)9H.[1_7O,$F_VF[N M,)X>+8!LN+NC"DPV"+&$X!&!T:QYQI8X+8]8:V@ZB5O%&^"YY^*YE4>PA(Z" MLZJ[0YH*J156]1Z[%$(S11Y@ #C+:0&6Q!"6EPE^_%!82A)RR'J0#<@[IHQ-J.&,[/*E2.'53;8,1$=/A5;+PH M]GW%BD662_=A<$ \YBH 94>Y@.]13NXN)5DM7"0KHQ0D:)3QJ 5]BVJ6*OBN M2YLL[:4M%LL32W.AU*RWI:/,[K(M"MB-:ELTWB2\MFDT$LQ6UOF)>E^\#>%3 MK*J"N(I_? \@M:'PB@MW])\.Y:C4(I_5CG2FVOMFK6J;%YQ@>4G%BS!Q#V H ML=W:93^?32CU*D!GYQ(_@L0>3J,$/\8HKT\C_(B2]VI) Y( OZ/+Q#'F4Y+1 MD+O/Z'N[\$A?M1+?5IGQJ907IZS--0?[1F*0.'$=G3Z)C< 7.NEDO Q^\PTW MWGF%*15E459\TW0\EQC]Q[^M+0I(PJVJI&:YF_#7>RKQPW5V-L'54?)IUF29 M;H12444_Z:EE>;X&KJ:\HUJ(5\=\*TEG?T_7(EKF)'DH!?$V2S?_SA5M9;$Y M"UP<5UJ"+K[/5;8$7GPDR'"[2[(PZJN+47PF/XC2P5A2":B+3QQC85RJ4R,1 M172G%Y899;'HO-%#;#+>VJ;-B^U90!!/$[,$^&O>6,0#[4(#UB#$!3NL[HX[ M8J))?D?@L%DQY4%\FNB,?XH ]3:N5I_^M#N*Y M\#9X::0'.J.'ZLOMQXSSTXTB>H 6S3[3YVE540XO.W7L=@B-Q'XLYM\:^P(; MY>9PD?'W(CN T/N%-&W@L/.)_<%$YE.E!I2+LO5M46[+&_+03,/Y M$BN&GI48%?H9V@9PQ>@#3?[K@0B=N"M8W&2^[ ?1+%Q$<^27JZ@/1#%:KV;) M@)@_ Z()K"$B"UT81=,^#Y,*3]TH%MM(2U<2EA5RYN(SIP%]_]L^6\9\W>,P M6L[XPH.,%#X/8@?4)K*73]O5Q>YU3ZVM48&D)=V8)HOR12PV]AX&-6)O' MY 1@&/*!E:*\@KN'X@DE>E'&GKT3K*2 @ME51FSN2X'E@#JKYAW2+^0C1!V- M309B$;.VR?D(/]]B5[([S)*]26^DB/%!3/+ME\/?-U4J118:E6)T&KRP1-0= MI<7Q.J4TB:IN M&&ZTS?].(9*1L>BZD4E.@KID:]=IOL7[2P':H3_= MG'%,\,GXP-+VU./@ O.#L293H]J [%DBZQ_F@LM06F6/TZ$N6DX!1[ZBB^O\N9[U@B+ IZXP'B# 8QT%L8+AQR^ MP$0OKG=JU: ;-HIPZ]^RS0TN_T*W[!HF.G5,^:.7[A4V3D;C7Z*QAQ8 MA6);?'E]C38?5:*RB1!NJ>*._&JNHTZ@WBC_>?L$5#H2XZJJT'DKM\H.'4?J MP9FVEA']@!JZJ0Y@RO-O6AJ&;3IP#_=QT>_J^-Z50M>QW5'CCQ<6F.$'^-O> MI:(=%@'X(7AYK,I XB2>8B#8?+7 ,#/^.YZ'4U "_IC"-A&B/0B@_W8$@018,84! GX% MRV0B/R^FH"C,U%]S$'(_I?D=[XA#>.%6A0MT4(?)8AF(53&">3%KH$@W.*V, MC$#CF@1+@ H&MRY 0?L(0$WW&#HD0]I[Q9EG40* -]F;50:KU64G71SO1R"T M6O0P2]*.&]B@NUXWOE5LS IE]'S%?KE!./J H8_!U5,9\(-[T1.JXS]!6[1! M18932^:G8TLX/JF1N4;%X0RS[2!5;!8GF<<4]B17,<;+2 'BD\(5R#*ZJ#>W M_D#YF&FI% >ARC>4=\M2\6,Q9=CI#QG$A@0N,:BR)%0QYO;A](VUP6F=6?L1 M D;[0@X:]$[7P*<( %Z:.2V]R.8X>UGV8+W ;B*0Z6:K%@+9+$DPXG3KL!/D MX8TX8I'#>DLP?S)6UUJ,"N^T#51]XSEMC^5SV*A'$(.?2-@X8TGCW,8,JVBM MU3W+Z5MI-^$$[6&^HB@@$MVG,PP;GL[G@:?1)F<"7YHRREU#2(IZWJCZI0U5 M?=W3G1>W\(M".)%N)PE2*G0IKB$9>A!B^0_/@# 2* MY6R.2X]0>(F_RX&JKREN_)]^/KIQF5@S:ML40B1]JN+Q(Q#%5BN*/UN 5!?A M"28K S,?,&-*'&/(VWUTC4 @>P=^38G&)T&AQ0!B.$_ &DXJR@&&6\Z'7P* MSY7A3G1_8+_ZNCYO&_6L-F-.#.Y@N<,?F]L*@,)0HYUX:6$!Z*E?64[O:0BR M9+^3%<*:> M15/U-FVA:!6C?]ZH@=WJ&^&9C,-[=MHL^*OV;&R>ISZEIO^++ >%G(.B&0K< ME I)^?.:R-0M5IINOJJNV5=B+;=+,:<#+ZP6TJV%VK)2(YOT.B-#J5H38X], MNSA6EKJIJJJ7H'QA#7V3^+0Y5CJ6;ZL3$K%9%?4*=3M2E^LOHQ^Y M4CRZ)VDY\/A+9BB.-=>8?+%AB?W$I;@0B7^%W#A[Q++>!Q7*T]-V^L1"O ;C MVGJ'"?E#5Y-Q3:SMR92[T[KS-;Y8=;&3%GG;Y\7-] M/AZ:TX?VN0C1>A)&P/>Y@[G)]* ;22\=D2UI]I>X_Z .\1MRCHJ)?,U52U(CP4B8> M*WXI]Q.YT3CX!NOJ2X23ZN)IWC@.$)CM=XIB@%6Y^$GJ+J%?DNWVVY*;"%%< ML6Y A<%"Y+(\4MP?I-CF3=,WT!LAI6I,WF_ M-P[>!R8Q-[#+2X>#@83X![Y1;9TZ^%E%FP47$F[V4J$)U>+T#+C4\6B*(2(B M?<*H-)RV6S7&L%[YU@-93$']8@1;.+Q(O@-_+NB?\WGEYK/"[&2^HN3\11_AO_$_!_K M+_W,UQ)CE,C".L4I:9#YI,<=6I1@-H[@_PG\/X;_3]MK_41&X,97: :T>$1* M[BM*+31618SAM(-A?27GUA9]L@N+,B*,.\'QDV(IDLHNJG!K5+-?'N(MM:8P M#8DH#ED_M,G6V]1M)*EI_8\EI5T!^:,DE[)2):KA>9[1"";*X0BR%-4P)/1F MMBYZNLTF?2?XZ=9J"F]][X >N/Z5E>!AQ=583PV1&'29^?Y3X0SY'>%.O>ZC$XGTQRW\+&Q7XTTC?JU.!=LM=Q1>]+T<*!*JU@RU_QNO/\2T<3] M*$&.OLDJ+6&IFOKY+NN(Z:;C&9'<-(A4]>:M/UP%)P+W-%J.DU@2$N(QR)>^ MA(KON?3O8#S0*Y\M9>7 POM207(M?70M5#?NQ"@>4W"'O^_K"-PCBR*CZL5KZ2#X]=YG<#Z)32 MLZW4'TQJ\:_TTNB,K#E\MG1&GUC#^H]2\[+*).0AFVGZ27HTO-_Z=3L5TBD* M)KY?Y6%2).H=MZNPF[-I&F\:%R%<\?YC( JW^6ZDR6W3?:V*7 Y3CF"UM.]O M,$N=5(:4JD.*1O ":9T55_"N5#)GE[[B%C=0*@LH)@D(0I/@+SQ#VWGKU58< M#V]K 1Z<7* /@=_T0"K>0*H.OO/@1#ZF+;2<=M8DO<]')%1ETH$O\/1(8EUBH(;MP2JA-50UV2/FEMK0EF7OU& MY8ZKFB5W5'B ._QY5ZB?C>+?Z&@19W4O49DBHXF%-MQ35%*TVHG]7TE8(HAV MZ7G2P:V9Q0>R=,6Y<*7?0H=I?DQPFWGX31 MRDIVPR"WQ%NX2(J)#GU/BU]C.3:[CE0XG_E>\P^ T0/<+")J3,,DL42-6;B< MKDZ"Z '%G>0U43B=KNS7S"?^A.QW'3>,]'6K?58G%RLK#W,=4#OIY(E<85?/ MO:Y,X3<#/:011#97U70J-;# QE'GEUPP+ MI,*[9Q2'$D_"^6J& ;LQB29\G-%HO(2R9>1"^O@P?6O9?.Q)@O@2DZ M[7$OF:6=\!1Y)D+SZ/OUH20P4]1!4^;TF6>.<. 5]YFEVZWG1!82<[@Q5X_I MD[<'>X/,"S:8W3;ANFW**70@8PWCP-/%))Q&3 HX)Y<"_"6MR68R$=;EZIYG MCEETO(?'U9MK1SG8NU"O=%=(T?^<;RAB7RA9! QHY8!0I86(9<,[YTM%B#89 M7'3:H=BQL+A'QJ8J24*RP!"B#H-RUX$[TL-78@TW!I]-SB$!; S2$F"#2X>V M*2[D_2EWG=7 B R#=A--Q['Z*?W%+3_UFMD&_#8L=X8F"2Z(MQ1K>'^C3 LJ MEXJ@@?"787,&#L8\4B4PDV./?,HVN;<-;A8[$_H:DO:B"]BI"<)6@.<_@4J^ M=M:*&$]%L0>!(([0F-[\AT!H0<$J'ZCF5&P>A]O_5[$(>GY=?PC5[+-%[+]?'Z M.E_GW,T#[>371YT-@;KAW>$V%(G068!1J_X.U+;>*"L)O1X=SMU+:!):[%V- M*)75U* .-U)@^2)T@3>G3BM*9,%[316O:&D(*NYL1Y$E.?4B_3L*C#!IZ_G: MI29A\!JQ AM94Q@>@I#79^Z6QO@J*U:OFA*HT/# M8#HJ2Z:@U2[$W&/VK"-QN02AA[WKR$0+%\?!2VW+HJ;(%.2 .:<9T!W.Z&Z6 MT:LS'0)*!H6,_2[M2CY#]^CO(RJ;\>S%* .<%N9?M-B=EF&T6/4'<6M[E-KE MTT48S5A9:58_3)M%.'4"EUA>)C%+\^:8N)"ENL)B1M/N>?LP.)98]<)6$95] M&_2M46%G'UQL%!5_D+W#=C64VHR M0L>$&0A1F"@-7'FFBNR70[/N7SLE&J7$:SJS[R'W\$?=#=UYXBU@:KJ^/0*Z M(K[^W#F0:#TL@Z,:X:;-D?03;R<*R5HQ5=WE0IZI+LPIX2(B &T#E:KUT8JX M5'U7N?$172$V;^#=$&NG_?99X^U.A9NV)XT=;HZU1DF_'^!T:$A?U1S_G,9K MIVS:8E9H=ZKL22S\AZNAV(MP[5KCE5F(-V"G4D>+2;A($O@O5CM:P7\CRB;' MO^?1-'AID3C>(0ZZBKA2KL)3(9'Z$(M,M4? "<6B=)6M4VZMG-U+ 1J@M2/UD!NF;\HUO?SJ*]SB M#.@SH#ICWQO+:33WUCM?2WN3CZ!)I5?P_3@,WAR YYSQ-^(U'02V\[A>3RW,5HVYQ>O;]T0)_M> M$R?Z+<1:T:8JQ;*DJHER7&#D/6%\@>6<:M11-Z(16]&#H=VFU:35]5_:ILO+BL9FS]3]207F).=+L@E",0<3QM?8)< M5UE1M?^96F#=/5TE2=&91MZ,UOUNL]:9<:* =31*Y^82Z5H^,P"!D[726!"2-(SVVV1@ M1_*]-;T%W[%]IT$*=^]T7]BJCG1-6R&P:*:?C">SF:%E8RGO*R.H>*M&XG=8 MY+M!C25PP6[ HLHK5,J/J'";4_\P>)OPPYHNFO%T+FG#@"/R$7RT:ME:;1H^ M BI4-.9^N0DVF/!?[0Q'@XFUKU4&W=4!_K[X^!Q[5P1/I&G% M$]CC#0C@NL$+CCO#IYX(6CTY)P%<6 %PZNRNM5I]#:5 ,9$!0)LVD!HPPM@Z M90ZJ;Y6^L4LWV8GK8=6FX*PN?CW#NLW#VU?C@D-PW/7\25,@(H.96_V2A$3B M69C'C959ZG65:\"RC=BNMVR?DV FM7$[4& U,![C^+&">YJW/A2*PAU8[Q6O MTF Y%NEQDW<"R,8PTPVD#EN!307F*&Y1K%*-N1N#*33!G1Z'-SI* %G.D/#C M?27K.^=O8S#;UA]@;V8]W;HQU.9 BT V6SS\NBG2)'X;RVMWQZFPU5U*F9:U MG_&:-!ZUV Z3JMJERDFU<'I(\,-W 84P+G6L6,\-Q#LZ[J]::%$+Y0 G'>^D M%D"7A5)5 ^G%8^OV.O'=Z@B0-KR=';E$=(V?L+U(DON,L)T MTB:!N6I93VFUF29#IHV "%[-;CET(?VEF'@ZRB(GH[-J('+!/3$TK3#U'UK- M7Y0KK-8M7[B8N\IRSZ6)A=0ED%KIK;+Q[B16O8GVLV2OH4XSE$*EWZJL1H7M M=.)V"B0KF8&-N;]F]VR$X1I2%,\'OY8<9GRL-=(XLS)E-;%O%.J<6RGAUV75 M% 9=(Y%ZEUW;+\B12M#/C75)WYK6LLP.RRN&$WJ3#FDA/IA4MY QY0#%R&PE MQ#H3BEVF/!ZL&T_5%/#TAJ6K:Y?5 ]IK(OU#2%\> 2$%?G,/TKZ$_K2!*41JNK X0!_+,2 MWJ\Z3JBZOK5N+=7^(>3,XE3'_E Q(RK[@3T)Q I'A3;I>E-U#^5SU'=[T.$U MR!S9/#WK ;2\X6NET^7#K\*YNG1]-%+#=?ZH5H:R,_5:C!?S(C%A-224P MX-+L,J9R.IO,1/B!Z$/*C,I,T&NA1A0D'B"#^B%([0Y45#KAFC2$.Y!KL;2Z M26'=H*C(";]T9QJ1+4IL%YVEB8W/@BO[+9+SWX"_0KB&M"=[L0!BN(=S_YB<$YN( MT'#Q=8FP+5)R];!%X] .%9?^+A@LP!$27YFMR*U 6HVW_=!]*;"^.ESC G,> ME JN+RW%**!XM\M:E,JB$&:^M.8;U.A?1!:)GKOO<^S6+9Y%$E2[_X]'ZF(J M9C]I&>FH1]ZAX54D$4,RHUKS4U,\W4['X*^M>AKPPK^FEW/W3H&M'6MK5M," M32HZ91O=3(]HBML]SYBIFO<$6;*GU9X4#E.U,N1;$BX%![H*])OB\3;*8%T3 M#F>"(2S\B+6"JP$T0L-M8F8=BGU*YCSEGG>2%/%Y-HVY5G.,A.\:S&F!2<;0GVN$##$N"(S*1E#N%TV1X.P3Y&C5<6B@F&1]U MOLNQMB\+4CI3I*VMO2F+#=P%I<67X#W%SVR"2USJV9O7/[Z_/ _V6T2\ M@,*U5(-W++)> ZS3S5BIA$Z?.NM4Q,;>:M'5*$]&V58H.H^V&/8@5665 ]FG*D' ?D-SL5+WB"PAW"_17'(YKM*F11;RF30"/W82=V!)_08,%167I=XDN M*[HK*_PBKHH6GQX:#%-\S)8;[*S5JOMQ*JKD!,*B$-;:$!.?ZQ. ?< ;5O76VJ*6T@DJ2F) M($^J?#>5ZJ?9<:N.GU6T)32[NJK*%$V\@BRFO*9^8; [U@P M-J468\<"6:JE%DA91\'6)7#2J@!5!BC,L4YZ&;TG(@;G0'6.L\H4X@;<+N:M M\T8)RN3HL+! ;8V)@0/YN54!DJ1LW*$8,MI@%QE) !0 *<^5LK*+#P'39ZJ: M9,7KUO*L^KRB5!NT'*-Q%X3]JRV6$20BGJNHC9MCSM8EF,"^0"B%Z9 Z[F9+ M!F-E*KO*;O*"A&EN5Z0MQ,I_$4J\#\I9._V8CC4I*?7,GE*2*7$1Q@RN&PK+ M73O=W1FH(G-L';UL/"]FT8KC4@*H%2K)H(,5FAZ;!D(62%1>#%D(M-^22"C. M%=J&["'^0"PJPFS9T'0&AHWW2*NL&BZYBIEIH@+9V.^=Q+Y&JR#U(-N)0JGF MHGT98SLV7=M;F XTT$0)Z*GQZ:FLE(;?X;=UM^.B\=Y!;&(QFBR!35Q:C3-& MF'@.I UH(%V:5YFXL#@^GRO/CK"8_2X'S:W16 W^]T$G+SV'^THSO,"K;?QA MFK_@RP?P%VY.21V!*0I>$YNU>D&;=IAVEJE=MX!$8I8SV HH&&3)^A>L M)/)G?/M5DU45E5#[UB5-9T"'^=Q@TLB?0[4A!R+A KARR1%". M40G5]!!%QJBF!\!1'\HFV5,,#LXX_-+31(0)5](XML M<,@V$]*\4F:5ZI3]<\:37BY*"LR.O$492A- ^U7XF%"8@7R6%?#M_8,9KCE6 MY8L/E7C:^;N%A;D5$V"E-=E>^/1*.1>L-F^>0 $L"8'>6!T3D%NQ$8UN>GI MP24:;(EF"*,D;/GG,,KE"/'BB>GQBCRPT366V>-(Q]^./H-@]E'"V#3/PWEL MGM?D#B@3T\Q&L-C MMH>%^,F/X6@"'X]7!U#'UL%T-ADE$]Z#>%.5G<:W:71S:@.9TG_(TF$%QY"- MH[T6]J7FU%JG-N2]0.OJ*PP5Q (MN6;9M4T5S%@Q6Q@3G7>5VEQC5_CSP*ZE MX;;?+HI>P[BCFQ6T]GMR34+_*#J7[#Z@&>[TMSK2A.QR9&H08]$UR;EU70+! MT 65[?UDVT8XC8T:.JNL$;RB2;6R@"GWS> ]V*NUPCSL+8)Z5*!@6C=?1:9G M'2\Q<&O]Q,/ATL+G-0GCM#EJWCN(QPY2;>T)0]4WJL%N-*\9PD*(_GYO%M*V MV5E5Q"Q#6QVW0$UL^P#@Z:S6V(ZN@X$"U&A9^NFL8MU(R_GPL$2&I"#7+A8Q>;TGF9)1Z M37$=B 0"I[,WR 700V/';S+_?7^%!)'V^[K8'\WH^%P>_R%X6Q;9O1)K[0Y6 M3S&R?;*,K(INYM,G59T6FS?4^NOI/ XG\Y75%ESE)E^56"97TC0-_O27W,XG:)[5613.$ZR[WOGX\]L\K%\-NLF>4+PIEBNE!_7(:76RH,HCL+%)(+Y MEB%AX105:@R1>A--DV5Y_/)N'3";AO.IN_Z(D\E@&S"F0:>9/L._L;LS M3'5=!-@MYYV5!6WO;89GG$1!C)QHBA<#*BX8KYF!+E MZT3L 02O[2?W^'KLU0\6%2ZT98S[8_*_EEPDY_Y#^W#Y/L0S:LH08?&Q,_CW M7+Y'M.U!USB>@^JVHE(Y"GT=O)V'V&P7.^QA;1N%QR[^QLLY\'7-N!BA?:AL MF#66R1'LML[?V2-*%PG@0$2]!\\6N%J%U#YL3N9),%LFP=D,^\4K_.[!Z_ET M3IET9Q'VW!!$=S <4!A$H60J$!:,;^/Z=&)MCZ8C_/=A_B186'P>;P+B= )X M'A&76E*_D#,4K,[IIWFXB!R>P*CRN>#F;+ W=G03J3,(Q*SU5[\/7)W@:!:S M-8NQB_22';3_[K =K375@+R']M5J02;XH&9X558_@/RA.D3!H;[EV%[S"5:I M^E1^HJ /ZT:Z$'_\CYY+O0R7+:*Z/1=F=T=U;X,\32,YXBOB$#Q!+$' MFXAAUYAIN(++?C;#*]UU,[!08K*26[$,)ZLI4PI0;>,DQC9C\(=S32+@MDNY M(XXT:__HX1)\8]I/V;]UR?=:8\'[261%?4"]![8^71)MG$_HJWA%6X-O$KY< MT5*UR.3[YJ3Y:^/ 6^4S>9%* 8EOOU6-RI_&#M%PSW0VB_A>/.A?MX=G$:=S M1:,X^"N721A-Y=-TE,BG9#233WPIO"PI(984+9=8G1$;?Z)LM>A 9*5G=@E- M2'N! 20@.P'B123E 'V<+[3F>4(H PDO ?R)YW#L<;#@.J!4&E2IHGZ!3(A\ M&\M:^JE7+_7KI\UO_9)>DR>TGV1-]JF6^K!=$LBO4.!KZ$5-4@/A*;A']N7+B6H-33DXV\T9? )B[G\N"W77YPR M!:\XT!,+TNZ.Z/JC<$R*C]T?5!P7E0]"99(]MA(V>%-ERIQ797UE0_ >2W&0 M!M@O.&2 &Z5)10.Q5HJ""IH0>A(#Q-$8JV3(ASA@209D+A^TLLP#+=WXWL"G M QBMF.I6%.:OMEFLH3WA_:+VN>0=)Z#M)+QGH$8@M<%'I"NK)0U( OSN$^:& ML8EXRGVRL7U&Y%X?Y7S3EL!!]['UE&-]U8I%;H8VN]0.N:4L9#Y/JXJWAK[ FLJYU=%'3SW^9[(/WA'!!Q3BHUJ+:3.2L9 M6-GAT+@BTP5B\3*8QT,,,RA,Q%25&FD/KACUB^2_'HA005K!XK"C>B^(L*G? M'#$8A,@>$,7(+8&KGS:P&1!-8 V1U,IVN4\O)H>!7/D&W#JZLO:4G[;:,O!\ MC0 23U\#]Z+D]:]#56;+F&D*%D2:,4T!IAX)'<7"U4)35J *$D5)XMBF** ! M* 1T:DV1#P\8S7O32+?;,&CRM'W/^618*[4;:<>=>LST[96Z/MV0.XU)2;@ M.?X#!G#4.DU;7D4%[S!RK='C19VHE2PR( MM.]*J37[^>.+YA]FUS7^ ']C+0>5H/!OV>8&UV,!Y(?@Y;$J ZE B*6+ +T7 MJ*/RWR";3X&<_C&%;6(QD+]F!1 2+GTW"V>@QTZ7_!?(=;-5\#;[!7UCP8>L M+@,I\)[ .%=:_Q%U 1 3/E"98+3^XQRH_R%;P,_Q).$B2X#^@+= /^?J55BA M# ;'7-<+B"3>HCL2F?'<(4I4*YGD:K\<>=)JP9:_AD.0XFH- MLG5XXJ509E;9.1'D>,?4!,F<\E3R4*=)YU(#"]#9B%RS &O,< 5HB:N@H"', MTJDP'>_^T9@U#%N&#&*1417.E2)0DD76/LR^L38XS1D[CQ PV@1CT*!W.GF7 M8BYY:>:T]"*;X^QEV8.[D-!/F,+@)PR%.T-3J<-,N\E.9JI)FFEMYZ"I$G>B M:M()@O1&E62#[PW-M.K,_,,K _9 ;).WYMMTX_I]0M?4"U@9B4RV6KQD:T;"7)SG4X\DR7+&-8HDZ140B MVSX+YHG889?A,@)I90F"3K+ 4(8PF2ZTCX0;3<2+< EJ(E YU#R7\S!)YB# M4 \ECF.ZJ/,4Y;T)S F"U104G,4B7,!#(.&AIQ$7 !)\C)@33V/X#I7(&0A+ MRQDVB)]CU]298ZP;@"*@2F#M[5K*5E%XZ:^")^KKP_W^O\"QZR)0>WO_$EY+ M7&:J_!\1]LM=D7%U@=VS$#&2%< ;9K[@HGZXQU$M>3@FHAOHZ)')0X*F5SC[ M"$X._@,'""@0Q2 63Z>//=P7JK*HG'*(4+XP<:JAU5'H$9Y,7;A4'1R%BJBM M;3)R/'Y3R]9'J+]P)LD,N\14;(:F .M!ZYPNPNDL:A#6TC16 VHEVY_%R7*89AQ-X,0=H^;)!J6=-DZKC"5UHGC/X; 7 O[OX*IN=+CP M'NO0;@4G>_$&JMSW2ZF PS&AG@&7NOB,,@E@4L\G#$#'R2E0&#VG0GW0:B:- MMEF?::W MC5T81GW:*7UZI+QWRE/@J=7M+H'$$417/RM(U1$1]/ MR-F&S5E!JL$15@: TD+4RU1;-0L'Y?6UTU,@.!;-Q\SZ#D!>=]*71-GYK>ZX:)&/:J[<))A*4 M-,A\TN,.+>(S&T?P_P3^'\/_>VWZ+U6'0=6E@>BDU$*W^4$87)C2UO#@I=$_ M/O!I4F;V@XT2_]U$]?^Z)JH6>ID>\K /X(-K/ABD#=AXI/X.T@*H<=2$_1O$ MOI/2@:*=1/\HJLBV4)I-=C%P-Z!&\7" ,#>L_PO/T#;K>-FW8_MI+<"#A722 M]"9__\YNE;[=U;/9T?.5-,?[J%O"F0 A[/IX*;S*')8)TU*_4Q]/J^VH]B4Y M+L3_;C+ZWTU&___:9'1HHZ)._W&S]\O WDG_W?;HOW+;HZ&)GZ/@VU,\@[,7 M6!]B>PZSH7?Y["F:D>&L/ZFS]J>5_M#^NBL7R-F,DR!J)Z>Y>5.*P/U8>M:B M V!_Q !8[TI'/W)HJJD4Y$@V.@#5^PZ),?7^9L)(O3]_8Q[J?P9VOJ%]]*$Y M1F?=0K3KE,G>A#*X'S'[!<&'4";7Z=E_8CXZ_SSJ$H_JN\_,3%^95V MW',=?YTWGKCD]B3\CE GUS[J>@U)5Q[.(KY?FK)B%?5P7O'KY$L'?WN#1N+7 M("'43NSVC[HZA-1E=J@7\^".7S$'N7EJW^5,K M';J!4?"HA.R'"TLOLO58&0P6[H^-"H9A*Y^)]MN'ZKA>!]'*XF;$A?V[P60( M-RU!H=3CH3DX\]= L!]N(/^/M3;0@6,7C1*,?C2RLA@)!T^.8G3STC&O@&JS M([AT!'[R&O4EHC4$!62D6+'QX8\->EE+%!K\-O>Y0:_K$$@&O[;[^4&O;XDD M@U_K/C?H=2W18/#KW.>&G>7@"_G]]D@T![^N7WE!CUE MOZ31$NB& V$&O&7(8YQ=V:V5\N\GJ<;PXWI\DNO0XY'\4NF>Y/PZBMG+U/X! MLU"]/V!2JO<'S%'U_F"G*0+'\.;@$_,>T& >3R-\SM#L=KWODED=2J.VHO*8"A61).?G(UN3Z26#A0QXI MRF+H4SYV[ Q2J8->J)^:0P8I0YR.XGBABOVR ^)#5JT]"TZ6D_%DXIA>3T]O M@D2XK1?2:^=B2)6ZA2(S\V"3WCO;=(^>9F23<2<[QXF-J58>IZ%D70V%RR4G[%ZJ MA%V&QKMFPBX#[\*DV@V%S<-3CQO0?,70Q.2U;Y_YTUW)%0&^PU1HT/]>D[TJ MC]7WFG-#"?5I5:0T;23&S960L79<0^DP=E3 M,O/RUXYECX(!6:"V$#H$9.B&GLZ39PU<"_G;R/TVFL_:7S[]IK][C2RQ!%"8SY_@+9MR%W*RL#.*,W_O0TG\;?]L MPJZ46Z24/YU>-2DKS?SA&=E.:[I_X^QORLZ6=CHKY3?]%*'.WY M?=NEK@ZBFO^I4VM?VJFUTA!(4M_\2;$#YU=YN&K^X4RBG97[<-"?3C$]]<2U M!_C]^: /64./,W% ,NE@2 Y(+7TX; <>OXI=TT45>O)9AZRS5R]X6!ZG*P^Y M^9@CE7"%4I65]V;E6]X_0OFQ)M-!W_R:OOVI]$4?U]F[7E0[+]%A*SH5\1NA MX$TI? 1$^K,7>\'2UAKZTQOM+#[53Z$NG"8#\N';?ZX: M>ERS J)Y_+!UM-,#=?#W8(.*K88YL_5K722^SKT/Y]7]:8JC_NGP>\D3K'VQHN^32LM?W:Y8VER%:TI8\R\ M[E6HM%V\2Z+M2EJQDT^1#MCCE#'T@J35?DL.Q^IC8"NO$4."_*NUQVY8#$0E MGD?C8]T;_0GA:W4?R8),)>?LR[T*W?W/@,[!H:XZ=TJZC+7SQ=#4X*2N<6>\ M(L<^\;IU27OJE<\$_OCW8/9XP7LS9!#0+GZCB4SP;0,(!U\3OMU1.A?\$J:N0K!@K,?H# M+*+]"&;]6.UJZ3XZ"W<,61VO3W]YZ.L['+ GV48CCL>;_6T;5M7=P=M%65^A M]<7C;%4.U_"?K#>MJ\=XH1=V@KR?'*?3L4^.]"5X#9W>RK?4G*2<)O0>\<['UB_X%>;L M/7LUJCUH(4YR'8NS]/(F"[3="83H&B9^C C?;,,(!3_!H%"#KUEF96?OO7>+QPQ\ATX9-ZIW[QNR/UOPOE(T;Y#LE.C4KTQ?!C[ZQ]&:.X=]Q4 MC_/?VB%RQJ]8J^#AYL3OOH+>H&VI$G#I-QR8P@ OVH4!7EJ% ;HLVKHLP$]V M68"+1ED [WG!>O9'>"\%%%5H7=SY .F1\!SR@^V"1:)S## O*<$R#)YC2U,$ M@PYJYE7TV]K\ZPPM1G5Q!&I;T8E8 [D@M'^^2@_3+GH6VT._UN>!$^RX)'L- MIJEV!=-;*U,IJ_1^I<7I50S?MF$[[XYD,$+"R@=TV3,?C[#>V+%3+B$P:B?? M_&.+!73RA&_,DW?X1>0CR,,3YQUMTC==;S)]>_ 9,0YGWR:UWGD@\C[@C75\ M2-:]\YZ5]SUGB??K!Z7D.W-._:^:>;_NS-MWGH^]SWOM4W/?EU)=XZ&,QD)P MG>2WOC_AC17S&!99$NRT \S-"?H>KSX&B@ M%_M2>6D;5B(T_M@N+S*T-"P>F6@\KM7#*QWYOISU6@]S+$.+68.2U."]L]KB M;^&B.R,(7Z0I%VC<*M(M!W$5Z^UQPV*MO*C]I"E:S%;2=591+WF"79RUJR;?K-_,[7BKX,NK_N@N0I[I@9 _%YI/SQ"+CO=92O;6"CG%E]1):.! M"K3/KLOZ]=TFQ+O'8FP)CW)K^A2D(UT^E/9;4/0P>X5$*'2(Q22:@VI7E<>; M6Z^H<_)-7U,0,XXU;H3JPK& H'N>BS5=VJ![7C_K?;WB-43)9>I[4/;4MH ; M[_(:66R&+=!?(TDN7!MR/)YU\['VW,PN;6F3Y048)_*SUR$<>Z_V"SADT!_7 MS;=T6BW:]5(,;>XP(C8,]7 Z6K["L,V1+@EB"VM#7SX*AI5E<55.',@?KVIX >__-J*O$<3=//7[AQC5C26':DU^&,T[W"@ MMM_1RX'%5E!W>/^ZQ^_3>[;7D$=*_FH/?U=^)77I?_S+O_B6VC6;!/-4SHVE M^:)9UWP?C^DVO8+;/PZ#-X>-4UCR>:/B -SAHF86X0RT^W^Y(H?PEEUNOI](;&?^<(^P1>0T^O\ON,.8+E3VDJ!] FUOG>VK+J!1T3*C;E%[G MT[$>W:3I_O\U4_/,[Z]A7C.MGO5UP7.^O^Z:\1+1NL M+1"];3V:(>_J^O# M'_X_4$L#!!0 ( >!7$\4T!.D=P( '@- - >&POOZ#D.$PRC@);MDJ@"Q*+D* MH=^Y@-U_(1(O#@X<&^.SC?]AW7@" *K\38)H>>_A,[O MBQZ[VW5U;$-Z\H?2#VIOBOL[Q']\^;;E.OK(O1=RLD/X^]%\P86H?.C!@&"T1#>($HF4EB=J6($;JT[I%QQ((* M"92N5$WF&4]Q:\.>G9DB;G08X4+6N6T&^SEKEF\$VID!))1V@"-H'5&0(Z6P MY)=Z4B^NG;^$0&-/E[DFG$NT]$83V&^H!YUD)F2"99?&@ZTK"BA.#8XD\\R, M2N2."2HEF#82@N:"HYJAW=$86C;&E%Z;;_C'=$V[2H%=8QZ)"X&A:$U]ZL;L MGYI;(Z^J6>U5V?%>NB G"Z'>E/HXO)Z;PL%7$J>DJN=5V@%H=93G=/F:DCEG MV!YF9T)OSX11@-H\(!.2W&H]4RJQ=F )P0)+1>)5SV>)\BFN5%M.5;HO\VB MS(]]SW/,L41T%5K7_E.^Y?],/#[Y>^3Z5V43^!$9S?_U " G0X#TAP YB)H\ M'0+DV=.''/]K1J=I,E8ZF;4^IO."64FH(KRAS4B28,MC&LD0?C =+%WK)OIV M1LLK--.O06OZ>F^"4U12=66.6 =#V-OO#+CG=ZNFG40(>_L]3DC);,_;OVM% M/P%02P,$% @ !X%<3[RZ;4]0!0 =BT \ !X;"]W;W)K8F]O:RYX M;6S%FEUOXC@4AO^*Q=6L-"R0KTZK4JE3VMU*G;8JG<[ER"0&K"8V8R>TG5^_ MQ\DRXRS)T=Z<<@4D(7DXP7Y>VSE]T>9YH?4S>RUR9:>#=5EN3D8CFZY%P>V? M>B,4[%EJ4_ 2/IK5R&Z,X)E="U$6^2@8CY-1P:4:G)WNSG5O1OX'78JTE%K! M1K?A28H7^WN_^\@X'+ 5CWPQ'8P'C%>EOI)Y*_M9$_M2IY/D^-SO/Z6VY'_26X@OVUY4F84J:M M TN^>.# .ATD8SCA5EJYD+DLWZ:#^GTN!O K1M[/J.NP>VV*>&+^3QGU$_,QSKE+!ZL9D/< 8 8P/!L@^W',/,D$@D\/=:F[7'N01 GET M"$C'.%]SXW<_GQ#(3P>$;#6:8P3RF!9R7A4%-V\UE5PI"5_C 'F>IKI2I?0[ M\C'6DX]I,6]!O>!G!5!I\X?TR5#'$$OFBDO#GGA>"?9%<%N9?3S,+A-JO4"; M_5BW7';YHY);GCNZCXRKC%VKK8^)^65"+!A @0,@$8E6Y3";3(AU<@-WLTV# MJ6-"[(YK"(IJY2[*SJUM*VV"Z6)"[(MOW!CH,=[8W2*7JV:_SX998D*LB9DP M\(]W@1W^Z[8TU5[3Q/0P(?;#@X#_/'0;#R+5T/.Z_3X:)H4)M15*G3X//T,# MR.H4*I2M#V*7K^Z]GYPQ*P3$5J@QH7Z;RJ1K@'6*6!E>^'R8&P)B-SSRUU8/ M$J#C#&(3?!-RM88H,CR'41J,T9JHU,+##! 0&V!>+:SX4;F$=+G]3S,-, \$ MQ!Y $U(KQ@68( )B0?3D$/;AD0-(JYJ8+@+JX0661]K5Q,P1$)O#RR.["O[A MLV'>"(B]T0233BS,&0&Q,_822A=AB.DB)-9%5U3IA,2<$1([HSNS=&)B-@F) M;=(17CH9T4DK:J5@*:;5UX288$)BP=0IH;-XF$]"8I_TQ(4.GX283T)BG_1I M;]AT0CXFYI.0V"?]F#>2+_QIEA!32T@]987:.?0Q,=6$Q*K!,2-_.AKS343L M&QPS]C$QXT34RR0H9N)C8L:)#CF3]?W(Q\2D$[W?3!:T[CF<,:L@$L'HH=[C M8Z)K)>\RNP6$MRX4U7'CPTR47.8M!468@B)B!?UBO*I*Z#'9%[>&6A6LWL[N M?4Q,01&Q@OHP'X1;W&4^)J:@B'Q(LY?/NVXXII^(6#^= 7W(+M8 #A7V,3'] M1,3ZZ8OH33G]:L:8?F)B_?1@#ME=50*4CXGI)S[,@&?7=_J8F'YB8OWT5W.Y M; ?-&--/3*R?7LQFAX^)Z2\S\[:?VQ),.LFA9MX:3A\3?4Z,>N&_!Q/R M.L]3/[,!!-.4@MG5!]LSTXSL91*9+=P"0O;4[@I]X:YE^:AI"AVCQ@LJSQW]^M. MW6CNMM?GV#WR?/8/4$L#!!0 ( >!7$]1_3"31 ( (0I : >&PO M7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/%VL%NVD 0QO%707Z +#N[,R15R*F7 M7-.^@ 4+1@';\FZ5Y.WKO]3$Y6:_-#=,9U=/C M=.;J>;^MAN>]KU8_Z^&8RK9R[V?WU@VON4FI9'=]\W?C@O$G'WWZG_7=X7#: MI>_=[M63BK\+*O=YD,P'"3THS <%>E"<#XKT()T/4GJ0S0<9/6@S'[2A M!]W/!]W3@Q[F@Q[H07X-9%SSDQ#6?*T]X-KSO?8 ;,\7VP.R/=]L#]#V?+4] M8-OSW?8 ;L^7VP.Z/=]N#_#V?+T%Z"U\O07H+0M<:Z.+;;[> O06OMX"]!:^ MW@+T%K[> O06OMX"]!:^W@+T%K[> O06OMX!Z!WX>@>@=^#K'8#>88&S$G18 MPM<[ +T#7^\ ] Y\O0/0._#U#D#OP-<[ +T#7^\ ] Y\O2/0._+UCD#OR-<[ M KTC7^\(](X+G'6CPVZ^WA'H'?EZ1Z!WY.L=@=Z1KW<$>D>^WA'H'?EZ*]!; M^7HKT%OY>BO06_EZ*]!;^7HKT%L7N%>);E;R]5:@M_+U5J"W\O56H+?R]5:@ MM_+U-J"W\?4VH+?Q]3:@M_'U-J"W\?4VH+?Q]3:@MRWPK EZV(2OMP&]C:^W M ;V-K[U_E.'4'O.M2_X9_F7-!.Y!7$\%#51C 0( +,H 3 M 6T-O;G1E;G1?5'EP97-=+GAM;,W:RT[C,!0&X%>ILD6-ZRL743; =@9I M> &3G#91D]BR#92W'R=<)%"1BFBE?],T.1J M+-@>$[[>.)[G^_X^40AM33^*YE:KMJ+:58]]OJ6,/I"M8T.4^JZ,C0U4_TNA M'=9O>>]L2']LGQNS;<<^+2B/ER.]=+0[P%0YY.24MP7M&C457C_YKP:^[X;* M!9K[D*LAM3L>+T>ZR]7(QH6'?$0:MTY-]5[#<^OC_;#/+FRF[[M>^$!7$\?(\\#P !," + " 0 !?!7$\GZ(<.@@ +$ 0 M " >D !D;V-0&UL4$L! A0#% @ !X%<3^ 5@TSN M *P( !$ ( !F0$ &1O8U!R;W!S+V-O&UL4$L! M A0#% @ !X%<3YE&PO=V]R:W-H965T&UL4$L! M A0#% @ !X%<3_+! W1, !@ ( !6 P 'AL M+W=O!7$_J/L<.]@( M "D+ 8 " >P0 !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ !X%<3_FI M>42J! YQ8 !@ ( !B18 'AL+W=O!7$]!'165^P$ (H% 8 M " 6D; !X;"]W;W)K&PO=V]R:W-H965T M&UL4$L! A0#% @ !X%<3S9@W5"H!@ 9B8 !@ M ( !<"( 'AL+W=O!7$_[@XL?"@( (L% 8 " 4XI !X;"]W;W)K M&PO=V]R:W-H965T!7$]D3 ?AL0$ -,# 9 " 7HM !X M;"]W;W)K&UL4$L! A0#% @ !X%<3]&PO=V]R:W-H965T! M7$]]=0,9MP$ -,# 9 " 3LS !X;"]W;W)K&UL4$L! A0#% @ !X%<3^-UM9:U 0 TP, !D M ( !*34 'AL+W=O&PO=V]R M:W-H965T!7$]0W55UM0$ -,# M 9 " 0,Y !X;"]W;W)K&UL M4$L! A0#% @ !X%<3Q@53Y6U 0 TP, !D ( ![SH M 'AL+W=O&PO=V]R:W-H965T!7$_&E\ 6M0$ -,# 9 M " &UL4$L! A0#% @ M!X%<3\O";;ZV 0 TP, !D ( !M4 'AL+W=O&PO=V]R:W-H965T!7$\GZG&UL4$L! A0#% @ !X%<3X\^(#:V 0 MTP, !D ( !>D8 'AL+W=O&PO=V]R:W-H965T!7$_" M6%[]PP$ #@$ 9 " 6A* !X;"]W;W)K&UL4$L! A0#% @ !X%<3Z?Z%_WB 0 @4 !D M ( !8DP 'AL+W=O&PO=V]R:W-H M965T!7$]^<.J&UL4$L! M A0#% @ !X%<3^1PK5+& 0 . 0 !D ( !:5( 'AL M+W=O&PO=V]R:W-H965T!7$^Z;B^1W0$ (% 9 " M 596 !X;"]W;W)K&UL4$L! A0#% @ !X%< M3Z@0B([6 0 G00 !D ( !:E@ 'AL+W=O&PO=V]R:W-H965T!7$]Y'MX?M0$ -,# 9 " 8U< !X;"]W;W)K M&UL4$L! A0#% @ !X%<3[YG"$>Y 0 TP, M !D ( !>5X 'AL+W=O&PO=V]R:W-H965T!7$^]Y*_) M5@( (X' 9 " 4-D !X;"]W;W)K&UL4$L! A0#% @ !X%<3WL' ]DS @ =08 !D M ( !T&8 'AL+W=O\@# !O$0 &0 @ $Z:0 >&PO=V]R:W-H965T M!7$])KUS<2 4 -PA 9 M " 3EM !X;"]W;W)K&UL4$L! A0# M% @ !X%<3PO9Q L.! 6!8 !D ( !N'( 'AL+W=O M&PO=V]R:W-H965T!7$_1UZ.K @( 'H% 9 " 6Y[ M !X;"]W;W)K&UL4$L! A0#% @ !X%<3QN4 M!T0! P 0P !D ( !IWT 'AL+W=O&PO=V]R:W-H965T!7$\';MRAV $ .T$ 9 " 2J# !X;"]W;W)K&UL4$L! A0#% @ !X%<3[8ZD('_ P E10 !D M ( !.84 'AL+W=O&PO M=V]R:W-H965T!7$_9,B0DP0$ M !0$ 9 " 9R+ !X;"]W;W)K&UL4$L! A0#% @ !X%<3^3SM /J P B1, !D ( ! ME(T 'AL+W=O&PO=V]R:W-H965T!7$_#PUV;$ ( &X& 9 M " ?:3 !X;"]W;W)K&UL4$L! A0#% M @ !X%<3Y;&H>@3 @ T 4 !D ( !/98 'AL+W=O&PO=V]R:W-H965T!7$^%@8!)AP( %D( 9 " :F; !X M;"]W;W)K&UL4$L! A0#% @ !X%<3RX;_0RS M 0 TP, !D ( !9YX 'AL+W=O&PO=V]R:W-H965T! M7$_F\NLT[ , ,H1 9 " 8ZB !X;"]W;W)K&UL4$L! A0#% @ !X%<3]"B[R,6 P ;0P !D M ( !L:8 'AL+W=O&PO=V]R M:W-H965T!7$_\ [MWJP( *T) M 9 " 8.L !X;"]W;W)K&UL M4$L! A0#% @ !X%<3]MR&PO=V]R:W-H965T!7$^!W4DX7 , #@/ 9 M " 2*U !X;"]W;W)K&UL4$L! A0#% @ M!X%<3P&10@H5 @ G@4 !D ( !M;@ 'AL+W=O&PO=V]R:W-H965T!7$_@)4#&$0( $$& 9 " 92] !X;"]W M;W)K&UL4$L! A0#% @ !X%<3XN$JAS# 0 M9@0 !D ( !W+\ 'AL+W=OR7II A= "J?0$ % @ '6 MP0 >&PO&PO!7$^\NFU/4 4 '8M / " ;(A 0!X;"]W;W)K M8F]O:RYX;6Q02P$"% ,4 " '@5Q/4?TPDT0" "$*0 &@ M @ $O)P$ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 M" '@5Q/!0U48P$" "S* $P @ &K*0$ 6T-O;G1E;G1? @5'EP97-=+GAM;%!+!08 3@!. %05 #=*P$ ! end XML 80 R36.htm IDEA: XBRL DOCUMENT v3.19.3
Weighted-Average Shares (Tables)
9 Months Ended
Sep. 29, 2019
Earnings Per Share [Abstract]  
Calculation of Weighted-Average Shares
Weighted-average shares were calculated as follows (in thousands):
 
Three-months Ended
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Basic weighted-average common shares outstanding
170,744

 
172,189

 
171,053

 
172,613

Effect of dilutive equity awards
3,705

 
5,056

 
4,111

 
5,408

Weighted-average common and common-equivalent shares outstanding
174,449

 
177,245

 
175,164

 
178,021


XML 81 R32.htm IDEA: XBRL DOCUMENT v3.19.3
Derivative Instruments (Tables)
9 Months Ended
Sep. 29, 2019
Derivative Instruments and Hedging Activities Disclosure [Abstract]  
Outstanding Forward Contracts Table
The Company had the following outstanding forward contracts (in thousands):
 
September 29, 2019
 
December 31, 2018
Currency
Notional
Value
 
USD
Equivalent
 
Notional
Value
 
USD
Equivalent
Derivatives Not Designated as Hedging Instruments:
 
 
 
 
Euro
18,000

 
$
19,697

 
23,000

 
$
26,330

Japanese Yen
600,000

 
5,563

 
380,000

 
3,459

Mexican Peso
90,000

 
4,560

 

 

British Pound
2,550

 
3,149

 
2,500

 
3,204

Korean Won
3,660,000

 
3,053

 
3,125,000

 
2,808

Hungarian Forint
840,000

 
2,739

 
750,000

 
2,685

Taiwanese Dollar
45,700

 
1,478

 
55,000

 
1,807

Canadian Dollar
1,100

 
830

 
990

 
726

Singapore Dollar

 

 
700

 
514


Schedule of Derivative Instruments in Statement of Financial Position, Fair Value
Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):
 
Asset Derivatives
 
Liability Derivatives
 
Balance
 
Fair Value
 
Balance
 
Fair Value
 
Sheet
Location
 
September 29, 2019
 
December 31, 2018
 
Sheet
Location
 
September 29, 2019
 
December 31, 2018
Derivatives Not Designated as Hedging Instruments:
 
 
 
 
 
 
Economic hedge forward contracts
Prepaid expenses and other current assets
 
$
19

 
$
1

 
Accrued expenses
 
$
70

 
$
106


Offsetting Assets
The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):
Asset Derivatives
 
Liability Derivatives
 
 
September 29, 2019
 
December 31, 2018
 
 
 
September 29, 2019
 
December 31, 2018
Gross amounts of recognized assets
 
$
19

 
$
1

 
Gross amounts of recognized liabilities
 
$
70

 
$
106

Gross amounts offset
 

 

 
Gross amounts offset
 

 

Net amount of assets presented
 
$
19

 
$
1

 
Net amount of liabilities presented
 
$
70

 
$
106



Derivative Instruments, Gain (Loss)
Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):
 
Location in Financial Statements
 
Three-months Ended
 
Nine-months Ended
 
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Derivatives Not Designated as Hedging Instruments:
 
 
 
Gains (losses) recognized in current operations
Foreign currency gain (loss)
 
$
469

 
$
299

 
$
535

 
$
(366
)

XML 82 R23.htm IDEA: XBRL DOCUMENT v3.19.3
Weighted-Average Shares
9 Months Ended
Sep. 29, 2019
Earnings Per Share [Abstract]  
Weighted-Average Shares Weighted-Average Shares
Weighted-average shares were calculated as follows (in thousands):
 
Three-months Ended
 
Nine-months Ended
 
September 29, 2019
 
September 30, 2018
 
September 29, 2019
 
September 30, 2018
Basic weighted-average common shares outstanding
170,744

 
172,189

 
171,053

 
172,613

Effect of dilutive equity awards
3,705

 
5,056

 
4,111

 
5,408

Weighted-average common and common-equivalent shares outstanding
174,449

 
177,245

 
175,164

 
178,021


Equity awards to purchase 6,078,000 and 5,695,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and nine-month periods ended September 29, 2019, respectively, and 2,796,000 and 2,353,000 for the same periods in 2018, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.
XML 83 R27.htm IDEA: XBRL DOCUMENT v3.19.3
Cash, Cash Equivalents, and Investments (Tables)
9 Months Ended
Sep. 29, 2019
Cash and Cash Equivalents [Abstract]  
Components of Cash, Cash Equivalents, and Investments
Cash, cash equivalents, and investments consisted of the following (in thousands):
 
September 29, 2019
 
December 31, 2018
Cash
$
105,620

 
$
104,655

Money market instruments
16,081

 
3,557

Cash and cash equivalents
121,701

 
108,212

Treasury bills
105,454

 
198,477

Asset-backed securities
89,576

 
78,407

Corporate bonds
87,209

 
137,871

Sovereign bonds
6,300

 
8,101

Municipal bonds
3,533

 
4,492

Current investments
292,072

 
427,348

Treasury bills
256,615

 
32,760

Corporate bonds
167,998

 
162,566

Asset-backed securities
56,816

 
53,631

Sovereign bonds
16,000

 
6,316

Agency bonds
5,905

 
5,921

Municipal bonds
1,307

 
845

Non-current investments
504,641

 
262,039

 
$
918,414

 
$
797,599


Summary of Available-for-Sale Investments
The following table summarizes the Company’s available-for-sale investments as of September 29, 2019 (in thousands):
 
Amortized
Cost
 
Gross
Unrealized
Gains
 
Gross
Unrealized
Losses
 
Fair Value
Current:
 
 
 
 
 
 

Treasury bills
$
105,254

 
$
212

 
$
(12
)
 
$
105,454

Asset-backed securities
89,226

 
359

 
(9
)
 
89,576

Corporate bonds
86,990

 
222

 
(3
)
 
87,209

Sovereign bonds
6,286

 
14

 

 
6,300

Municipal bonds
3,535

 

 
(2
)
 
3,533

Non-current:
 
 
 
 
 
 

Treasury bills
255,441

 
1,253

 
(79
)
 
256,615

Corporate bonds
167,464

 
584

 
(50
)
 
167,998

Asset-backed securities
56,636

 
195

 
(15
)
 
56,816

Sovereign bonds
15,969

 
43

 
(12
)
 
16,000

Agency bonds
5,930

 

 
(25
)
 
5,905

Municipal bonds
1,300

 
7

 

 
1,307

 
$
794,031

 
$
2,889

 
$
(207
)
 
$
796,713


Gross Unrealized Losses and Fair Values for Available-for-Sale Investments
The following table summarizes the Company’s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of September 29, 2019 (in thousands):
 
Unrealized Loss Position For:
 
 
 
Less than 12 Months
 
12 Months or Greater
 
Total
 
Fair Value
 
Unrealized
Losses
 
Fair Value
 
Unrealized
Losses
 
Fair Value
 
Unrealized
Losses
Treasury bills
$
108,863

 
$
(91
)
 
$

 
$

 
$
108,863

 
$
(91
)
Corporate bonds
23,263

 
(17
)
 
20,713

 
(36
)
 
43,976

 
(53
)
Asset-backed securities
11,149

 
(15
)
 
8,093

 
(9
)
 
19,242

 
(24
)
Sovereign bonds
11,558

 
(12
)
 

 

 
11,558

 
(12
)
Agency bonds
5,905

 
(25
)
 

 

 
5,905

 
(25
)
Municipal bonds

 

 
343

 
(2
)
 
343

 
(2
)
 
$
160,738


$
(160
)

$
29,149


$
(47
)

$
189,887


$
(207
)

Effective Maturity Dates of Available-for-Sale Investments
The following table presents the effective maturity dates of the Company’s available-for-sale investments as of September 29, 2019 (in thousands):
 
<1 year
 
1-2 Years
 
2-3 Years
 
3-4 Years
 
4-5 Years
 
Total
Treasury bills
$
105,454

 
$
188,398

 
$
68,217

 
$

 
$

 
$
362,069

Corporate bonds
87,209

 
115,941

 
47,842

 
1,348

 
2,867

 
255,207

Asset-backed securities
89,576

 
21,425

 
26,142

 
7,633

 
1,616

 
146,392

Sovereign bonds
6,300

 
16,000

 

 

 

 
22,300

Agency bonds

 

 
5,905

 

 

 
5,905

Municipal bonds
3,533

 

 
1,307

 

 

 
4,840

 
$
292,072


$
341,764


$
149,413


$
8,981


$
4,483


$
796,713


XML 84 R46.htm IDEA: XBRL DOCUMENT v3.19.3
Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)
$ in Thousands
Sep. 29, 2019
USD ($)
Leases [Abstract]  
Remainder of fiscal 2019 $ 1,650
2020 5,628
2021 4,314
2022 2,831
2023 1,988
2024 831
Thereafter 309
Total $ 17,551
XML 85 R42.htm IDEA: XBRL DOCUMENT v3.19.3
Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Detail)
$ in Thousands
Sep. 29, 2019
USD ($)
Debt Securities, Available-for-sale [Line Items]  
Fair value, less than 12 months $ 160,738
Unrealized losses, less than 12 months (160)
Fair value, 12 months or greater 29,149
Unrealized losses, 12 months or greater (47)
Total fair value 189,887
Total unrealized losses (207)
Treasury Bills  
Debt Securities, Available-for-sale [Line Items]  
Fair value, less than 12 months 108,863
Unrealized losses, less than 12 months (91)
Fair value, 12 months or greater 0
Unrealized losses, 12 months or greater 0
Total fair value 108,863
Total unrealized losses (91)
Agency Bonds  
Debt Securities, Available-for-sale [Line Items]  
Fair value, less than 12 months 5,905
Unrealized losses, less than 12 months (25)
Fair value, 12 months or greater 0
Unrealized losses, 12 months or greater 0
Total fair value 5,905
Total unrealized losses (25)
Corporate Bonds  
Debt Securities, Available-for-sale [Line Items]  
Fair value, less than 12 months 23,263
Unrealized losses, less than 12 months (17)
Fair value, 12 months or greater 20,713
Unrealized losses, 12 months or greater (36)
Total fair value 43,976
Total unrealized losses (53)
Asset-Backed Securities  
Debt Securities, Available-for-sale [Line Items]  
Fair value, less than 12 months 11,149
Unrealized losses, less than 12 months (15)
Fair value, 12 months or greater 8,093
Unrealized losses, 12 months or greater (9)
Total fair value 19,242
Total unrealized losses (24)
Sovereign Bonds  
Debt Securities, Available-for-sale [Line Items]  
Fair value, less than 12 months 11,558
Unrealized losses, less than 12 months (12)
Total fair value 11,558
Total unrealized losses (12)
Municipal Bonds  
Debt Securities, Available-for-sale [Line Items]  
Fair value, less than 12 months 0
Unrealized losses, less than 12 months 0
Fair value, 12 months or greater 343
Unrealized losses, 12 months or greater (2)
Total fair value 343
Total unrealized losses $ (2)
XML 86 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 87 R61.htm IDEA: XBRL DOCUMENT v3.19.3
Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail)
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Disclosure of Compensation Related Costs, Share-based Payments [Abstract]        
Risk-free rate 2.70% 2.90% 2.70% 2.90%
Expected dividend yield 0.39% 0.32% 0.39% 0.32%
Expected volatility 37.00% 39.00% 37.00% 39.00%
Expected term (in years) 5 years 1 month 6 days 5 years 4 months 24 days 5 years 2 months 12 days 5 years 3 months 18 days
XML 88 R65.htm IDEA: XBRL DOCUMENT v3.19.3
Taxes (Detail) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 29, 2019
Sep. 30, 2018
Sep. 29, 2019
Sep. 30, 2018
Dec. 31, 2018
Income Tax Contingency [Line Items]          
Income tax expense at U.S. federal statutory corporate tax rate 21.00% 21.00% 21.00% 21.00%  
Decrease in effective tax rate 7.00% 7.00% 7.00% 7.00%  
Decrease in effective tax rate for difference between deduction for tax purposes and compensation cost recognized from stock option exercises 1.00% 4.00% 3.00% 5.00%  
Increase in reserves for income taxes, net of deferred tax benefit $ 37   $ 37    
Interest and penalties included in reserve     50    
Liability for uncertain tax positions 8,179   8,179    
Reserve for income taxes classified as a noncurrent iability 7,151   7,151   $ 7,106
Reserve for income taxes classified an noncurrent deferred tax assets 1,028   1,028    
Interest and penalties, gross $ 918   918    
Minimum decrease in income tax expense due to release in reserves     1,300    
Maximum decrease in income tax expense due to release in reserves     $ 1,400    
Tax years open to examination by Internal Revenue Service     2016 through 2018    
Tax years open to examination by various taxing authorities for other entities     2015 through 2018    
Foreign Tax Authority | Revenue Commissioners, Ireland          
Income Tax Contingency [Line Items]          
Income tax expense at U.S. federal statutory corporate tax rate     12.50%    
Foreign Tax Authority | State Administration of Taxation, China          
Income Tax Contingency [Line Items]          
Income tax expense at U.S. federal statutory corporate tax rate     25.00%    
Domestic Tax Authority          
Income Tax Contingency [Line Items]          
Income tax expense at U.S. federal statutory corporate tax rate     21.00%