0001159167-20-000023.txt : 20200501 0001159167-20-000023.hdr.sgml : 20200501 20200501151050 ACCESSION NUMBER: 0001159167-20-000023 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 74 CONFORMED PERIOD OF REPORT: 20200328 FILED AS OF DATE: 20200501 DATE AS OF CHANGE: 20200501 FILER: COMPANY DATA: COMPANY CONFORMED NAME: IROBOT CORP CENTRAL INDEX KEY: 0001159167 STANDARD INDUSTRIAL CLASSIFICATION: HOUSEHOLD APPLIANCES [3630] IRS NUMBER: 770259335 STATE OF INCORPORATION: DE FISCAL YEAR END: 1228 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-36414 FILM NUMBER: 20840374 BUSINESS ADDRESS: STREET 1: 8 CROSBY DRIVE CITY: BEDFORD STATE: MA ZIP: 01730 BUSINESS PHONE: 781-430-3000 MAIL ADDRESS: STREET 1: 8 CROSBY DRIVE CITY: BEDFORD STATE: MA ZIP: 01730 10-Q 1 irbt-202032810q.htm 10-Q Document
false--01-02Q1202000011591670.010.011000000001000000002835200027876000283520002787600050000005000000 0001159167 2019-12-29 2020-03-28 0001159167 2020-04-25 0001159167 2020-03-28 0001159167 2019-12-28 0001159167 2018-12-30 2019-03-30 0001159167 us-gaap:RetainedEarningsMember 2019-03-30 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-03-30 0001159167 us-gaap:CommonStockMember 2018-12-30 2019-03-30 0001159167 us-gaap:CommonStockMember 2019-03-30 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-12-30 2019-03-30 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-12-29 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-30 2019-03-30 0001159167 us-gaap:RetainedEarningsMember 2018-12-30 2019-03-30 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-03-30 0001159167 us-gaap:RetainedEarningsMember 2018-12-29 0001159167 2019-03-30 0001159167 us-gaap:CommonStockMember 2018-12-29 0001159167 2018-12-29 0001159167 us-gaap:CommonStockMember 2019-12-28 0001159167 us-gaap:CommonStockMember 2019-12-29 2020-03-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-29 2020-03-28 0001159167 us-gaap:CommonStockMember 2020-03-28 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-12-29 2020-03-28 0001159167 us-gaap:RetainedEarningsMember 2020-03-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-28 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-12-28 0001159167 us-gaap:AdditionalPaidInCapitalMember 2020-03-28 0001159167 us-gaap:RetainedEarningsMember 2019-12-28 0001159167 us-gaap:RetainedEarningsMember 2019-12-29 2020-03-28 0001159167 irbt:AllOtherRegionsMember 2019-12-29 2020-03-28 0001159167 country:US 2019-12-29 2020-03-28 0001159167 country:US 2018-12-30 2019-03-30 0001159167 us-gaap:EMEAMember 2018-12-30 2019-03-30 0001159167 us-gaap:EMEAMember 2019-12-29 2020-03-28 0001159167 irbt:AllOtherRegionsMember 2018-12-30 2019-03-30 0001159167 2018-12-30 0001159167 us-gaap:CostOfSalesMember 2020-03-28 0001159167 us-gaap:OperatingExpenseMember 2020-03-28 0001159167 us-gaap:CustomerRelatedIntangibleAssetsMember 2019-12-28 0001159167 us-gaap:DistributionRightsMember 2020-03-28 0001159167 us-gaap:NoncompeteAgreementsMember 2019-12-28 0001159167 us-gaap:NoncompeteAgreementsMember 2020-03-28 0001159167 us-gaap:PatentedTechnologyMember 2020-03-28 0001159167 us-gaap:CustomerRelatedIntangibleAssetsMember 2020-03-28 0001159167 us-gaap:TradeNamesMember 2019-12-28 0001159167 us-gaap:DistributionRightsMember 2019-12-28 0001159167 us-gaap:TradeNamesMember 2020-03-28 0001159167 us-gaap:PatentedTechnologyMember 2019-12-28 0001159167 us-gaap:DesignatedAsHedgingInstrumentMember 2020-03-28 0001159167 us-gaap:NondesignatedMember 2019-12-28 0001159167 us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:NondesignatedMember 2020-03-28 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2018-12-30 2019-03-30 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2019-12-29 2020-03-28 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2019-12-29 2020-03-28 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2018-12-30 2019-03-30 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2020-03-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember 2020-03-28 0001159167 us-gaap:OtherNoncurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-03-28 0001159167 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-03-28 0001159167 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-03-28 0001159167 us-gaap:OtherNoncurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2019-12-28 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-03-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember 2019-12-28 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesRevenueNetMember 2019-12-29 2020-03-28 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesRevenueNetMember 2018-12-30 2019-03-30 0001159167 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-28 0001159167 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-28 0001159167 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-28 0001159167 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2020-03-28 0001159167 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2020-03-28 0001159167 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-03-28 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2019-12-29 2020-03-28 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2018-12-30 2019-03-30 0001159167 2020-04-24 2020-04-24 xbrli:pure irbt:segment xbrli:shares iso4217:USD xbrli:shares iso4217:USD
 
 
 

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
WASHINGTON, D.C. 20549
______________________________________________ 
FORM 10-Q
 ______________________________________________
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
FOR THE QUARTERLY PERIOD ENDED March 28, 2020
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-36414
______________________________________________ 
iROBOT CORPORATION
(Exact name of registrant as specified in its charter)
 ______________________________________________
Delaware
77-0259335
(State or other jurisdiction of
incorporation or organization)
(I.R.S. Employer
Identification No.)
8 Crosby Drive
Bedford, MA 01730
(Address of principal executive offices, including zip code)

(781) 430-3000
(Registrant’s telephone number, including area code)

Securities registered pursuant to Section 12(b) of the Act:
Title of each class
Trading Symbol(s)
Name of each exchange on which registered
Common Stock, $0.01 par value
IRBT
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  x    No  o
Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).    Yes  x    No  o
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

 
 
 
 
 
        

 
 
 

Large accelerated 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. o    
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    Yes      No  x 
The number of shares outstanding of the Registrant’s Common Stock as of April 25, 2020 was 27,884,331.

 
 
 
 
 
        




iROBOT CORPORATION
FORM 10-Q
FOR THE QUARTER ENDED MARCH 28, 2020
INDEX
 
Page
PART I: FINANCIAL INFORMATION
 
 
Item 1. Financial Statements (unaudited)
 
 
 
 
 

2






iROBOT CORPORATION
CONSOLIDATED BALANCE SHEETS
(in thousands, except per share amounts)
(unaudited)
 
 
March 28, 2020
 
December 28, 2019
ASSETS
Current assets:
 
 
 
Cash and cash equivalents
$
248,768

 
$
239,392

Short term investments
14,759

 
17,032

Accounts receivable, net
37,013

 
146,161

Inventory
147,249

 
157,347

Other current assets
41,743

 
34,285

   Total current assets
489,532

 
594,217

Property and equipment, net
79,530

 
75,988

Operating lease right-of-use assets
45,958

 
47,478

Deferred tax assets
41,071

 
41,791

Goodwill
118,377

 
118,732

Intangible assets, net
11,787

 
12,352

Other assets
33,778

 
30,195

   Total assets
$
820,033

 
$
920,753

LIABILITIES AND STOCKHOLDERS’ EQUITY
Current liabilities:
 
 
 
Accounts payable
$
77,217

 
$
116,185

Accrued expenses
55,801

 
81,768

Deferred revenue and customer advances
5,320

 
4,549

   Total current liabilities
138,338

 
202,502

Operating lease liabilities
53,044

 
54,928

Deferred tax liabilities
1,054

 
912

Other long-term liabilities
11,058

 
10,342

   Total long-term liabilities
65,156

 
66,182

   Total liabilities
203,494

 
268,684

Commitments and contingencies (Note 11)


 


Preferred stock, 5,000 shares authorized and none outstanding

 

Common stock, $0.01 par value, 100,000 shares authorized; 27,876 and 28,352 shares issued and outstanding, respectively
279

 
284

Additional paid-in capital
175,790

 
196,455

Retained earnings
434,186

 
452,321

Accumulated other comprehensive income
6,284

 
3,009

   Total stockholders’ equity
616,539

 
652,069

   Total liabilities and stockholders’ equity
$
820,033

 
$
920,753

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

3




iROBOT CORPORATION
CONSOLIDATED STATEMENTS OF OPERATIONS
(in thousands, except per share amounts)
(unaudited)
 
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Revenue
$
192,535

 
$
237,661

Cost of revenue:
 
 
 
Cost of product revenue
114,295

 
115,038

Amortization of acquired intangible assets
285

 
3,077

Total cost of revenue
114,580

 
118,115

Gross profit
77,955

 
119,546

Operating expenses:
 
 
 
Research and development
36,759

 
35,269

Selling and marketing
36,594

 
38,836

General and administrative
24,573

 
22,907

Amortization of acquired intangible assets
254

 
271

Total operating expenses
98,180

 
97,283

Operating (loss) income
(20,225
)
 
22,263

Other (expense) income, net
(19
)
 
1,280

(Loss) income before income taxes
(20,244
)
 
23,543

Income tax (benefit) expense
(2,109
)
 
1,023

Net (loss) income
$
(18,135
)
 
$
22,520

Net (loss) income per share:
 
 
 
Basic
$
(0.64
)
 
$
0.81

Diluted
$
(0.64
)
 
$
0.78

Number of shares used in per share calculations:
 
 
 
Basic
28,297

 
27,863

Diluted
28,297

 
28,763


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

4




iROBOT CORPORATION
CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME
(in thousands)
(unaudited)
 
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Net (loss) income
$
(18,135
)
 
$
22,520

Other comprehensive income (loss):
 
 
 
Net foreign currency translation adjustments
(914
)
 
(2,470
)
Net unrealized gains on cash flow hedges, net of tax
5,674

 
4,801

Net (gains) losses on cash flow hedge reclassified into earnings, net of tax
(1,468
)
 
106

Net unrealized (losses) gains on marketable securities, net of tax
(17
)
 
113

Total comprehensive (loss) income
$
(14,860
)
 
$
25,070

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

5




iROBOT CORPORATION
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY
(in thousands)
(unaudited)

 
Common Stock
 
Additional
Paid-In
Capital
 
Retained
Earnings
 
Accumulated
Other
Comprehensive
Income (Loss) ("AOCI")
 
Stockholders’
Equity
 
Shares
 
Value
 
Balance at December 28, 2019
28,352

 
$
284

 
$
196,455

 
$
452,321

 
$
3,009

 
$
652,069

Issuance of common stock under employee stock plans
40

 

 
934

 
 
 
 
 
934

Vesting of restricted stock units
193

 
2

 
(2
)
 
 
 
 
 

Stock-based compensation
 
 
 
 
5,191

 
 
 
 
 
5,191

Stock withheld to cover tax withholdings requirements upon restricted stock vesting
(45
)
 

 
(1,816
)
 
 
 
 
 
(1,816
)
Other comprehensive income
 
 
 
 
 
 
 
 
3,275

 
3,275

Directors' deferred compensation
 
 
 
 
21

 
 
 
 
 
21

Stock repurchases
(664
)
 
(7
)
 
(24,993
)
 
 
 
 
 
(25,000
)
Net loss
 
 
 
 
 
 
(18,135
)
 
 
 
(18,135
)
Balance at March 28, 2020
27,876

 
$
279

 
$
175,790

 
$
434,186

 
$
6,284

 
$
616,539


 
Common Stock
 
Additional
Paid-In
Capital
 
Retained
Earnings
 
Accumulated
Other
Comprehensive
Income (Loss) ("AOCI")
 
Stockholders’
Equity
 
Shares
 
Value
 
Balance at December 29, 2018
27,788

 
$
278

 
$
172,771

 
$
367,021

 
$
(4,748
)
 
$
535,322

Issuance of common stock under employee stock plans
77

 
1

 
2,562

 

 

 
2,563

Vesting of restricted stock units
231

 
2

 
(2
)
 

 

 

Stock-based compensation


 


 
6,864

 

 

 
6,864

Stock withheld to cover tax withholdings requirements upon restricted stock vesting
(58
)
 
(1
)
 
(7,211
)
 

 

 
(7,212
)
Other comprehensive income


 


 


 

 
2,550

 
2,550

Directors' deferred compensation


 


 
16

 

 


 
16

Net income


 


 


 
22,520

 

 
22,520

Balance at March 30, 2019
28,038

 
$
280

 
$
175,000

 
$
389,541

 
$
(2,198
)
 
$
562,623

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




6




iROBOT CORPORATION
CONSOLIDATED STATEMENTS OF CASH FLOWS
(in thousands)
(unaudited)
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Cash flows from operating activities:
 
 
 
Net (loss) income
$
(18,135
)
 
$
22,520

Adjustments to reconcile net (loss) income to net cash provided by operating activities:
 
 
 
Depreciation and amortization
7,459

 
8,724

Stock-based compensation
5,191

 
6,864

Deferred income taxes, net
(528
)
 
1,739

Other
1,531

 
1,542

Changes in operating assets and liabilities — (use) source
 
 
 
Accounts receivable
108,825

 
106,561

Inventory
9,848

 
(16,863
)
Other current assets
(5,612
)
 
(2,913
)
Accounts payable
(41,440
)
 
(52,744
)
Accrued expenses and other liabilities
(26,405
)
 
(22,727
)
Net cash provided by operating activities
40,734

 
52,703

Cash flows from investing activities:
 
 
 
Additions of property and equipment
(7,310
)
 
(6,004
)
Change in other assets
(1,560
)
 
(1,977
)
Sales and maturities of investments
3,500

 
2,380

Net cash used in investing activities
(5,370
)
 
(5,601
)
Cash flows from financing activities:
 
 
 
Proceeds from employee stock plans
934

 
2,563

Income tax withholding payment associated with restricted stock vesting
(1,816
)
 
(7,212
)
Stock repurchases
(25,000
)
 

Net cash used in financing activities
(25,882
)
 
(4,649
)
Effect of exchange rate changes on cash and cash equivalents
(106
)
 
268

Net increase in cash and cash equivalents
9,376

 
42,721

Cash and cash equivalents, at beginning of period
239,392

 
130,373

Cash and cash equivalents, at end of period
$
248,768

 
$
173,094

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

7




iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(unaudited)
1. Description of Business
iRobot Corporation ("iRobot" or the "Company") designs and builds robots that empower people to do more both inside and outside of the home. iRobot's consumer robots help people find smarter ways to clean and accomplish more in their daily lives. The Company's portfolio of solutions features proprietary technologies for the connected home and advanced concepts in cleaning, mapping and navigation, human-robot interaction and physical solutions. Leveraging this portfolio, our engineers are building an ecosystem of robots to empower the smart home. The Company’s revenue is primarily generated from product sales through a variety of distribution channels, including chain stores and other national retailers, through its on-line stores, and through value-added distributors and resellers worldwide.
2. Summary of Significant Accounting Policies
Basis of Presentation
The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP").
In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended December 28, 2019, filed with the Securities and Exchange Commission on February 13, 2020.
The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.
Recently Adopted Accounting Standards
In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13, "Measurement of Credit Losses on Financial Instruments," which amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. The Company adopted the standard effective December 29, 2019 which resulted in no adjustment to the allowance for credit losses upon adoption. See the description of the Company’s "Credit Losses" accounting policy below.
In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The Company adopted this standard effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements and related disclosures.
In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns 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 (and hosting arrangements that include an internal use software license). The Company adopted the standard using the prospective method effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements.
Recently Issued Accounting Standards
In December 2019, the FASB issued ASU No. 2019-12, "Income Taxes - Simplifying the Accounting for Income Taxes." The ASU simplifies the accounting for income taxes by removing certain exceptions to the general principles as well as clarifying and amending existing guidance to improve consistent application. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective or prospective basis. The Company intends to adopt the ASU effective January 3, 2021, and is currently evaluating the impact to the consolidated financial statements.
From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.

8

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

Impact of COVID-19
The global pandemic related to the novel coronavirus (COVID-19) has resulted in significant economic disruption. The pandemic and associated actions and measures implemented by governments around the world to slow the spread of COVID-19 have altered macroeconomic conditions and created recession-like environments around the world. These dynamics have had an adverse impact on the Company's financial and operating results. Mandated orders to "shelter-in-place" and other social distancing measures have directly and indirectly affected sales and supply chain activities during the first quarter and are likely to continue to impact the magnitude and timing of orders by retailers, resellers, distributors and consumers over the coming quarters. The Company expects to continue to be impacted as the situation remains dynamic and subject to rapid and possibly material changes. Additional impacts may arise of which the Company is not currently aware. The nature and extent of such impacts will depend on future developments, which are highly uncertain.
In light of the COVID-19 pandemic, the Company evaluated its assets for impairment, including strategic investments, goodwill and long-lived assets. The Company considered the current and expected future economic and market conditions and determined that no impairment existed as of March 28, 2020. However, the Company is unable to predict how long the pandemic will persist or the timing and speed of any economic recovery that may follow. Any measures that prolong shelter-in-place or restrict business activities are highly likely to be harmful to the consumer product retail industry in general, and consequently, to the Company's business.
Use of Estimates
The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; allowance for credit losses; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.
Credit Losses
The Company is exposed to credit losses primarily through sales of its products. The Company assesses each customer's ability to pay by conducting a credit review which includes consideration of established credit ratings or an internal assessment of the customer's creditworthiness based on an analysis of their financial information when a credit rating is not available. The Company monitors the credit exposure through active review of customer balances. The Company's expected loss methodology for accounts receivable is developed using historical collection experience, current customer credit ratings, current and future economic and market conditions and a review of the current status of customers' account balances. Although the Company historically has not experienced significant credit losses as it relates to trade accounts receivable, the COVID-19 pandemic has caused uncertainty in some customer accounts. The Company recorded its estimate of credit losses, resulting in an increase to the reserve and bad debt expense, of $4.5 million during the three months ended March 28, 2020. As of March 28, 2020 and December 28, 2019, the Company recorded an allowance for credit losses of $5.7 million and $1.2 million, respectively.
The Company's exposure to credit losses may increase if its customers are adversely affected by changes in economic pressures or uncertainty associated with local or global economic recessions or other customer-specific factors. It is possible that there could be a material adverse impact to the carrying amount of accounts receivables if the liquidity of retailers, resellers and distributors continues to be impacted by disruptions related to the COVID-19 pandemic.
Other Assets
The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes. At March 28, 2020 and December 28, 2019, other assets consisted primarily of equity securities without readily determinable fair values and an equity method investment totaling $21.3 million and $21.0 million, respectively.
Net (Loss) Income Per Share
Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income
per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock
awards as determined under the treasury stock method.


9

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

The following table presents the calculation of both basic and diluted net (loss) income per share (in thousands, except per share amounts): 
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Net (loss) income
$
(18,135
)
 
$
22,520

Basic weighted-average common shares outstanding
28,297

 
27,863

Dilutive effect of employee stock awards

 
900

Diluted weighted-average common shares outstanding
28,297

 
28,763

Net (loss) income per share - Basic
$
(0.64
)
 
$
0.81

Net (loss) income per share - Diluted
$
(0.64
)
 
$
0.78

Restricted stock units and stock options representing approximately 0.8 million and 0.0 million shares of common stock for the three months ended March 28, 2020 and March 30, 2019, respectively, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive.

3. Revenue Recognition
The Company primarily derives its revenue from product sales. The Company sells products directly to consumers through on-line stores and indirectly through resellers and distributors. Revenue is recognized upon transfer of control of promised products or services to customers, generally as title and risk of loss passes, in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. Revenue is recognized only to the extent that it is probable that a significant reversal of revenue will not occur. Taxes collected from customers, which are subsequently remitted to governmental authorities, are excluded from revenue. Shipping and handling expenses are considered fulfillment activities and are expensed as incurred.
The Company’s product portfolio includes various consumer robots, many of which are Wi-Fi connected. The consumer robots are generally highly dependent on, and interrelated with, the embedded software and cannot function without the software. As such, the consumer robots are accounted for as a single performance obligation, and the revenue is recognized at a point in time when the control is transferred to distributors, resellers or directly to end customers through on-line stores. For certain consumer robots with Wi-Fi capability ("connected robots"), each sale represents an arrangement with multiple promises consisting of the robot, an app, cloud services and potential future unspecified software upgrades. The Company has determined that the app, cloud services and potential future unspecified software upgrades represent one promised service to the customer to enhance the functionality and interaction with the robot (referred to collectively as "Cloud Services").
For contracts that contain multiple performance obligations, the transaction price is allocated to each performance obligation based on a relative standalone selling price ("SSP"). The SSP reflects the Company's best estimate of what the selling prices of performance obligations would be if they were sold regularly on a standalone basis. Revenue allocated to the robots is recognized at a point in time when control is transferred. Revenue allocated to the Cloud Services is deferred and recognized on a straight-line basis over the estimated period the software upgrades and services are expected to be provided. For contracts with a duration of greater than one year, the transaction price allocated to performance obligations that are unsatisfied as of March 28, 2020 is $4.4 million. The Company does not disclose the value of unsatisfied performance obligations for contracts with an original expected duration of one year or less.
The Company’s products generally carry a one-year or two-year limited warranty that promises customers that delivered products are as specified. The Company does not consider these assurance-type warranties as a separate performance obligation and therefore, the Company accounts for such warranties under ASC 460, "Guarantees."
The Company provides limited rights of returns for direct-to-consumer sales generated through its on-line stores and certain resellers and distributors. The Company records an allowance for product returns based on specific terms and conditions included in the customer agreements or based on historical experience and the Company's expectation of future returns. In addition, the Company may provide other credits or incentives which are accounted for as variable consideration when estimating the amount of revenue to recognize. Where appropriate, these estimates take into consideration relevant factors such as the Company’s historical experience, current contractual requirements, specific known market events and forecasted inventory level in the channels. Overall, these reserves reflect the Company’s best estimates, and the actual amounts of consideration ultimately received may differ from the Company’s estimates. Returns and credits are estimated at contract inception and updated at the end of each reporting period as additional information becomes available and only to the extent that it is probable that a significant reversal of any incremental revenue will not occur. As of March 28, 2020, the Company has reserves for product returns of $47.7 million and other credits and incentives of $83.2 million. As of December 28, 2019, the

10

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

Company had reserves for product returns of $55.2 million and other credits and incentives of $134.0 million. Revenue recognized during the three months ended March 28, 2020 related to performance obligations satisfied in a prior period was not material.
Disaggregation of Revenue
The following table provides information about disaggregated revenue by geographical region (in thousands):
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
United States
$
81,967

 
$
114,065

EMEA
66,659

 
74,569

Other
43,909

 
49,027

Total revenue
$
192,535

 
$
237,661


Contract Balances
The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):
 
March 28, 2020
 
December 28, 2019
Accounts receivable, net
$
37,013

 
$
146,161

Contract liabilities
7,706

 
6,991

The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities primarily relate to prepayments received from customers in advance of product shipments. The change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended March 28, 2020 and March 30, 2019, the Company recognized $3.6 million and $5.8 million, respectively, of the contract liability balance as revenue upon transfer of the products to customers.

4. Leases
The Company's leasing arrangements primarily consist of operating leases for its facilities which include corporate, sales and marketing and research and development offices. For leases with terms greater than 12 months, the Company records the related right-of-use asset and lease obligation at the present value of lease payments over the term. The Company's leases typically include rental escalation clauses, renewal options and/or termination options that are factored into the determination of lease payments when appropriate. The Company does not separate lease and nonlease components of contracts and excludes all variable lease payments from the measurement of right-of-use assets and lease liabilities. The Company's variable lease payments generally include usage based nonlease components. The Company's lease agreements do not contain any residual value guarantees or restrictive covenants. Leases with an initial term of 12 months or less are not recorded on the balance sheet. Lease expense is recognized on a straight-line basis over the lease term.
The Company's existing leases do not provide a readily determinable implicit rate. Therefore, the Company estimates its incremental borrowing rate to discount the lease payments based on information available at December 30, 2018 (date of initial application) or the lease commencement date for new leases post adoption. At March 28, 2020, the Company's weighted average discount rate was 3.62%, while the weighted average remaining lease term was 9.04 years.
The components of lease expense were as follows (in thousands):
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Operating lease cost
$
2,355

 
$
1,973

Variable lease cost
1,122

 
825

Total lease cost
$
3,477

 
$
2,798



11

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

Supplemental cash flow information related to leases was as follows (in thousands):
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Cash paid for amounts included in the measurement of lease liabilities:
 
 
 
Operating cash flows from operating leases
$
2,021

 
$
2,020

Right-of-use assets obtained in exchange for lease obligations:
 
 
 
Operating leases
$

 
$
52,767


Maturities of operating lease liabilities were as follows as of March 28, 2020 (in thousands):
 
Operating leases
Remainder of 2020
$
6,869

2021
8,219

2022
7,550

2023
7,102

2024
6,266

Thereafter
34,835

Total minimum lease payments
$
70,841

Less: imputed interest
10,847

Present value of future minimum lease payments
$
59,994

Less: current portion of operating lease liabilities (Note 7)
6,950

Long-term lease liabilities
$
53,044



Financial Statement Impact of Adopting ASC 842
The Company adopted ASC 842 effective December 30, 2018 using the alternative transition method. Under this alternative transition method, a company is permitted to use its effective date as the date of initial application without restating comparative period financial statements. The Company elected the package of practical expedients permitted under the transition guidance, which allowed the Company to carryforward its historical assessments of (1) whether contracts are or contain leases, (2) lease classification and (3) initial direct costs. In addition, the Company elected the practical expedient to use hindsight in determining lease term. The adoption of the new standard resulted in the recognition of right-of-use assets and lease liabilities of approximately $52.8 million and $67.3 million, respectively. The standard did not materially impact the Company's consolidated income or cash flows.

5. Inventory
Inventory consists of the following (in thousands):
 
March 28, 2020
 
December 28, 2019
Raw materials
$
182

 
$
2,825

Finished goods
147,067

 
154,522

 
$
147,249

 
$
157,347



6. Goodwill and Other Intangible Assets
The following table summarizes the activity in the carrying amount of goodwill for the three months ended March 28, 2020 (in thousands):
Balance as of December 28, 2019
$
118,732

Effect of foreign currency translation
(355
)
Balance as of March 28, 2020
$
118,377



12

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)


Intangible assets consisted of the following (in thousands):
 
March 28, 2020
 
December 28, 2019
 
Cost
 
Accumulated
Amortization
 
Net
 
Cost
 
Accumulated
Amortization
 
Net
Completed technology
$
28,100

 
$
24,890

 
$
3,210

 
$
28,100

 
$
24,605

 
$
3,495

Tradename
100

 
100

 

 
100

 
100

 

Customer relationships
11,064

 
2,529

 
8,535

 
11,095

 
2,302

 
8,793

Reacquired distribution rights
31,549

 
31,549

 

 
31,680

 
31,680

 

Non-competition agreements
254

 
212


42

 
256

 
192

 
64

Total
$
71,067

 
$
59,280

 
$
11,787

 
$
71,231

 
$
58,879

 
$
12,352


Amortization expense related to acquired intangible assets was $0.5 million and $3.3 million for the three months ended March 28, 2020 and March 30, 2019, respectively.
The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):
 
Cost of Revenue
 
Operating Expenses
 
Total
Remainder of 2020
$
855

 
$
743

 
$
1,598

2021
1,140

 
779

 
1,919

2022
915

 
779

 
1,694

2023
240

 
779

 
1,019

2024
60

 
779

 
839

Thereafter

 
4,718

 
4,718

Total
$
3,210

 
$
8,577

 
$
11,787



7. Accrued Expenses
Accrued expenses consisted of the following at (in thousands):
 
March 28, 2020
 
December 28, 2019
Accrued other compensation
$
16,232

 
$
13,331

Accrued warranty
13,998

 
13,856

Current portion of operating lease liabilities
6,950

 
6,843

Accrued bonus
3,820

 
12,541

Accrued direct fulfillment costs
3,536

 
10,582

Accrued sales and other indirect taxes payable
2,460

 
12,440

Accrued federal and state income taxes
1,722

 
3,378

Accrued other
7,083

 
8,797

 
$
55,801

 
$
81,768



8. Derivative Instruments
The Company operates internationally and, in the normal course of business, is exposed to fluctuations in foreign currency exchange rates. The foreign currency exposures typically arise from transactions denominated in currencies other than the functional currency of the Company's operations, primarily the British Pound, Canadian Dollar, Euro and Japanese Yen. The Company uses derivative instruments that are designated in cash flow hedge relationships to reduce or eliminate the effects of foreign exchange rate changes on sales. These contracts typically have maturities of thirty-seven months or less. At March 28, 2020 and December 28, 2019, the Company had outstanding cash flow hedges with a total notional value of $388.4 million and $424.6 million, respectively.

13

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

The Company also enters into economic hedges that are not designated as hedges from an accounting standpoint to reduce or eliminate the effects of foreign exchange rate changes typically related to short term trade receivables and payables. These contracts typically have maturities of twelve months or less. At March 28, 2020 and December 28, 2019, the Company had outstanding economic hedges with a total notional value of $72.5 million and $58.4 million, respectively.
The fair values of derivative instruments are as follows (in thousands):
 
 
 
Fair Value
 
Classification
 
March 28, 2020
 
December 28, 2019
Derivatives not designated as hedging instruments:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
1,756

 
$
1,855

Foreign currency forward contracts
Accrued expenses
 
559

 
297

Derivatives designated as cash flow hedges:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
7,398

 
$
4,347

Foreign currency forward contracts
Other assets
 
11,737

 
9,112

Foreign currency forward contracts
Accrued expenses
 

 
47

Foreign currency forward contracts
Long-term liabilities
 

 
414


Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):
 
 
 
Three Months Ended
 
Classification
 
March 28, 2020
 
March 30, 2019
(Loss) gain recognized in income
Other (expense) income, net
 
$
(545
)
 
$
433



The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): 
 
 
Gain (loss) recognized in OCI on Derivative (1)
 
 
Three Months Ended
 
 
March 28, 2020
 
March 30, 2019
Foreign currency forward contracts
 
$
7,566

 
$
6,404


(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
 
 
Gain (loss) recognized in earnings on cash flow hedging instruments
 
 
Three Months Ended
 
 
March 28, 2020
 
March 30, 2019
 
 
Revenue
 
Revenue
Consolidated statements of operations in which the effects of cash flow hedging instruments are recorded
 
$
192,535

 
$
237,661

 
 
 
 
 
Gain (loss) on cash flow hedging relationships:
 
 
 
 
Foreign currency forward contracts:
 
 
 
 
Amount of gain (loss) reclassified from AOCI into earnings
 
$
1,957

 
$
(144
)



14

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

9. Fair Value Measurements
The Company’s financial assets and liabilities measured at fair value on a recurring basis were as follows (in thousands):
 
Fair Value Measurements as of
March 28, 2020

Level 1
 
Level 2 (1)
 
Level 3 (2)
Assets:
 
 
 
 
 
Money market funds
$
120,144

 
$

 
$

Corporate bonds, $13,489 at cost (3)

 
13,509

 

Convertible notes

 

 
1,250

Derivative instruments (Note 8)

 
20,891

 

Total assets measured at fair value
$
120,144

 
$
34,400

 
$
1,250

 
 
 
 
 
 
Liabilities:
 
 
 
 
 
Derivative instruments (Note 8)
$

 
$
559

 
$

Total liabilities measured at fair value
$

 
$
559

 
$


 
Fair Value Measurements as of
December 28, 2019
 
Level 1
 
Level 2 (1)
 
Level 3 (2)
Assets:
 
 
 
 
 
Corporate and government bonds, $17,016 at cost
$

 
$
17,032

 
$

Derivative instruments (Note 8)

 
15,314

 

Total assets measured at fair value
$

 
$
32,346

 
$

 
 
 
 
 
 
Liabilities:
 
 
 
 
 
Derivative instruments (Note 8)
$

 
$
758

 
$

Total liabilities measured at fair value
$

 
$
758

 
$

(1)
Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
(2)
Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities.
(3)
As of March 28, 2020, the Company’s investments had maturity dates ranging from May 2020 to March 2021.
    
The following table provides a summary of changes in fair value of our Level 3 investment for the three months ended March 28, 2020 (in thousands):
Balance as of December 28, 2019
$

Investment in convertible notes
1,250

Balance as of March 28, 2020
$
1,250




15

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

10. Stockholders' Equity
Share Repurchase Activity
The Company's Board of Directors approved a stock repurchase program authorizing up to $200.0 million in share repurchases from time to time until September 2021. On March 10, 2020, the Company entered into a Rule 10b5-1 plan to repurchase $25.0 million of common stock in the aggregate beginning March 13, 2020 and ending April 30, 2020. As of March 28, 2020, the Company repurchased 663,602 shares of its common stock at an average price of $37.65, totaling $25.0 million.

11. Commitments and Contingencies
Legal Proceedings
From time to time and in the ordinary course of business, the Company is subject to various claims, charges and litigation. The outcome of litigation cannot be predicted with certainty and some lawsuits, claims or proceedings may be disposed of unfavorably to us, which could materially affect our financial condition or results of operations. For the following litigation matters, a liability is not probable or the amount cannot be reasonably estimated and therefore accruals have not been made.
On October 24, 2019, purported Company shareholder Miramar Firefighters’ Pension Fund filed a putative class action in the U.S. District Court for the Southern District of New York against the Company and certain of its directors and officers, captioned Miramar Firefighters’ Pension Fund v. iRobot Corporation, et al., No. 1:19-cv-09837.  The case has been transferred to the U.S. District Court for the District of Massachusetts. A similar case captioned Campbell v. iRobot Corporation, et al., No. 1:19-cv-12483 was also filed in the U.S. District Court for the Southern District of New York and subsequently transferred to the U.S. District Court for the District of Massachusetts. On January 24, 2020, the Court consolidated the Miramar and Campbell cases and appointed a lead plaintiff and lead plaintiff's Counsel. On April 3, 2020, the plaintiff filed an amended complaint alleging violations of Sections 10(b) and 20(a) of the Securities Exchange Act of 1934 and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the impact of competition and Section 301 tariffs on the Company’s financial performance.
On December 20, 2019, purported Company shareholders David Katz and Thomas Wightman, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court for Southern District of New York against the Company and certain of its directors and officers, captioned David Katz and Thomas Wightman, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:19-cv-11692. The complaint alleges breaches of fiduciary duties, unjust enrichment, violations of Sections 10(b) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief. This case has been transferred to the U.S. District Court for the District of Massachusetts.
On January 9, 2020, purported Company shareholder Robert Truman, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court for the District of Massachusetts against the Company and certain of its directors and officers, captioned Robert Truman, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10034. The complaint alleges breaches of fiduciary duties, unjust enrichment, abuse of control, gross mismanagement, waste of corporate assets, and violations of Sections 10(b), 14(a) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief.
On January 22, 2020, purported Company shareholder Alexa Ruhfass, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court of the District of Massachusetts against the Company and certain of its directors and officers, captioned Alexa Ruhfass, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10133. The complaint alleges breaches of fiduciary duties, unjust enrichment, waste of corporate assets, and violations of Sections 14(a) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief.
On February 10, 2020, purported Company shareholder William Tasco, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court for the District of Massachusetts against the Company and certain of its directors and officers, captioned William Tasco, derivatively on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-

16

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

cv-10253. The complaint alleges breaches of fiduciary duties, unjust enrichment, abuse of control, gross mismanagement, waste of corporate assets, and violations of Sections 10(b), 14(a) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief.
Outstanding Purchase Orders
At March 28, 2020, the Company had outstanding purchase orders aggregating approximately $154.0 million. The purchase orders, the majority of which are with the Company's contract manufacturers for the purchase of inventory in the normal course of business, are for manufacturing and non-manufacturing related goods and services, and are generally cancelable without penalty. In circumstances where the Company has determined that it has financial exposure associated with any of these commitments, the Company records a liability in the period in which that exposure is identified.
Guarantees and Indemnification Obligations
The Company enters into standard indemnification agreements in the ordinary course of business. Pursuant to these agreements, the Company indemnifies and agrees to reimburse the indemnified party for losses incurred by the indemnified party, generally the Company’s customers, in connection with any patent, copyright, trade secret or other proprietary right infringement claim by any third party. The term of these indemnification agreements is generally perpetual any time after execution of the agreement. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is unlimited. The Company has never incurred costs to defend lawsuits or settle claims related to these indemnification agreements. As a result, the Company believes the estimated fair value of these agreements is minimal. Accordingly, the Company has no liabilities recorded for these agreements as of March 28, 2020 and December 28, 2019, respectively.
Warranty
The Company provides warranties on most products and has established a reserve for warranty obligations based on estimated warranty costs. The reserve is included as part of accrued expenses (Note 7) in the accompanying consolidated balance sheets.    
Activity related to the warranty accrual was as follows (in thousands):
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Balance at beginning of period
$
13,856

 
$
11,964

Provision
4,475

 
2,652

Warranty usage
(4,333
)
 
(2,988
)
Balance at end of period
$
13,998

 
$
11,628



12. Income Taxes
The Company’s effective income tax rate for the three months ended March 28, 2020 and March 30, 2019, was 10.4% and 4.3%, respectively. The increase in the effective income tax rate was primarily due to the recognition of a valuation allowance on certain state income tax credits and lower tax benefits recognized related to stock-based compensation.
The Company's effective income tax rate of 10.4% for the three months ended March 28, 2020 differed from the federal statutory tax rate of 21% primarily due to the recognition of a valuation allowance on certain state income tax credits and tax expense related to stock-based compensation.
On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act ("CARES Act") was enacted in response to the COVID-19 pandemic. The Company is currently evaluating the impact of the CARES Act, but at present does not expect the CARES Act would result in any material tax benefit.

13. Industry Segment, Geographic Information and Significant Customers
The Company operates as one operating segment. The Company's consumer robots products are offered to consumers through a variety of distribution channels, including chain stores and other national retailers, through its on-line stores, and through value-added distributors and resellers worldwide.

17

iROBOT CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS - (continued)

Significant Customers
For the three months ended March 28, 2020 and March 30, 2019, the Company generated 13.4% and 16.1% of total revenue, respectively, from one of its retailers (Amazon).

14. Subsequent Event
On April 24, 2020, the Company was granted a temporary exclusion from Section 301 List 3 tariffs by the United States Trade Representative. This exclusion eliminates the 25% tariff on Roomba products until August 7, 2020 and entitles the Company to a refund of approximately $57.0 million in tariffs paid since the date the Section 301 List 3 tariffs were imposed. No amounts have been recorded in the consolidated financial statements as of and for the three months ended March 28, 2020.

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

The information contained in this section has been derived from our consolidated financial statements and should be read together with our consolidated financial statements and related notes included elsewhere in this Quarterly Report on Form 10-Q. This Quarterly Report on Form 10-Q contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities and Exchange Act of 1934, as amended, or the Exchange Act, and are subject to the "safe harbor" created by those sections. In particular, statements contained in this Quarterly Report on Form 10-Q that are not historical facts, including, but not limited to statements concerning the impact of cost reduction actions and potential savings, new product sales, the timing of product launches, product development and offerings, our consumer robots, our competition, our strategy, our market position, the impact of tariffs, the recognition and timing of tariff refunds, the impact of COVID-19 on our business, our supply chain, market acceptance of our products, seasonal factors, revenue recognition, the impact of new accounting standards, credit losses, our profits, growth of our revenues, composition of our revenues, our cost of revenues, units shipped, average selling prices, operating expenses, selling and marketing expenses, general and administrative expenses, research and development expenses, compensation costs, our projected income tax rate, our credit and letter of credit facilities and expected use thereof, our valuations of investments, valuation and composition of our stock-based awards, and liquidity, constitute forward-looking statements and are made under these safe harbor provisions. Some of the forward-looking statements can be identified by the use of forward-looking terms such as "believes," "expects," "may," "will," "should," "could," "seek," "intends," "plans," "estimates," "anticipates," or other comparable terms. Forward-looking statements involve inherent risks and uncertainties, which could cause actual results to differ materially from those in the forward-looking statements. We urge you to consider the risks and uncertainties discussed in greater detail under the heading "Risk Factors" in this Quarterly Report on Form 10-Q and in Part I, "Item 1A. Risk Factors" in our Annual Report on Form 10-K for the year ended December 28, 2019 in evaluating our forward-looking statements. We have no plans to update our forward-looking statements to reflect events or circumstances after the date of this report. We caution readers not to place undue reliance upon any such forward-looking statements, which speak only as of the date made.

Overview
iRobot is a leading consumer robot company that designs and builds robots that empower people to do more both inside and outside of the home. Our consumer robots help people find smarter ways to clean and accomplish more in their daily lives. Our portfolio of solutions features proprietary technologies for the connected home and advanced concepts in cleaning, mapping and navigation, human-robot interaction and physical solutions. Leveraging this portfolio, our engineers are building an ecosystem of robots to empower the smart home. For more than 25 years, we have been a pioneer in the robotics and consumer products industries. We sell our robots through a variety of distribution channels, including chain stores and other national retailers, through our on-line store, and through value-added distributors and resellers worldwide.
As of March 28, 2020, we had 1,147 full-time employees. We have developed expertise in the disciplines necessary to design, build, sell and support durable, high-performance and cost-effective robots through the close integration of software, electronics and hardware. Our core technologies serve as reusable building blocks that we adapt and expand to create next-generation robotic platforms. We believe that this approach accelerates the time to market, while also reducing the costs and risk associated with product development. Our significant expertise in consumer needs, robot design, engineering and smart home technologies and trends positions us to capitalize on the growth we expect in the market for robot-based consumer products.
Our continued success depends upon our ability to respond to a number of challenges in the consumer robots market. We believe the most significant of these include increasing competition and our ability to successfully develop and introduce products and product enhancements into both new and existing markets. Furthermore, we believe that our efforts to cost-optimize our products and diversify our contract manufacturing and broader supply chain will continue to play an important

18




role in maintaining competitive product pricing, reducing supply-chain risk and limiting China-related tariff exposure, among other factors that impact our financial condition and results of operations.
During the first quarter of 2020, the global pandemic related to the novel coronavirus (COVID-19) presented significant challenges and adversely impacted our business and operating results. The pandemic directly and indirectly disrupted certain sales and supply chain activities and impacted our ability to address those challenges during the first quarter, which resulted in first-quarter revenue and a net loss per share that was below our original targets. The pandemic has continued to have an adverse impact during the beginning of the second quarter of 2020, and we expect that the pandemic will continue to have an adverse impact over the coming quarters, including on the magnitude and timing of orders by retailers, resellers, distributors and consumers. In light of the adverse impact of COVID-19 on our business and on macroeconomic conditions domestically and internationally, along with the uncertainty associated with a potential recovery, we implemented cost-reduction actions in April 2020 that are aimed at generating net savings of approximately $30.0 million in 2020 while enabling us to accelerate investment in key initiatives. Our actions to date included reducing our workforce by approximately 5%, furloughing retail-facing marketing staff in Europe, reducing hiring plans, suspending go-to-market and development plans for our Terra robot mower, adjusting short-term incentive compensation and curtailing working media spending. We are unable at this time to predict the full impact of COVID-19 on our operations, liquidity and financial results, and, depending on the magnitude and duration of the COVID-19 pandemic, such impact may be material. We expect to see an adverse impact to our revenue, earnings and cash flows due to the COVID-19 pandemic in the second quarter, which may also continue into the third quarter or beyond. Accordingly, current results and financial condition discussed herein may not be indicative of future operating results and trends. Refer to "Risk Factors" for further discussion of the impact of the COVID-19 pandemic on our business.
iRobot has continued to advance innovation and bring new products to market in recent quarters. During the first quarter of 2019, we launched Roomba i7 and i7+ in EMEA, Japan and China. During the second quarter of 2019, we successfully launched two new cleaning robots in the U.S., the Roomba s9 and s9+, which, along with the features of the Roomba i7 and i7+, are robot vacuums that can clean deep into corners and along edges, and the Braava jet m6 robot mop, which can tackle multiple rooms and large spaces with advanced navigation and mapping capabilities. Together, these two robots can use Imprint Link Technology to talk to each other, automatically vacuuming and then mopping without additional action by the user. During the third quarter of 2019, the s9 and s9+ were launched in EMEA, while the m6 was launched in both EMEA and Japan. The s9 and s9+ were launched in Japan and all other target markets in early 2020.

Critical Accounting Policies and Estimates
The preparation of financial statements in conformity with generally accepted accounting principles in the United States requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition including performance obligations, variable consideration and other obligations such as product returns and incentives; allowance for credit losses; warranty costs; valuation of goodwill and acquired intangible assets; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. We base these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that we believe are reasonable under the circumstances. Actual results may differ from our estimates. Additional information about these critical accounting policies may be found in the "Management’s Discussion and Analysis of Financial Condition and Results of Operations" section included in our Annual Report on Form 10-K for the fiscal year ended December 28, 2019.
Effective December 29, 2019, we adopted the new credit losses standard under Accounting Standards Codification 326. The new standard did not result in an adjustment upon adoption. Although the Company historically has not experienced significant credit losses as it relates to trade accounts receivable, the COVID-19 pandemic has caused uncertainty in some customer accounts. As a result, the Company recorded its estimate of credit losses, resulting in an increase to the reserve and bad debt expense of $4.5 million during the three months ended March 28, 2020. As of March 28, 2020, the Company has an allowance for credit losses of $5.7 million. We have updated our accounting policy in Note 2 of the consolidated financial statements.

19




Overview of Results of Operations
The following table sets forth our results of operations as a percentage of revenue:
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Revenue
100.0
 %
 
100.0
%
Cost of revenue:
 
 
 
Cost of product revenue
59.4

 
48.4

Amortization of acquired intangible assets
0.1

 
1.3

Total cost of revenue
59.5

 
49.7

Gross profit
40.5

 
50.3

Operating expenses:
 
 
 
Research and development
19.1

 
14.8

Selling and marketing
19.0

 
16.4

General and administrative
12.8

 
9.6

Amortization of acquired intangible assets
0.1

 
0.1

Total operating expenses
51.0

 
40.9

Operating (loss) income
(10.5
)
 
9.4

Other (expense) income, net

 
0.5

(Loss) income before income taxes
(10.5
)
 
9.9

Income tax (benefit) expense
(1.1
)
 
0.4

Net (loss) income
(9.4
)%
 
9.5
%
Comparison of Three Months Ended March 28, 2020 and March 30, 2019
Revenue
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
 
Dollar
Change
 
Percent
Change
 
 
 
(In thousands)
 
 
Revenue
$
192,535

 
$
237,661

 
$
(45,126
)
 
(19.0
)%
Revenue for the three months ended March 28, 2020 decreased $45.1 million to $192.5 million, or 19.0%, compared to $237.7 million for the three months ended March 30, 2019. Our revenue during the first quarter of 2020 was negatively affected primarily by our ability to fulfill all first-quarter demand for certain products due to design-driven supply chain challenges that were further complicated by the impact of COVID-19 on our organization, our contract manufacturers and some suppliers. Our revenue was also affected to a much lesser extent by suboptimal manufacturing volumes for the first quarter of 2020 in China as our contract manufacturers did not ramp back up to full capacity until late March. Another secondary factor impacting first-quarter revenue was order reductions, delays and cancelations for our products by retailers resulting from the COVID-19 pandemic. The average gross selling price decreased 1.9% for the three months ended March 28, 2020 as compared to the three months ended March 30, 2019. Total robots shipped in the three months ended March 28, 2020 decreased 17.7% to approximately 0.7 million units, compared to the three months ended March 30, 2019. In the three months ended March 28, 2020, domestic revenue decreased $32.1 million, or 28.1%, and international revenue decreased $13.0 million, or 10.5%, as compared to the three months ended March 30, 2019. We anticipate that revenue in the second quarter of 2020 will be modestly below our first quarter results given the impact of the pandemic on our retail partners and consumers.

20




Cost of Product Revenue
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
Cost of product revenue
$
114,295

 
$
115,038

 
$
(743
)
 
(0.6
)%
As a percentage of revenue
59.4
%
 
48.4
%
 
 
 
 
Cost of product revenue decreased slightly to $114.3 million in the three months ended March 28, 2020, compared to $115.0 million in the three months ended March 30, 2019. The $0.7 million decrease in cost of product revenue is primarily due to the decrease in revenue, offset by the higher Section 301 List 3 tariffs on our Roomba products imported into the United States from China. Effective September 24, 2018, these tariffs were set at 10%, and effective May 10, 2019, these tariffs were further increased to 25%. On April 24, 2020, we were granted a temporary exclusion from Section 301 List 3 tariffs by the United States Trade Representative. This exclusion eliminates the 25% tariff on Roomba products until August 7, 2020 and entitles us to a refund of approximately $57.0 million in tariffs paid since the date the Section 301 List 3 tariffs were imposed, none of which have been recorded as a benefit in the consolidated financial statements as of and for the three months ended March 28, 2020. We expect to recognize this one-time benefit of approximately $47.0 million of tariffs paid in 2018 and 2019 to cost of product revenue in the quarter ending June 27, 2020.
Gross Profit
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
Gross profit
$
77,955

 
$
119,546

 
$
(41,591
)
 
(34.8
)%
Gross margin
40.5
%
 
50.3
%
 
 
 
 
Gross margin decreased to 40.5% in the three months ended March 28, 2020 compared to 50.3% in the three months ended March 30, 2019. The decrease in gross margin is primarily related to increased promotional activity and pricing reductions for certain products and to a lesser extent by higher tariff expenses. We anticipate gross margin in future quarters to continue to be lower than the comparable periods of 2019 due primarily to higher promotional costs and lower pricing, offset by relief from the temporary exclusion of tariffs through August 7, 2020. As noted under "Cost of Product Revenue" above, we expect that our gross profit for the second quarter ending June 27, 2020 will benefit from the recognition of the refund of approximately $47.0 million in tariffs that were paid in 2018 and 2019, which will be recorded to cost of product revenue.
Research and Development
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
Research and development
$
36,759

 
$
35,269

 
$
1,490

 
4.2
%
As a percentage of revenue
19.1
%
 
14.8
%
 
 
 
 
Research and development expenses increased $1.5 million, or 4.2%, to $36.8 million (19.1% of revenue) in the three months ended March 28, 2020 from $35.3 million (14.8% of revenue) in the three months ended March 30, 2019. This increase is primarily due to increases in people-related and program-related costs of $0.9 million and $0.7 million, respectively.
Selling and Marketing
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
Selling and marketing
$
36,594

 
$
38,836

 
$
(2,242
)
 
(5.8
)%
As a percentage of revenue
19.0
%
 
16.4
%
 
 
 
 

21




Selling and marketing expenses decreased $2.2 million, or 5.8%, to $36.6 million (19.0% of revenue) in the three months ended March 28, 2020 from $38.8 million (16.4% of revenue) in the three months ended March 30, 2019. This decrease was primarily attributable to delayed implementation of certain marketing activities as a result of the pandemic. We expect selling and marketing costs will increase during the second quarter of 2020, consistent with historical trending as we accelerate working media to drive demand around the Mother’s Day holiday and other events in the second quarter.
General and Administrative
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
General and administrative
$
24,573

 
$
22,907

 
$
1,666

 
7.3
%
As a percentage of revenue
12.8
%
 
9.6
%
 
 
 
 
General and administrative expenses increased $1.7 million, or 7.3%, to $24.6 million (12.8% of revenue) in the three months ended March 28, 2020 from $22.9 million (9.6% of revenue) in the three months ended March 30, 2019 primarily attributable to an increase of $4.5 million in the allowance for credit losses associated with the uncertainty of collection from certain customer accounts resulting from the global pandemic, offset by lower stock-based and other incentive compensation costs of $2.3 million.
Amortization of Acquired Intangible Assets
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
Cost of revenue
$
285

 
$
3,077

 
$
(2,792
)
 
(90.7
)%
Operating expense
254

 
271

 
(17
)
 
(6.3
)%
Total amortization expense
$
539

 
$
3,348

 
$
(2,809
)
 
(83.9
)%
As a percentage of revenue
0.3
%
 
1.4
%
 
 
 
 
The decrease in amortization of acquired intangible assets in the three months ended March 28, 2020 as compared to the three months ended March 30, 2019, was primarily related to the reacquired distribution rights intangible asset which was fully amortized in the fourth quarter of 2019.
Other (Expense) Income, Net
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
Other (expense) income, net
$
(19
)
 
$
1,280

 
$
(1,299
)
 
(101.5
)%
As a percentage of revenue
 %
 
0.5
%
 
 
 
 
Other (expense) income, net, amounted to $0.0 million and $1.3 million for the three months ended March 28, 2020 and March 30, 2019, respectively. Other income, net includes interest income, interest expense, foreign currency gains (losses) as well as gains (losses) from strategic investments.

Income Tax (Benefit) Expense
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
 
Dollar
Change
 
Percent
Change
 
(In thousands)
Income tax (benefit) expense
$
(2,109
)
 
$
1,023

 
$
(3,132
)
 
(306.2
)%
Effective income tax rate
10.4
%
 
4.3
%
 

 



22




We recorded an income tax benefit of $2.1 million and income tax expense of $1.0 million for the three months ended March 28, 2020 and March 30, 2019, respectively. The $2.1 million income tax benefit for the three months ended March 28, 2020 resulted in an effective income tax rate of 10.4%. The $1.0 million income tax expense for the three months ended March 30, 2019 resulted in an effective income tax rate of 4.3%. The increase in the effective income tax rate was primarily due to the recognition of a valuation allowance on certain state income tax credits and lower tax benefits recognized related to stock-based compensation.
Our effective income tax rate of 10.4% for the three months ended March 28, 2020 differed from the federal statutory tax rate of 21% primarily due to the recognition of a valuation allowance on certain state income tax credits and tax expense related to stock-based compensation.
On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act ("CARES Act") was enacted in response to the COVID-19 pandemic. We are currently evaluating the impact of the CARES Act, but at present do not expect the CARES Act would result in any material tax benefit.

Liquidity and Capital Resources
At March 28, 2020, our principal sources of liquidity were cash and cash equivalents totaling $248.8 million and short-term investments of $14.8 million. Our working capital, which represents our total current assets less total current liabilities, was $351.2 million as of March 28, 2020, compared to $321.8 million as of March 30, 2019.
We manufacture and distribute our products through contract manufacturers and third-party logistics providers. We believe this approach gives us the advantages of relatively low capital investment and significant flexibility in scheduling production and managing inventory levels. By leasing our office facilities, we also minimize the cash needed for expansion. Accordingly, our capital spending is generally limited to machinery and tooling, leasehold improvements, business applications software and computer and equipment. In the three months ended March 28, 2020 and March 30, 2019, we spent $7.3 million and $6.0 million, respectively, on capital expenditures.
Our strategy for delivering consumer products to our distributors and retail customers gives us the flexibility to provide container shipments directly from our contract manufacturers in Southern China and Malaysia to our customers and, alternatively, allows our distributors and certain retail customers to take possession of product on a domestic basis. Accordingly, our inventory consists of goods shipped to our third-party logistics providers for the fulfillment of distributor, retail and direct-to-consumer sales. Our contract manufacturers are also responsible for purchasing and stocking components required for the production of our products, and they typically invoice us when the finished goods are shipped.
As a result of the COVID-19 pandemic, we have taken, and are continuing to take, certain actions to increase liquidity and strengthen our financial position. We implemented cost-reduction actions in April 2020 that are aimed at generating net savings of approximately $30.0 million in 2020 while enabling us to accelerate investment in key initiatives. Our actions included reducing our workforce by approximately 5%, furloughing retail-facing marketing staff in Europe, reducing hiring plans, suspending go-to-market and development plans for our Terra robot mower, adjusting short-term incentive compensation and curtailing working media spending. On April 24, 2020, we were granted a temporary exclusion from Section 301 List 3 tariffs by the United States Trade Representative. This exclusion eliminates the 25% tariff on Roomba products until August 7, 2020 and entitles us to a refund of approximately $57.0 million in tariffs paid since the date the Section 301 List 3 tariffs were imposed, of which approximately $47.0 million will be recognized as a benefit to cost of product revenue in the quarter ending June 27, 2020. We expect to receive the refund of approximately $57.0 million within the next twelve months, which we believe is likely to be distributed in multiple payments, subject to the timing of releases from U.S. Customs.
We historically experience cash outflows during the second and third quarters, and our cash burn will likely be exacerbated over the next two quarters given our anticipated near-term fundamentals and the need to build inventory in advance of the holiday sales season. While this is likely to require drawing down on our revolving line of credit, we expect that any borrowing will be short-term in nature if and to the extent order levels recover during the second half of the year.
Cash provided by operating activities
Net cash provided by operating activities for the three months ended March 28, 2020 was $40.7 million, of which the principal components were favorable changes in working capital of $45.2 million and non-cash charges of $13.7 million, partially offset by our net loss of $18.1 million resulting directly and indirectly from the challenges associated with COVID-19. The changes in working capital include decreases in accounts receivable, inventory and accounts payable and accrued expenses of $108.8 million, $9.8 million and $67.8 million, respectively.

23




Cash used in investing activities
Net cash used in investing activities for the three months ended March 28, 2020 was $5.4 million. During the three months ended March 28, 2020, we invested $7.3 million in the purchase of property and equipment, including machinery and tooling for new products. In addition, we made strategic investments of $1.6 million, while proceeds from the sales and maturities of marketable securities amounted to $3.5 million.
Cash used in financing activities
Net cash used in financing activities for the three months ended March 28, 2020 was $25.9 million, which primarily reflects the repurchase of 663,602 shares of our common stock for $25.0 million under the stock repurchase program.
Working Capital Facilities
Credit Facility
In June 2018, we entered into a new agreement with Bank of America, N.A., increasing the amount of our unsecured revolving line of credit from $75.0 million to $150.0 million and extending the term of the credit facility to June 2023. As of March 28, 2020, we had no outstanding borrowings under our revolving credit facility. The revolving line of credit is available to fund working capital and other corporate purposes. The interest on loans under our credit facility accrues, at our election, at either (1) LIBOR plus a margin, currently equal to 1.0%, based on our ratio of indebtedness to Adjusted EBITDA (the "Eurodollar Rate"), or (2) the lender’s base rate. The lender’s base rate is equal to the highest of (1) the federal funds rate plus 0.5%, (2) the lender’s prime rate and (3) the Eurodollar Rate plus 1.0%. In the event that LIBOR is discontinued as expected in 2021, we expect the interest rates for our debt following such event will be based on either alternate base rates or agreed upon replacement rates. While we do not expect a LIBOR discontinuation would affect our ability to borrow or maintain already outstanding borrowings, it could result in higher interest rates.
The credit facility contains customary terms and conditions for credit facilities of this type, including restrictions on our ability to incur or guarantee additional indebtedness, create liens, enter into transactions with affiliates, make loans or investments, sell assets, pay dividends or make distributions on, or repurchase, our stock, and consolidate or merge with other entities. In addition, we are required to meet certain financial covenants customary with this type of agreement, including maintaining a maximum ratio of indebtedness to Adjusted EBITDA and a minimum specified interest coverage ratio.
The credit facility contains customary events of default, including for payment defaults, breaches of representations, breaches of affirmative or negative covenants, cross defaults to other material indebtedness, bankruptcy and failure to discharge certain judgments. If a default occurs and is not cured within any applicable cure period or is not waived, our obligations under the credit facility may be accelerated.
As of March 28, 2020, we were in compliance with all covenants under the revolving credit facility.
Lines of Credit
We have an unsecured letter of credit facility with Bank of America, N.A., available to fund letters of credit up to an aggregate outstanding amount of $5.0 million. As of March 28, 2020, we had letters of credit outstanding of $0.5 million under our letter of credit facility. 
We have an unsecured guarantee line of credit with Mizuho, Bank Ltd., available to fund import tax payments up to an aggregate outstanding amount of 220.0 million Japanese Yen. As of March 28, 2020, we had no outstanding balance under the guarantee line of credit. 
Working Capital and Capital Expenditure Needs
We currently have no material cash commitments, except for normal recurring trade payables, expense accruals, capital expenditures and operating leases, all of which we anticipate funding through working capital, funds provided by operating activities and our existing revolving line of credit. We believe our outsourced approach to manufacturing provides us with flexibility in both managing inventory levels and financing our inventory. We believe our existing cash and cash equivalents, short-term investments, and funds available through our revolving line of credit will be sufficient to meet our working capital and capital expenditure needs over at least the next twelve months. In the event our revenue plan does not meet our expectations, we may eliminate or curtail expenditures to mitigate the impact on our working capital. Our future capital requirements will depend on many factors, including our rate of revenue growth or decline, the expansion or contraction of our marketing and sales activities, the timing and extent of spending to support product development efforts, the timing of introductions of new products and enhancements to existing products, the acquisition of new capabilities or technologies, the continuing market acceptance of our products and services, and the impact of COVID-19 on our business. Moreover, to the extent existing cash and cash equivalents, short-term investments, cash from operations, and cash from short-term borrowing are insufficient to fund our future activities, we may need to raise additional funds through public or private equity or debt financing. As part of our business strategy, we may consider additional acquisitions of companies, technologies and products,

24




which could also require us to seek additional equity or debt financing. Additional funds may not be available on terms favorable to us or at all.
Contractual Obligations
The disclosure of our contractual obligations and commitments is set forth under the heading "Management's Discussion and Analysis of Financial Condition and Results of Operations - Contractual Obligations" in our Annual Report on Form 10-K for the year ended December 28, 2019. Our principal commitments generally consist of obligations under our credit facility, leases for office space and minimum contractual obligations. Other obligations consist of primarily of subscription services. There have been no material changes in our contractual obligations and commitments since December 28, 2019.
Off-Balance Sheet Arrangements
As of March 28, 2020, we had no off-balance sheet arrangements as defined in Item 303(a)(4) of Regulation S-K.
Recently Adopted Accounting Pronouncements
See Note 2 to the Consolidated Financial Statements for a discussion of recently adopted accounting pronouncements.
Recently Issued Accounting Pronouncements
See Note 2 to the Consolidated Financial Statements for a discussion of recently issued accounting pronouncements.
Item 3. Quantitative and Qualitative Disclosure About Market Risk
Exchange Rate Sensitivity
Our international revenue and expenses are denominated in multiple currencies, including British Pounds, Canadian Dollars, Chinese Renminbi, Euros and Japanese Yen. As such, we have exposure to adverse changes in exchange rates associated with the revenue and operating expenses of our foreign operations. Any fluctuations in other currencies will have minimal direct impact on our international revenue.
In addition to international business conducted in foreign currencies, we have international revenue denominated in U.S. dollars. As the U.S. dollar strengthens or weakens against other currencies, our international distributors may be impacted, which could affect their profitability and our ability to maintain current pricing levels on our international consumer products.
We regularly monitor the forecast of non-U.S. dollar revenue and expenses and the level of non-U.S. dollar monetary asset and liability balances to determine if any actions, including possibly entering into foreign currency contracts should be taken to minimize the impact of fluctuating exchange rates on our results of operations. Periodically, we enter into forward exchange contracts to hedge against foreign currency fluctuations. These contracts may or may not be designated as cash flow hedges for accounting purposes. We use cash flow hedges primarily to reduce the effects of foreign exchange rate changes on sales in Euros and Japanese Yen. At March 28, 2020 and December 28, 2019, we had outstanding cash flow hedges with a total notional value of $388.4 million and $424.6 million, respectively.
We also enter into economic hedges that are not designated as hedges from an accounting standpoint to reduce or eliminate the effects of foreign exchange rate changes typically related to short term trade receivables and payables. These contracts have maturities of twelve months or less. At March 28, 2020 and December 28, 2019, we had outstanding economic hedges with a total notional value of $72.5 million and $58.4 million, respectively.
At March 28, 2020, assuming all other variables are constant, if the U.S. Dollar weakened or strengthened by 10%, the fair market value of our foreign currency contracts would increase or decrease by approximately $38.7 million.

Item 4. Controls and Procedures
Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, evaluated the effectiveness of our disclosure controls and procedures (as defined in Rule 13a-15(e) of the Exchange Act as of the end of the period covered by this report. Based on that evaluation, our Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures as of the end of the period covered by this report were effective at a reasonable assurance level in ensuring that information required to be disclosed by us in reports that we file or submit under the Exchange Act (i) is recorded, processed, summarized and reported within the time periods specified in the Securities and Exchange Commission’s rules and forms; and (ii) accumulated and communicated to management, including our Chief Executive Officer and Chief Financial Officer, as appropriate, to allow timely discussions regarding required disclosure. We believe that a control system, no matter how well designed and operated, cannot provide absolute assurance that the objectives of the control system are met, and no evaluation of controls can provide absolute assurance that all control issues and instances of fraud, if any, within a company have been detected.

25




There was no change in our internal control over financial reporting (as defined in Rule 13a-15(f) of the Exchange Act) that occurred during the period covered by this report that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.
Part II. Other Information
Item 1. Legal Proceedings
This information is included in Note 11, Commitments and Contingencies, in the accompanying notes to the unaudited consolidated financial statements and is incorporated herein by reference from Item 1 of Part I.

Item 1A. Risk Factors

We operate in a rapidly changing environment that involves a number of risks that could materially affect our business, financial condition or future results, some of which are beyond our control. In addition to the other information set forth in this report, the risks and uncertainties that we believe are most important for you to consider are discussed in Part I, "Item 1A. Risk Factors" in our Annual Report on Form 10-K for the year ended December 28, 2019, which could materially affect our business, financial condition or future results. Additional risks and uncertainties not presently known to us, which we currently deem immaterial or which are similar to those faced by other companies in our industry or business in general, may also impair our business operations. There are no material changes to the Risk Factors described in our Annual Report on Form 10-K for the year ended December 28, 2019, other than as set forth below:
Our business has been, and will continue to be, adversely affected by the ongoing coronavirus pandemic.
The outbreak of the novel coronavirus has evolved into a global pandemic. The coronavirus has already directly and indirectly impacted our business and operating results but the full extent of its impact will depend on future developments that are uncertain and cannot be accurately predicted, including new information that may emerge concerning the coronavirus and the actions to contain the coronavirus or treat its impact, among others. The ultimate impact of the current pandemic, or any other health epidemic, is highly uncertain and subject to change not only with the spread of the disease, but also with the scope and timing of governmental, regulatory, fiscal, monetary and public health responses.
As the coronavirus continues to spread, our business operations could be further disrupted or delayed. The pandemic has already resulted in, and may continue to result in, work stoppages, slowdowns and delays, travel restrictions, event cancellation, and other factors that cause an increase in costs or order cancellations, reductions or delays. For example, our manufacturing supply chain has been and may continue to be adversely affected with production delays or limited manufacturing volumes associated with factory shutdowns or reduced numbers of workers or working hours in the factories, limits on component supplies and diminished capability to implement engineering and design changes in a timely manner. In addition, quarantines, stay at home orders and other travel limitations (whether voluntary or required) impede our employees’ ability to efficiently conduct research and development activities or oversee manufacturing activities, which may slow innovation, lead to higher costs or both. Further, if the spread of the coronavirus pandemic continues and our operations continue to be adversely impacted, we risk a delay, default, violation and/or non-compliance under existing agreements.
The spread of the coronavirus, which has caused a broad impact globally, including restrictions on travel and quarantine policies put into place by businesses and governments, has had and may continue to have a material economic effect on our business. For example, the pandemic and related measures taken to limit the spread of disease has resulted in higher unemployment and greater economic uncertainty, which may adversely affect consumer purchasing behavior. Further, retail store closures, whether temporary or permanent, as well as limited operating hours and restrictions on foot traffic in stores may continue to adversely affect sales of our products. Certain retailers, who we rely on for a significant portion of our revenue, have begun, and may continue, to unilaterally stretch payables to us that may increase our accounts receivable, strain our liquidity, and increase the likelihood of our failure to collect on product previously sold.
While the potential economic impact and the duration of the pandemic may be difficult to assess or predict, it has already caused, and is likely to result in further, significant disruption of global financial markets. In addition, a recession, depression or other sustained adverse market event resulting from the spread of the coronavirus could materially and adversely affect our business, our access to needed capital and liquidity, and the value of our common stock. We do not yet know the full extent of potential delays or impacts on our business, our industry or the global economy as a whole. Additionally, while significant efforts are underway to slow the spread of the disease, develop vaccines and therapeutics, it is unclear when or whether progress in any of those areas will translate into an economic recovery that will restore consumer confidence and accelerate consumer spending. Accordingly, given that the potential of these effects of the current pandemic on our operations has been and will likely continue to be material, we will continue to monitor the situation closely.

26




If we experience a disaster or other business continuity problem, we may not be able to recover successfully, which could cause material financial loss, loss of human capital, regulatory actions, reputational harm, or legal liability.
If we experience a local or regional disaster or other business continuity problem, such as an earthquake, terrorist attack, pandemic or other natural or man-made disaster, our continued success will depend, in part, on the availability of our personnel, our office facilities, and the proper functioning of our computer, telecommunication and other related systems and operations. As we grow our operations in new geographic regions, the potential for particular types of natural or man-made disasters, political, economic or infrastructure instabilities, or other country- or region-specific business continuity risks increases. For example, in December 2019, a strain of coronavirus has been reported to have surfaced in Wuhan, China, which has disrupted and will continue to disrupt our supply chain and manufacturers, resulting in a disruption in manufacturing our products as further discussed in the risk factors entitled "We depend on a limited number of manufacturers, and our reputation and results of operations would be harmed if these manufacturers fail to meet our requirements" and "Our business has been, and will continue to be, adversely affected by the ongoing coronavirus pandemic".
Significant developments from the recent and potential changes in U.S. trade policies have had, and may continue to have, a material adverse effect on our business, financial condition and results of operations.
The U.S. government has indicated its intent to alter its approach to international trade policy and in some cases to renegotiate, or potentially terminate, certain existing bilateral or multi-lateral trade agreements and treaties with foreign countries. Effective September 24, 2018, the U.S. government implemented a 10% tariff on certain goods imported from China, which include the majority of those imported by the Company. These tariffs were increased to 25% on May 10, 2019 and were slated to further increase to 30% in October 2019 until a last-minute interim deal was reached between the United States and China. Although the United States and China signed a new trade agreement in January 2020, most of the previously-implemented tariffs on goods imported from China remain in place (including the tariffs described above), and uncertainty remains as to the short-term and long-term future of economic relations between the United States and China.
From September 2018 until April 2020, our Roomba products were subject to Section 301 tariffs. From September 2018 through March 28, 2020, we paid an aggregate of approximately $57.0 million in Section 301 tariffs on our Roomba products. On April 24, 2020, we were granted a temporary exclusion from Section 301 List 3 tariffs by the United States Trade Representative. This exclusion eliminates the 25% tariff on Roomba products until August 7, 2020 and entitles us to a refund of approximately $57.0 million in tariffs paid since the date the Section 301 List 3 tariffs were imposed. However, absent an extension on this exemption, on August 7, 2020, the 25% tariff will automatically reinstate. The U.S. government has not yet implemented, and may never implement, a process for extending tariff exclusions for List 3 products. If we are again subject to this tariff, we will again experience a lowering of our margin on products sold and pricing pressures on our products. The already-implemented, and any additional or increased, tariffs have caused and may in the future cause us to further increase prices to our customers which we believe has reduced, and in the future may reduce, demand for our products.
These tariffs, and other governmental action relating to international trade agreements or policies, have directly or indirectly adversely impacted demand for our products, our costs, customers, suppliers, distributors, resellers and/or the U.S. economy or certain sectors thereof and, as a result, have adversely impacted, and, if our tariff exclusion is not extended past August 7, 2020, we expect will continue to adversely impact, our business, financial condition and results of operations. It remains unclear what the U.S. or foreign governments will or will not do with respect to tariffs, international trade agreements and policies on a short-term or long-term basis. We cannot predict future trade policy or the terms of any renegotiated trade agreements and their impacts on our business. The adoption and expansion of trade restrictions, the occurrence of a trade war, or other governmental action related to tariffs or trade agreements or policies has the potential to further adversely impact demand for our products, our costs, our customers, our suppliers, and the U.S. economy, which in turn could further adversely impact our business, financial condition and results of operations.
In response to international trade policy, as well as other risks associated with concentrated manufacturing in China, we have begun relocating a meaningful portion of our supply chain from China to Malaysia. Such relocation activities increase costs and risks associated with establishing new manufacturing facilities.




27




Item 2. Unregistered Sales of Equity Securities and Use of Proceeds
The following is a summary of our repurchases of our common stock during the three months ended March 28, 2020:
 
Total number of Shares Purchased (1)
Average Price Paid per Share
Total Number of Shares Purchased as Part of Publicly Announced Plans or Programs (2)
Approximate Dollar Value of Shares that May Yet Be Purchased Under the Plans or Programs
Fiscal month beginning December 29, 2019 and ended January 25, 2020




Fiscal month beginning January 26, 2020 and ended February 22, 2020




Fiscal month beginning February 23, 2020 and ended March 28, 2020
663,602

$
37.65

663,602

$
175,000,000

Total
663,602

$
37.65

663,602

$
175,000,000

 __________________________
(1)
Consists of shares of our common stock. All repurchases were made in open market transactions and pursuant to our previously-announced stock repurchase program as further discussed below.
(2)
As previously disclosed on March 10, 2020, our Board of Directors approved a stock repurchase program authorizing up to $200.0 million in share repurchases through September 2021. Under the stock repurchase program, the Company entered into a Rule 10b5-1 plan to repurchase $25.0 million of common stock in the aggregate beginning March 13, 2020 and ending April 30, 2020.

Item 5. Other Information
10b5-1 Trading Plans
Our policy governing transactions in our securities by our directors, officers, and employees permits our officers, directors, funds affiliated with our directors, and certain other persons to enter into trading plans complying with Rule 10b5-l under the Exchange Act. We have been advised that certain of our officers and directors (including Colin Angle, Chief Executive Officer and Glen Weinstein, EVP and Chief Legal Officer, as well as Mohamad Ali, Deborah Ellinger, Andrew Miller and Michelle Stacy, each a director of the Company) have entered into trading plans (each a "Plan" and collectively, the "Plans") covering periods after the date of this Quarterly Report on Form 10-Q in accordance with Rule 10b5-l and our policy governing transactions in our securities. Generally, under these trading plans, the individual relinquishes control over the transactions once the trading plan is put into place. Accordingly, sales under these plans may occur at any time, including possibly before, simultaneously with, or immediately after significant events involving the Company.
We anticipate that, as permitted by Rule 10b5-1 and our policy governing transactions in our securities, some or all of our officers, directors and employees may establish trading plans in the future. We intend to disclose the names of our executive officers and directors who establish a trading plan in compliance with Rule 10b5-1 and the requirements of our policy governing transactions in our securities in our future quarterly and annual reports on Form 10-Q and 10-K filed with the Securities and Exchange Commission. We undertake no obligation to update or revise the information provided herein.



28




Item 6. Exhibits
 
EXHIBIT INDEX
Exhibit
Number
 
Description
 
 
 
 
Certification Pursuant to Rule 13a-14(a) or Rule 15d-14(a) of the Securities Exchange Act of 1934
 
 
 
 
Certification Pursuant to Rule 13a-14(a) or Rule 15d-14(a) of the Securities Exchange Act of 1934
 
 
 
 
Certification Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002
 
 
 
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



29




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.
 
 
iROBOT CORPORATION
 
 
 
Date: May 1, 2020
By:
/s/ Alison Dean
 
 
Alison Dean
 
 
Executive Vice President and Chief Financial Officer (Duly Authorized Officer and Principal Financial Officer)

30
EX-31.1 2 irbtexhibit31132820.htm EXHIBIT 31.1 Exhibit


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

Date: May 1, 2020
/s/ COLIN M. ANGLE
 
Colin M. Angle
Chairman of the Board and Chief Executive Officer




EX-31.2 3 irbtexhibit31232820.htm EXHIBIT 31.2 Exhibit


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

Date: May 1, 2020
/s/ ALISON DEAN
 
Alison Dean
Chief Financial Officer




EX-32.1 4 irbtexhibit32132820.htm EXHIBIT 32.1 Exhibit


Exhibit 32.1

CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
In connection with the Quarterly Report on Form 10-Q of iRobot Corporation (the "Company") for the period ended March 28, 2020 as filed with the Securities and Exchange Commission on the date hereof (the "Report"), we, Colin M. Angle, the Chief Executive Officer of the Company and Alison Dean, the Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, to our knowledge, that:
(1)
the Report fully complies with the requirements of Section 13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended; and
(2)
the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
This certification is being provided pursuant to 18 U.S.C. 1350 and is not to be deemed a part of the Report, nor is it to be deemed to be "filed" for any purpose whatsoever.

Date: May 1, 2020
/s/ COLIN M. ANGLE
 
Colin M. Angle
Chairman of the Board and Chief Executive Officer
 
 
Date: May 1, 2020
/s/ ALISON DEAN
 
Alison Dean
Chief Financial Officer



EX-101.SCH 5 irbt-20200328.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 2118100 - Disclosure - Accrued Expenses link:presentationLink link:calculationLink link:definitionLink 2418402 - Disclosure - Accrued Expenses (Details) link:presentationLink link:calculationLink link:definitionLink 2318301 - Disclosure - Accrued Expenses (Tables) link:presentationLink link:calculationLink link:definitionLink 2124100 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 2424404 - Disclosure - Commitments and Contingencies - Activity Related to Warranty Accrual (Detail) link:presentationLink link:calculationLink link:definitionLink 2424402 - Disclosure - Commitments and Contingencies - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 2424403 - Disclosure - Commitments and Contingencies - Summary of Future Minimum Rental Payments under Operating Leases (Detail) link:presentationLink link:calculationLink link:definitionLink 2324301 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 1001000 - Statement - Consolidated Balance Sheets (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1001501 - Statement - Consolidated Balance Sheets (Unaudited) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1005000 - Statement - Consolidated Statement of Shareholders' Equity Statement link:presentationLink link:calculationLink link:definitionLink 1006000 - Statement - Consolidated Statements of Cash Flows (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1004000 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1003000 - Statement - Consolidated Statements of Income Statement link:presentationLink link:calculationLink link:definitionLink 2419404 - Disclosure - Derivative Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 2119100 - Disclosure - Derivative Instruments (Notes) link:presentationLink link:calculationLink link:definitionLink 2419403 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 2319302 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 2319301 - Disclosure - Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 2101100 - Disclosure - Description of Business link:presentationLink link:calculationLink link:definitionLink 0001000 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 2422401 - Disclosure - Fair Value Measurements Fair Value on a Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 2122100 - Disclosure - Fair Value Measurements (Notes) link:presentationLink link:calculationLink link:definitionLink 2117100 - Disclosure - Goodwill, Other Intangible Assets and Other Assets link:presentationLink link:calculationLink link:definitionLink 2417402 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 2417405 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details) link:presentationLink link:calculationLink link:definitionLink 2417403 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail) link:presentationLink link:calculationLink link:definitionLink 2417404 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 2317301 - Disclosure - Goodwill, Other Intangible Assets and Other Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 2426402 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 2126100 - Disclosure - Income Taxes (Notes) link:presentationLink link:calculationLink link:definitionLink 2326301 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 2127100 - Disclosure - Industry Segment, Geographic Information and Significant Customers link:presentationLink link:calculationLink link:definitionLink 2427403 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 2427402 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail) link:presentationLink link:calculationLink link:definitionLink 2327301 - Disclosure - Industry Segment, Geographic Information and Significant Customers (Tables) link:presentationLink link:calculationLink link:definitionLink 2116100 - Disclosure - Inventory link:presentationLink link:calculationLink link:definitionLink 2416402 - Disclosure - Inventory (Details) link:presentationLink link:calculationLink link:definitionLink 2316301 - Disclosure - Inventory (Tables) link:presentationLink link:calculationLink link:definitionLink 2409405 - Disclosure - Leases Financial Statement Impact of Adopting ASC 842 (Details) link:presentationLink link:calculationLink link:definitionLink 2409402 - Disclosure - Leases Lease Cost (Details) link:presentationLink link:calculationLink link:definitionLink 2409404 - Disclosure - Leases Maturity of Operating Lease LIability (Details) link:presentationLink link:calculationLink link:definitionLink 2109100 - Disclosure - Leases (Notes) link:presentationLink link:calculationLink link:definitionLink 2409403 - Disclosure - Leases Supplemental Cash Flow (Details) link:presentationLink link:calculationLink link:definitionLink 2309301 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 2408407 - Disclosure - Revenue Recognition Contract Balances (Details) link:presentationLink link:calculationLink link:definitionLink 2308304 - Disclosure - Revenue Recognition Contract Balances (Tables) link:presentationLink link:calculationLink link:definitionLink 2408406 - Disclosure - Revenue Recognition Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 2308303 - Disclosure - Revenue Recognition Disaggregation of Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 2108100 - Disclosure - Revenue Recognition (Notes) link:presentationLink link:calculationLink link:definitionLink 2208201 - Disclosure - Revenue Recognition (Policies) link:presentationLink link:calculationLink link:definitionLink 2408405 - Disclosure - Revenue Recognition Significant Judgments (Details) link:presentationLink link:calculationLink link:definitionLink 2308302 - Disclosure - Revenue Recognition Significant Judgments (Tables) link:presentationLink link:calculationLink link:definitionLink 2423402 - Disclosure - Stockholders Equity (Details) link:presentationLink link:calculationLink link:definitionLink 2123100 - Disclosure - Stockholders Equity (Notes) link:presentationLink link:calculationLink link:definitionLink 2323301 - Disclosure - Stockholders Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 2428402 - Disclosure - Subsequent Event (Details) link:presentationLink link:calculationLink link:definitionLink 2128100 - Disclosure - Subsequent Event (Notes) link:presentationLink link:calculationLink link:definitionLink 2328301 - Disclosure - Subsequent Event (Tables) link:presentationLink link:calculationLink link:definitionLink 2102100 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 2402405 - Disclosure - Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail) link:presentationLink link:calculationLink link:definitionLink 2402403 - Disclosure - Summary of Significant Accounting Policies Credit Losses (Details) link:presentationLink link:calculationLink link:definitionLink 2402404 - Disclosure - Summary of Significant Accounting Policies Other Assets (Details) link:presentationLink link:calculationLink link:definitionLink 2202201 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 2402406 - Disclosure - Summary of Significant Accounting Policies Revenue Recognition (Details) link:presentationLink link:calculationLink link:definitionLink 2302302 - Disclosure - Summary of Significant Accounting Policies (Tables) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 irbt-20200328_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 7 irbt-20200328_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 8 irbt-20200328_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Leases [Abstract] Operating Lease, Weighted Average Discount Rate, Percent Operating Lease, Weighted Average Discount Rate, Percent Operating Lease, Cost Operating Lease, Cost Variable Lease, Cost Variable Lease, Cost Lease, Cost Lease, Cost Operating Lease, Weighted Average Remaining Lease Term Operating Lease, Weighted Average Remaining Lease Term Revenue Recognition and Deferred Revenue [Abstract] Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Geographical [Axis] Geographical [Axis] Geographical [Domain] Geographical [Domain] UNITED STATES UNITED STATES EMEA [Member] EMEA [Member] All Other Regions [Member] All Other Regions [Member] All Other Regions [Member] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Revenue from Contract with Customer, Excluding Assessed Tax Revenue from Contract with Customer, Excluding Assessed Tax Returns reserve adjustment [Abstract] Returns reserve adjustment [Abstract] Statement [Table] Statement [Table] SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis] SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis] SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain] SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain] Scenario [Axis] Scenario [Axis] Scenario [Domain] Scenario [Domain] Class of Stock [Axis] Class of Stock [Axis] Class of Stock [Domain] Class of Stock [Domain] Statement [Line Items] Statement [Line Items] Segment Reporting [Abstract] Schedule of Revenues from External Customers and Long-Lived Assets [Table] Schedule of Revenues from External Customers and Long-Lived Assets [Table] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Revenue Benchmark [Member] Revenue Benchmark [Member] Customer [Axis] Customer [Axis] Customer [Domain] Customer [Domain] Amazon [Member] Amazon [Member] Amazon [Member] Concentration Risk Type [Axis] Concentration Risk Type [Axis] Concentration Risk Type [Domain] Concentration Risk Type [Domain] Customer Concentration Risk [Member] Customer Concentration Risk [Member] Revenues from External Customers and Long-Lived Assets [Line Items] Revenues from External Customers and Long-Lived Assets [Line Items] Document Period End Date Document Period End Date Concentration Risk, Percentage Concentration Risk, Percentage Statement of Comprehensive Income [Abstract] Net (loss) income Net Income (Loss) Attributable to Parent Other comprehensive income (loss): Other Comprehensive Income (Loss), Net of Tax [Abstract] Net foreign currency translation adjustments Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax, Portion Attributable to Parent Net unrealized gains on cash flow hedges, net of tax Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax Net (gains) losses on cash flow hedge reclassified into earnings, net of tax Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI on Derivatives, Net of Tax Net unrealized (losses) gains on marketable securities, net of tax Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax, Portion Attributable to Parent Total comprehensive (loss) income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Statement of Stockholders' Equity [Abstract] Restatement [Axis] Restatement [Axis] Restatement [Domain] Restatement [Domain] Equity Components [Axis] Equity Components [Axis] Equity Component [Domain] Equity Component [Domain] Common Stock [Member] Common Stock [Member] Additional Paid-in Capital [Member] Additional Paid-in Capital [Member] Retained Earnings [Member] Retained Earnings [Member] AOCI Attributable to Parent [Member] AOCI Attributable to Parent [Member] Adjustments for New Accounting Pronouncements [Axis] Adjustments for New Accounting Pronouncements [Axis] Type of Adoption [Domain] Type of Adoption [Domain] Adjustments for Change in Accounting Principle [Axis] Adjustments for Change in Accounting Principle [Axis] Adjustments for Change in Accounting Principle [Domain] Adjustments for Change in Accounting Principle [Domain] Adjustments for Error Corrections [Axis] Adjustments for Error Corrections [Axis] Adjustments for Error Correction [Domain] Adjustments for Error Correction [Domain] Beginning Balance, Shares Common Stock, Shares, Issued Beginning balance Stockholders' Equity Attributable to Parent Issuance of common stock under employee stock plans (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period Stock Issued During Period, Value, Stock Options Exercised Stock Issued During Period, Value, Stock Options Exercised Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares) Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures APIC, Share-based Payment Arrangement, Increase for Cost Recognition APIC, Share-based Payment Arrangement, Increase for Cost Recognition Shares Paid for Tax Withholding for Share Based Compensation (in shares) Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount Stock withheld to Cover tax withholding requirements Upon Vesting to restricted Stock Units. Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Adjustments to Additional Paid in Capital Directors Deferred Compensation Adjustments to Additional Paid in Capital Directors Deferred Compensation Adjustments to additional paid in capital directors deferred compensation. Stock Repurchased and Retired During Period, Shares Stock Repurchased and Retired During Period, Shares Stock Repurchased and Retired During Period, Value Stock Repurchased and Retired During Period, Value Cumulative Effect of New Accounting Principle in Period of Adoption Cumulative Effect of New Accounting Principle in Period of Adoption Credit Loss [Abstract] Accounts Receivable, Allowance for Credit Loss, Period Increase (Decrease) Accounts Receivable, Allowance for Credit Loss, Period Increase (Decrease) Accounts Receivable, Allowance for Credit Loss Accounts Receivable, Allowance for Credit Loss Revenue, Remaining Performance Obligation, Amount Revenue, Remaining Performance Obligation, Amount Accounts Receivable, after Allowance for Credit Loss, Current Accounts Receivable, after Allowance for Credit Loss, Current Contract with Customer, Liability, Revenue Recognized Contract with Customer, Liability, Revenue Recognized Contract with Customer, Liability Contract with Customer, Liability Goodwill and Intangible Assets Disclosure [Abstract] Disclosure Other Intangible Assets [Abstract] Disclosure Other Intangible Assets [Abstract] Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Statistical Measurement [Axis] Statistical Measurement [Axis] Statistical Measurement [Domain] Statistical Measurement [Domain] 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] Completed technology Patented Technology [Member] Trade Names Trade Names [Member] Customer-Related Intangible Assets [Member] Customer-Related Intangible Assets [Member] Distribution Rights [Member] Distribution Rights [Member] Noncompete Agreements [Member] Noncompete Agreements [Member] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets, Gross Finite-Lived Intangible Assets, Gross Intangible assets accumulated amortization Finite-Lived Intangible Assets, Accumulated Amortization Intangible Assets, Net Finite-Lived Intangible Assets, Net Amortization of Acquired Intangible Assets Amortization of Intangible Assets Disclosure Segment Information About Revenue Cost Of Revenue Gross Margin And Income Before Income Taxes [Abstract] Disclosure - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes [Abstract] Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table] Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table] Legal Entity [Axis] Legal Entity [Axis] Entity [Domain] Entity [Domain] Business Segments [Axis] Segments [Axis] Segment [Domain] Segments [Domain] Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items] Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items] Number of Reportable Segments Number of Reportable Segments Total cost of revenue Cost of Goods and Services Sold Gross profit Gross Profit Research and development Research and Development Expense Selling and marketing Selling and Marketing Expense General and administrative General and Administrative Expense Other income, net Nonoperating Income (Expense) Equity [Abstract] Stock Repurchase Program, Authorized Amount Stock Repurchase Program, Authorized Amount Stock Repurchased and Retired During Period, Shares Stock Repurchased and Retired During Period, Value Subsequent Events [Abstract] Subsequent Events [Text Block] Subsequent Events [Text Block] Operating Lease, Payments Operating Lease, Payments Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Inventory Disclosure [Abstract] Inventory, Raw Materials, Net of Reserves Inventory, Raw Materials, Net of Reserves Inventory, Finished Goods, Net of Reserves Inventory, Finished Goods, Net of Reserves Inventory Inventory, Net Equity and cost method investments [Abstract] Equity and cost method investments [Abstract] Equity Securities without Readily Determinable Fair Value, Amount Equity Securities without Readily Determinable Fair Value, Amount Income Tax Disclosure [Abstract] Effective Income Tax Rate Reconciliation, Percent Effective Income Tax Rate Reconciliation, Percent Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Subsequent Event [Table] Subsequent Event [Table] Subsequent Event Type [Axis] Subsequent Event Type [Axis] Subsequent Event Type [Domain] Subsequent Event Type [Domain] Subsequent Event [Line Items] Subsequent Event [Line Items] Recovery of Import Duties Recovery of Import Duties Recovery of Import Duties Accrued Liabilities, Current [Abstract] Accounts Payable, Current [Abstract] Accounts Payable, Current [Abstract] Accrued other compensation Accrued Employee Benefits Accrued warranty Standard Product Warranty Accrual, Current Accrued bonus Accrued Bonuses Current portion of operating lease liabilities Operating Lease, Liability, Current Accrued direct fulfillment costs Accrued Direct Fulfillment Costs Accrued direct fulfillment costs. Accrued sales and other indirect taxes payable Accrued Sales Tax Accrued Sales Tax Accrued federal and state income taxes Accrued Income Taxes Accrued other Other Accrued Liabilities, Current Accrued expenses Accrued Liabilities, Current Accounting Policies [Abstract] Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Recent Accounting Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Use of Estimates Use of Estimates, Policy [Policy Text Block] Credit Loss, Financial Instrument [Policy Text Block] Credit Loss, Financial Instrument [Policy Text Block] Investment, Policy [Policy Text Block] Investment, Policy [Policy Text Block] Net Income Per Share Earnings Per Share, Policy [Policy Text Block] Operating Lease Cost [Abstract] Operating Lease Cost [Abstract] Lease, Cost [Table Text Block] Lease, Cost [Table Text Block] Schedule of Leases, Supplemental Cash Flow [Table Text Block] Schedule of Leases, Supplemental Cash Flow [Table Text Block] Schedule of Leases, Supplemental Cash Flow [Table Text Block] Lessee, Operating Lease, Liability, Maturity [Table Text Block] Lessee, Operating Lease, Liability, Maturity [Table Text Block] Fair Value Footnote [Abstract] Fair Value Footnote [Abstract] Fair Value Disclosures [Text Block] Fair Value Disclosures [Text Block] Convertible Debt [Table Text Block] Convertible Debt [Table Text Block] Derivative Instruments and Hedging Activities Disclosure [Abstract] Derivative Instruments, Gain (Loss) [Table] Derivative Instruments, Gain (Loss) [Table] Derivative Instrument [Axis] Derivative Instrument [Axis] Derivative Contract [Domain] Derivative Contract [Domain] Income Statement Location [Axis] Income Statement Location [Axis] Income Statement Location [Domain] Income Statement Location [Domain] Other Comprehensive Income Location [Axis] Other Comprehensive Income Location [Axis] Other Comprehensive Income Location [Domain] Other Comprehensive Income Location [Domain] Hedging Designation [Axis] Hedging Designation [Axis] Hedging Designation [Domain] Hedging Designation [Domain] Hedging Relationship [Axis] Hedging Relationship [Axis] Hedging Relationship [Domain] Hedging Relationship [Domain] Derivative Instruments, Gain (Loss) [Line Items] Derivative Instruments, Gain (Loss) [Line Items] Derivative Instruments, Gain (Loss) [Table Text Block] Derivative Instruments, Gain (Loss) [Table Text Block] Finite-lived intangible assets, schedule of amortization expense [Table] Finite-lived intangible assets, schedule of amortization expense [Table] Finite-lived intangible assets, schedule of amortization expense [Table] Cost of revenue Cost of Sales [Member] Operating Expense [Member] Operating Expense [Member] Finite-lived intangible assets, schedule of amortization expense [Line Items] Finite-lived intangible assets, schedule of amortization expense [Line Items] [Line Items] for Finite-lived intangible assets, schedule of amortization expense [Table] Remainder of 2020 Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year 2021 Finite-Lived Intangible Assets, Amortization Expense, Year Two 2022 Finite-Lived Intangible Assets, Amortization Expense, Year Three 2023 Finite-Lived Intangible Assets, Amortization Expense, Year Four 2024 Finite-Lived Intangible Assets, Amortization Expense, Year Five Thereafter Finite-Lived Intangible Assets, Amortization Expense, after Year Five Total Finite-lived intangible assets, future amortization total Finite-lived intangible assets, future amortization total Organization, Consolidation and Presentation of Financial Statements [Abstract] Description of Business Nature of Operations [Text Block] Operating lease right-of-use asset Operating Lease, Right-of-Use Asset Operating Lease, Liability Operating Lease, Liability Inventory Inventory Disclosure [Text Block] Industry Segment, Geographic Information and Significant Customers Segment Reporting Disclosure [Text Block] Schedule of Derivative Instruments [Abstract] Schedule of Derivative Instruments [Abstract] Derivative [Table] Derivative [Table] Energy [Axis] Energy [Axis] Energy [Domain] Energy [Domain] Variable Rate [Axis] Variable Rate [Axis] Variable Rate [Domain] Variable Rate [Domain] Derivative, by Nature [Axis] Position [Axis] Position [Axis] Position [Domain] Position [Domain] Derivative [Line Items] Derivative [Line Items] Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block] Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block] Schedule of Derivative Instruments [Table Text Block] Schedule of Derivative Instruments [Table Text Block] Components of Inventory Schedule of Inventory, Current [Table Text Block] Disclosure Basic And Diluted Net Income Per Share [Abstract] Disclosure - Basic and Diluted Net Income Per Share [Abstract] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items] Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items] Weighted-average shares outstanding Weighted Average Number of Shares Outstanding, Basic Dilutive effect of employee stock options and restricted shares Weighted Average Number Diluted Shares Outstanding Adjustment Diluted weighted-average shares outstanding Weighted Average Number of Shares Outstanding, Diluted Basic income per share Earnings Per Share, Basic Diluted income per share Earnings Per Share, Diluted Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Goodwill, Other Intangible Assets and Other Assets Goodwill and Intangible Assets Disclosure [Text Block] Statement of Financial Position [Abstract] ASSETS Assets [Abstract] Current assets: Assets, Current [Abstract] Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Short term investments Available-for-sale Securities, Current Accounts receivable, net Inventory Other current assets Other Assets, Current Total current assets Assets, Current Property and equipment, net Property, Plant and Equipment, Net Operating lease right-of-use assets Deferred tax assets Deferred Income Tax Assets, Net Goodwill Goodwill Intangible assets, net Other assets Other Assets, Noncurrent Total assets Assets LIABILITIES, REDEEMABLE CONVERTIBLE PREFERRED STOCK AND STOCKHOLDERS' EQUITY Liabilities and Equity [Abstract] Current liabilities: Liabilities, Current [Abstract] Accounts payable Accounts Payable, Current Accrued expenses Deferred revenue and customer advances Deferred Revenue Total current liabilities Liabilities, Current Operating lease liabilities Operating Lease, Liability, Noncurrent Deferred tax liabilities Deferred Income Tax Liabilities, Net Other long-term liabilities Other Liabilities, Noncurrent Total long-term liabilities Liabilities, Noncurrent Total liabilities Liabilities Commitments and contingencies (Note 11) Commitments and Contingencies Preferred stock, 5,000 shares authorized and none outstanding Preferred Stock, Value, Issued Common stock, $0.01 par value, 100,000 shares authorized; 27,876 and 28,352 shares issued and outstanding, respectively Common Stock, Value, Issued Additional paid-in capital Additional Paid in Capital, Common Stock Retained earnings Retained Earnings (Accumulated Deficit) Accumulated other comprehensive income Accumulated Other Comprehensive Income (Loss), Net of Tax Total stockholders’ equity Total liabilities and stockholders’ equity Liabilities and Equity Disaggregation of Revenue [Table Text Block] Disaggregation of Revenue [Table Text Block] Activity Related to the Warranty Accrual Schedule of Product Warranty Liability [Table Text Block] Income Statement [Abstract] Product and Service [Axis] Product and Service [Axis] Product and Service [Domain] Product and Service [Domain] Revenue Revenues Cost of product revenue Cost of product revenue Cost of product revenue Amortization of acquired intangible assets Cost, Amortization Total cost of revenue Gross profit Research and development Selling and marketing General and administrative Amortization of acquired intangible assets Amortization of Intangible Assets, Nonproduction Amortization of Intangible Assets, Nonproduction Total operating expenses Operating Expenses Operating (loss) income Operating Income (Loss) Other (expense) income, net (Loss) income before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Income tax (benefit) expense Income Tax Expense (Benefit) Net (loss) income Basic Diluted Basic Diluted Document Documentand Entity Information [Abstract] Document Documentand Entity Information [Abstract] Document Information [Table] Document Information [Table] Entity Information [Line Items] Entity Information [Line Items] Document Type Document Type Document Quarterly Report Document Quarterly Report Document Transition Report Document Transition Report Entity Central Index Key Entity Central Index Key Entity File Number Entity File Number Entity Registrant Name Entity Registrant Name Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Entity Tax Identification Number Entity Tax Identification Number Amendment Flag Amendment Flag 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 Title of 12(b) Security Title of 12(b) Security Trading Symbol Trading Symbol Security Exchange Name Security Exchange Name Document Fiscal Year Focus Document Fiscal Year Focus Document Fiscal Period Focus Document Fiscal Period Focus Current Fiscal Year End Date Current Fiscal Year End Date Entity Shell Company Entity Shell Company Entity Small Business Entity Small Business Entity Emerging Growth Company Entity Emerging Growth Company Entity Current Reporting Status Entity Current Reporting Status Entity Interactive Data Current Entity Interactive Data Current Entity Filer Category Entity Filer Category Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Stockholders' Equity Note Disclosure [Text Block] Stockholders' Equity Note Disclosure [Text Block] Outstanding POs [Abstract] Outstanding POs [Abstract] Contractual Obligation Contractual Obligation Statement of Cash Flows [Abstract] Cash flows from operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] Adjustments to reconcile net (loss) income to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Depreciation and amortization Depreciation, Depletion and Amortization Gain (Loss) on Disposition of Business Gain (Loss) on Disposition of Business Income (Loss) from Equity Method Investments Income (Loss) from Equity Method Investments Stock-based compensation Share-based Payment Arrangement, Noncash Expense Deferred income taxes, net Increase (Decrease) in Deferred Income Taxes Other Other Noncash Income (Expense) Changes in operating assets and liabilities — (use) source Increase (Decrease) in Operating Capital [Abstract] Accounts receivable Increase (Decrease) in Accounts Receivable Inventory Increase (Decrease) in Inventories Other current assets Increase (Decrease) in Other Operating Assets Accounts payable Increase (Decrease) in Accounts Payable Accrued expenses and other liabilities Increase (Decrease) in Other Accrued Liabilities 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] Additions of property and equipment Payments to Acquire Property, Plant, and Equipment Change in other assets Payments for (Proceeds from) Other Investing Activities Cash paid for business acquisition, net of cash acquired Payments to Acquire Businesses, Net of Cash Acquired Purchases of investments Payments to Acquire Available-for-sale Securities Proceeds from Sale of Other Assets, Investing Activities Proceeds from Sale of Other Assets, Investing Activities Sales and maturities of investments Proceeds from Sale and Maturity of Debt Securities, Available-for-sale Net cash 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] Proceeds from employee stock plans Proceeds from Stock Plans Income tax withholding payment associated with restricted stock vesting Payment, Tax Withholding, Share-based Payment Arrangement Stock repurchases Payments for Repurchase of Common Stock Net cash used in financing activities Net Cash Provided by (Used in) Financing Activities Effect of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash and Cash Equivalents Net increase in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Cash and Cash Equivalents, Period Increase (Decrease) Cash and Cash Equivalents, Period Increase (Decrease) Cash and cash equivalents, at beginning of period Cash and cash equivalents, at end of period Goodwill and Intangible Asset Impairment Goodwill and Intangible Asset Impairment Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Unusual Risks and Uncertainties [Table Text Block] Unusual Risks and Uncertainties [Table Text Block] Disclosure Activity Related To Warranty Accrual [Abstract] Disclosure - Activity Related to Warranty Accrual [Abstract] Movement in Standard Product Warranty Accrual [Roll Forward] Movement in Standard Product Warranty Accrual [Roll Forward] Balance at beginning of period Standard Product Warranty Accrual Provision Standard Product Warranty Accrual, Increase for Warranties Issued Warranty usage Standard Product Warranty Accrual, Decrease for Payments Balance at end of period Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes Schedule of Segment Reporting Information, by Segment [Table Text Block] Schedule of Goodwill [Table Text Block] Schedule of Goodwill [Table Text Block] Other Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Estimated Future Amortization Expense Related to Current Intangible Assets Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Contract with Customer, Asset and Liability [Table Text Block] Contract with Customer, Asset and Liability [Table Text Block] Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year Lessee, Operating Lease, Liability, Payments, Due Year Two Lessee, Operating Lease, Liability, Payments, Due Year Two Lessee, Operating Lease, Liability, Payments, Due Year Three Lessee, Operating Lease, Liability, Payments, Due Year Three Lessee, Operating Lease, Liability, Payments, Due Year Four Lessee, Operating Lease, Liability, Payments, Due Year Four Lessee, Operating Lease, Liability, Payments, Due Year Five Lessee, Operating Lease, Liability, Payments, Due Year Five Lessee, Operating Lease, Liability, Payments, Due after Year Five Lessee, Operating Lease, Liability, Payments, Due after Year Five Lessee, Operating Lease, Liability, Payments, Due Lessee, Operating Lease, Liability, Payments, Due Lessee, Operating Lease, Liability, Undiscounted Excess Amount Lessee, Operating Lease, Liability, Undiscounted Excess Amount Operating Lease, Liability, Noncurrent Derivatives Not Designated as Hedging Instruments [Table Text Block] Derivatives Not Designated as Hedging Instruments [Table Text Block] Derivative Instruments and Hedging Activities Disclosure [Text Block] Derivative Instruments and Hedging Activities Disclosure [Text Block] Schedule of Goodwill [Table] Schedule of Goodwill [Table] Consolidation Items [Axis] Consolidation Items [Axis] Consolidation Items [Domain] Consolidation Items [Domain] Goodwill [Line Items] Goodwill [Line Items] Goodwill, Acquired During Period Goodwill, Acquired During Period Goodwill, Foreign Currency Translation Gain (Loss) Goodwill, Foreign Currency Translation Gain (Loss) Fair Value Disclosures [Abstract] Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Measurement Frequency [Axis] Measurement Frequency [Axis] Measurement Frequency [Domain] Measurement Frequency [Domain] Fair Value, Recurring [Member] Fair Value, Recurring [Member] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Fair Value, Inputs, Level 1 [Member] Fair Value, Inputs, Level 1 [Member] Fair Value, Inputs, Level 2 [Member] Fair Value, Inputs, Level 2 [Member] Fair Value, Inputs, Level 3 [Member] Fair Value, Inputs, Level 3 [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] Money Market Funds, at Carrying Value Money Market Funds, at Carrying Value Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value Available-for-sale Securities, Amortized Cost Basis Available-for-sale Securities, Amortized Cost Basis Available-for-sale Securities Available-for-sale Securities Convertible Debt, Fair Value Disclosures Convertible Debt, Fair Value Disclosures conversion of debt Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Purchases Derivative Asset Derivative Asset Assets, Fair Value Disclosure Assets, Fair Value Disclosure Derivative Liability Derivative Liability Financial and Nonfinancial Liabilities, Fair Value Disclosure Financial and Nonfinancial Liabilities, Fair Value Disclosure Revenue from Contract with Customer [Text Block] Revenue from Contract with Customer [Text Block] Accrued Expenses Accounts Payable and Accrued Liabilities Disclosure [Text Block] Foreign Exchange Forward [Member] Foreign Exchange Forward [Member] Other Nonoperating Income (Expense) [Member] Other Nonoperating Income (Expense) [Member] Cash Flow Hedging [Member] Cash Flow Hedging [Member] Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net Components of Accrued Expenses Schedule of Accrued Liabilities [Table Text Block] Revenue, Judgment [Abstract] Revenue, Judgment [Abstract] Refund liability, product returns Refund liability, product returns Refund liability, product returns Refund liability, other credits and incentives Refund liability, other credits and incentives Refund liability, other credits and incentives Preferred stock, shares authorized Preferred Stock, Shares Authorized Preferred stock, shares outstanding Preferred Stock, Shares Outstanding Common stock, par value Common Stock, Par or Stated Value Per Share Common stock, shares authorized Common Stock, Shares Authorized Common stock, shares issued Common stock, shares outstanding Common Stock, Shares, Outstanding Disclosure Goodwill Other Intangible Assets And Other Assets Additional Information [Abstract] Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information [Abstract] Schedule of Business Acquisitions, by Acquisition [Table] Schedule of Business Acquisitions, by Acquisition [Table] Business Acquisition [Axis] Business Acquisition [Axis] Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Business Acquisition [Line Items] Business Acquisition [Line Items] Not Designated as Hedging Instrument [Member] Not Designated as Hedging Instrument [Member] Designated as Hedging Instrument [Member] Designated as Hedging Instrument [Member] Balance Sheet Location [Axis] Balance Sheet Location [Axis] Balance Sheet Location [Domain] Balance Sheet Location [Domain] Accrued Liabilities [Member] Accrued Liabilities [Member] Other Noncurrent Liabilities [Member] Other Noncurrent Liabilities [Member] Other Current Assets [Member] Other Current Assets [Member] Other Noncurrent Assets [Member] Other Noncurrent Assets [Member] Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net Derivative Instruments, Gain Recognized in Other Comprehensive Income (Loss), Effective Portion Other Derivatives Not Designated as Hedging Instruments at Fair Value, Net Other Derivatives Not Designated as Hedging Instruments at Fair Value, Net Derivative, Notional Amount Derivative, Notional Amount Income Tax Disclosure [Text Block] Income Tax Disclosure [Text Block] Lessee, Operating Leases [Text Block] Lessee, Operating Leases [Text Block] EX-101.PRE 9 irbt-20200328_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 10 R43.htm IDEA: XBRL DOCUMENT v3.20.1
Inventory (Details) - USD ($)
$ in Thousands
Mar. 28, 2020
Dec. 28, 2019
Inventory Disclosure [Abstract]    
Inventory, Raw Materials, Net of Reserves $ 182 $ 2,825
Inventory, Finished Goods, Net of Reserves 147,067 154,522
Inventory $ 147,249 $ 157,347
XML 11 R47.htm IDEA: XBRL DOCUMENT v3.20.1
Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details)
$ in Thousands
Mar. 28, 2020
USD ($)
Finite-lived intangible assets, schedule of amortization expense [Line Items]  
Remainder of 2020 $ 1,598
2021 1,919
2022 1,694
2023 1,019
2024 839
Thereafter 4,718
Total 11,787
Cost of revenue  
Finite-lived intangible assets, schedule of amortization expense [Line Items]  
Remainder of 2020 855
2021 1,140
2022 915
2023 240
2024 60
Thereafter 0
Total 3,210
Operating Expense [Member]  
Finite-lived intangible assets, schedule of amortization expense [Line Items]  
Remainder of 2020 743
2021 779
2022 779
2023 779
2024 779
Thereafter 4,718
Total $ 8,577
XML 12 FilingSummary.xml IDEA: XBRL DOCUMENT 3.20.1 html 81 295 1 true 33 0 false 5 false false R1.htm 0001000 - Document - Document and Entity Information Sheet http://www.irobot.com/role/DocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 1001000 - Statement - Consolidated Balance Sheets (Unaudited) Sheet http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited Consolidated Balance Sheets (Unaudited) Statements 2 false false R3.htm 1001501 - Statement - Consolidated Balance Sheets (Unaudited) (Parenthetical) Sheet http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical Consolidated Balance Sheets (Unaudited) (Parenthetical) Statements 3 false false R4.htm 1003000 - Statement - Consolidated Statements of Income Statement Sheet http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement Consolidated Statements of Income Statement Statements 4 false false R5.htm 1004000 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) Sheet http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited Consolidated Statements of Comprehensive Income (Unaudited) Statements 5 false false R6.htm 1005000 - Statement - Consolidated Statement of Shareholders' Equity Statement Sheet http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement Consolidated Statement of Shareholders' Equity Statement Statements 6 false false R7.htm 1006000 - Statement - Consolidated Statements of Cash Flows (Unaudited) Sheet http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited Consolidated Statements of Cash Flows (Unaudited) Statements 7 false false R8.htm 2101100 - Disclosure - Description of Business Sheet http://www.irobot.com/role/DescriptionOfBusiness Description of Business Notes 8 false false R9.htm 2102100 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 9 false false R10.htm 2108100 - Disclosure - Revenue Recognition (Notes) Notes http://www.irobot.com/role/RevenueRecognitionNotes Revenue Recognition (Notes) Notes 10 false false R11.htm 2109100 - Disclosure - Leases (Notes) Notes http://www.irobot.com/role/LeasesNotes Leases (Notes) Notes 11 false false R12.htm 2116100 - Disclosure - Inventory Sheet http://www.irobot.com/role/Inventory Inventory Notes 12 false false R13.htm 2117100 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssets Goodwill, Other Intangible Assets and Other Assets Notes 13 false false R14.htm 2118100 - Disclosure - Accrued Expenses Sheet http://www.irobot.com/role/AccruedExpenses Accrued Expenses Notes 14 false false R15.htm 2119100 - Disclosure - Derivative Instruments (Notes) Notes http://www.irobot.com/role/DerivativeInstrumentsNotes Derivative Instruments (Notes) Notes 15 false false R16.htm 2122100 - Disclosure - Fair Value Measurements (Notes) Notes http://www.irobot.com/role/FairValueMeasurementsNotes Fair Value Measurements (Notes) Notes 16 false false R17.htm 2123100 - Disclosure - Stockholders Equity (Notes) Notes http://www.irobot.com/role/StockholdersEquityNotes Stockholders Equity (Notes) Notes 17 false false R18.htm 2124100 - Disclosure - Commitments and Contingencies Sheet http://www.irobot.com/role/CommitmentsAndContingencies Commitments and Contingencies Notes 18 false false R19.htm 2126100 - Disclosure - Income Taxes (Notes) Notes http://www.irobot.com/role/IncomeTaxesNotes Income Taxes (Notes) Notes 19 false false R20.htm 2127100 - Disclosure - Industry Segment, Geographic Information and Significant Customers Sheet http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomers Industry Segment, Geographic Information and Significant Customers Notes 20 false false R21.htm 2128100 - Disclosure - Subsequent Event (Notes) Notes http://www.irobot.com/role/SubsequentEventNotes Subsequent Event (Notes) Notes 21 false false R22.htm 2202201 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.irobot.com/role/SummaryOfSignificantAccountingPolicies 22 false false R23.htm 2308303 - Disclosure - Revenue Recognition Disaggregation of Revenue (Tables) Sheet http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueTables Revenue Recognition Disaggregation of Revenue (Tables) Tables 23 false false R24.htm 2308304 - Disclosure - Revenue Recognition Contract Balances (Tables) Sheet http://www.irobot.com/role/RevenueRecognitionContractBalancesTables Revenue Recognition Contract Balances (Tables) Tables 24 false false R25.htm 2309301 - Disclosure - Leases (Tables) Sheet http://www.irobot.com/role/LeasesTables Leases (Tables) Tables http://www.irobot.com/role/LeasesNotes 25 false false R26.htm 2316301 - Disclosure - Inventory (Tables) Sheet http://www.irobot.com/role/InventoryTables Inventory (Tables) Tables http://www.irobot.com/role/Inventory 26 false false R27.htm 2317301 - Disclosure - Goodwill, Other Intangible Assets and Other Assets (Tables) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables Goodwill, Other Intangible Assets and Other Assets (Tables) Tables http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssets 27 false false R28.htm 2318301 - Disclosure - Accrued Expenses (Tables) Sheet http://www.irobot.com/role/AccruedExpensesTables Accrued Expenses (Tables) Tables http://www.irobot.com/role/AccruedExpenses 28 false false R29.htm 2319301 - Disclosure - Derivative Instruments (Tables) Sheet http://www.irobot.com/role/DerivativeInstrumentsTables Derivative Instruments (Tables) Tables http://www.irobot.com/role/DerivativeInstrumentsNotes 29 false false R30.htm 2319302 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Tables) Sheet http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables Derivative Instruments Schedule of Derivative Instruments (Tables) Tables 30 false false R31.htm 2324301 - Disclosure - Commitments and Contingencies (Tables) Sheet http://www.irobot.com/role/CommitmentsAndContingenciesTables Commitments and Contingencies (Tables) Tables http://www.irobot.com/role/CommitmentsAndContingencies 31 false false R32.htm 2327301 - Disclosure - Industry Segment, Geographic Information and Significant Customers (Tables) Sheet http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersTables Industry Segment, Geographic Information and Significant Customers (Tables) Tables http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomers 32 false false R33.htm 2402403 - Disclosure - Summary of Significant Accounting Policies Credit Losses (Details) Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesCreditLossesDetails Summary of Significant Accounting Policies Credit Losses (Details) Details 33 false false R34.htm 2402404 - Disclosure - Summary of Significant Accounting Policies Other Assets (Details) Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesOtherAssetsDetails Summary of Significant Accounting Policies Other Assets (Details) Details 34 false false R35.htm 2402405 - Disclosure - Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail) Sheet http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail) Details 35 false false R36.htm 2408405 - Disclosure - Revenue Recognition Significant Judgments (Details) Sheet http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsDetails Revenue Recognition Significant Judgments (Details) Details 36 false false R37.htm 2408406 - Disclosure - Revenue Recognition Disaggregation of Revenue (Details) Sheet http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails Revenue Recognition Disaggregation of Revenue (Details) Details http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueTables 37 false false R38.htm 2408407 - Disclosure - Revenue Recognition Contract Balances (Details) Sheet http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails Revenue Recognition Contract Balances (Details) Details http://www.irobot.com/role/RevenueRecognitionContractBalancesTables 38 false false R39.htm 2409402 - Disclosure - Leases Lease Cost (Details) Sheet http://www.irobot.com/role/LeasesLeaseCostDetails Leases Lease Cost (Details) Details 39 false false R40.htm 2409403 - Disclosure - Leases Supplemental Cash Flow (Details) Sheet http://www.irobot.com/role/LeasesSupplementalCashFlowDetails Leases Supplemental Cash Flow (Details) Details 40 false false R41.htm 2409404 - Disclosure - Leases Maturity of Operating Lease LIability (Details) Sheet http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails Leases Maturity of Operating Lease LIability (Details) Details 41 false false R42.htm 2409405 - Disclosure - Leases Financial Statement Impact of Adopting ASC 842 (Details) Sheet http://www.irobot.com/role/LeasesFinancialStatementImpactOfAdoptingAsc842Details Leases Financial Statement Impact of Adopting ASC 842 (Details) Details 42 false false R43.htm 2416402 - Disclosure - Inventory (Details) Sheet http://www.irobot.com/role/InventoryDetails Inventory (Details) Details http://www.irobot.com/role/InventoryTables 43 false false R44.htm 2417402 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail) Details 44 false false R45.htm 2417403 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail) Details 45 false false R46.htm 2417404 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details) Details 46 false false R47.htm 2417405 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details) Sheet http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details) Details 47 false false R48.htm 2418402 - Disclosure - Accrued Expenses (Details) Sheet http://www.irobot.com/role/AccruedExpensesDetails Accrued Expenses (Details) Details http://www.irobot.com/role/AccruedExpensesTables 48 false false R49.htm 2419403 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Details) Sheet http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails Derivative Instruments Schedule of Derivative Instruments (Details) Details http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables 49 false false R50.htm 2419404 - Disclosure - Derivative Instruments (Details) Sheet http://www.irobot.com/role/DerivativeInstrumentsDetails Derivative Instruments (Details) Details http://www.irobot.com/role/DerivativeInstrumentsTables 50 false false R51.htm 2422401 - Disclosure - Fair Value Measurements Fair Value on a Recurring Basis (Details) Sheet http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails Fair Value Measurements Fair Value on a Recurring Basis (Details) Details 51 false false R52.htm 2423402 - Disclosure - Stockholders Equity (Details) Sheet http://www.irobot.com/role/StockholdersEquityDetails Stockholders Equity (Details) Details http://www.irobot.com/role/StockholdersEquityNotes 52 false false R53.htm 2424402 - Disclosure - Commitments and Contingencies - Additional Information (Detail) Sheet http://www.irobot.com/role/CommitmentsAndContingenciesAdditionalInformationDetail Commitments and Contingencies - Additional Information (Detail) Details 53 false false R54.htm 2424404 - Disclosure - Commitments and Contingencies - Activity Related to Warranty Accrual (Detail) Sheet http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail Commitments and Contingencies - Activity Related to Warranty Accrual (Detail) Details 54 false false R55.htm 2426402 - Disclosure - Income Taxes (Details) Sheet http://www.irobot.com/role/IncomeTaxesDetails Income Taxes (Details) Details http://www.irobot.com/role/IncomeTaxesNotes 55 false false R56.htm 2427402 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail) Sheet http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail) Details 56 false false R57.htm 2427403 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail) Sheet http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail) Details 57 false false R58.htm 2428402 - Disclosure - Subsequent Event (Details) Sheet http://www.irobot.com/role/SubsequentEventDetails Subsequent Event (Details) Details http://www.irobot.com/role/SubsequentEventNotes 58 false false All Reports Book All Reports irbt-202032810q.htm irbt-20200328.xsd irbt-20200328_cal.xml irbt-20200328_def.xml irbt-20200328_lab.xml irbt-20200328_pre.xml irbtexhibit31132820.htm irbtexhibit31232820.htm irbtexhibit32132820.htm http://fasb.org/us-gaap/2019-01-31 http://xbrl.sec.gov/dei/2019-01-31 http://fasb.org/srt/2019-01-31 http://xbrl.sec.gov/country/2017-01-31 true true XML 13 R4.htm IDEA: XBRL DOCUMENT v3.20.1
Consolidated Statements of Income Statement - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Revenue $ 192,535 $ 237,661
Cost of product revenue 114,295 115,038
Amortization of acquired intangible assets 285 3,077
Total cost of revenue 114,580 118,115
Gross profit 77,955 119,546
Research and development 36,759 35,269
Selling and marketing 36,594 38,836
General and administrative 24,573 22,907
Amortization of acquired intangible assets 254 271
Total operating expenses 98,180 97,283
Operating (loss) income (20,225) 22,263
Other (expense) income, net (19) 1,280
(Loss) income before income taxes (20,244) 23,543
Income tax (benefit) expense (2,109) 1,023
Net (loss) income $ (18,135) $ 22,520
Basic $ (0.64) $ 0.81
Diluted $ (0.64) $ 0.78
Basic 28,297 27,863
Diluted 28,297 28,763
XML 14 R8.htm IDEA: XBRL DOCUMENT v3.20.1
Description of Business
3 Months Ended
Mar. 28, 2020
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Description of Business Description of BusinessiRobot Corporation ("iRobot" or the "Company") designs and builds robots that empower people to do more both inside and outside of the home. iRobot's consumer robots help people find smarter ways to clean and accomplish more in their daily lives. The Company's portfolio of solutions features proprietary technologies for the connected home and advanced concepts in cleaning, mapping and navigation, human-robot interaction and physical solutions. Leveraging this portfolio, our engineers are building an ecosystem of robots to empower the smart home. The Company’s revenue is primarily generated from product sales through a variety of distribution channels, including chain stores and other national retailers, through its on-line stores, and through value-added distributors and resellers worldwide.
XML 15 R26.htm IDEA: XBRL DOCUMENT v3.20.1
Inventory (Tables)
3 Months Ended
Mar. 28, 2020
Inventory Disclosure [Abstract]  
Components of Inventory Inventory
Inventory consists of the following (in thousands):
 
March 28, 2020
 
December 28, 2019
Raw materials
$
182

 
$
2,825

Finished goods
147,067

 
154,522

 
$
147,249

 
$
157,347


XML 16 R22.htm IDEA: XBRL DOCUMENT v3.20.1
Summary of Significant Accounting Policies (Policies)
3 Months Ended
Mar. 28, 2020
Accounting Policies [Abstract]  
Basis of Presentation
Basis of Presentation
The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP").
In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended December 28, 2019, filed with the Securities and Exchange Commission on February 13, 2020.
The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.
Recent Accounting Pronouncements
Recently Adopted Accounting Standards
In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13, "Measurement of Credit Losses on Financial Instruments," which amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. The Company adopted the standard effective December 29, 2019 which resulted in no adjustment to the allowance for credit losses upon adoption. See the description of the Company’s "Credit Losses" accounting policy below.
In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The Company adopted this standard effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements and related disclosures.
In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns 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 (and hosting arrangements that include an internal use software license). The Company adopted the standard using the prospective method effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements.
Recently Issued Accounting Standards
In December 2019, the FASB issued ASU No. 2019-12, "Income Taxes - Simplifying the Accounting for Income Taxes." The ASU simplifies the accounting for income taxes by removing certain exceptions to the general principles as well as clarifying and amending existing guidance to improve consistent application. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective or prospective basis. The Company intends to adopt the ASU effective January 3, 2021, and is currently evaluating the impact to the consolidated financial statements.
From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.
Use of Estimates
Use of Estimates
The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; allowance for credit losses; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.
Credit Loss, Financial Instrument [Policy Text Block]
Credit Losses
The Company is exposed to credit losses primarily through sales of its products. The Company assesses each customer's ability to pay by conducting a credit review which includes consideration of established credit ratings or an internal assessment of the customer's creditworthiness based on an analysis of their financial information when a credit rating is not available. The Company monitors the credit exposure through active review of customer balances. The Company's expected loss methodology for accounts receivable is developed using historical collection experience, current customer credit ratings, current and future economic and market conditions and a review of the current status of customers' account balances. Although the Company historically has not experienced significant credit losses as it relates to trade accounts receivable, the COVID-19 pandemic has caused uncertainty in some customer accounts. The Company recorded its estimate of credit losses, resulting in an increase to the reserve and bad debt expense, of $4.5 million during the three months ended March 28, 2020. As of March 28, 2020 and December 28, 2019, the Company recorded an allowance for credit losses of $5.7 million and $1.2 million, respectively.
Investment, Policy [Policy Text Block]
Other Assets
The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes. At March 28, 2020 and December 28, 2019, other assets consisted primarily of equity securities without readily determinable fair values and an equity method investment totaling $21.3 million and $21.0 million, respectively.
Net Income Per Share
Net (Loss) Income Per Share
Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income
per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock
awards as determined under the treasury stock method.

The following table presents the calculation of both basic and diluted net (loss) income per share (in thousands, except per share amounts): 
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Net (loss) income
$
(18,135
)
 
$
22,520

Basic weighted-average common shares outstanding
28,297

 
27,863

Dilutive effect of employee stock awards

 
900

Diluted weighted-average common shares outstanding
28,297

 
28,763

Net (loss) income per share - Basic
$
(0.64
)
 
$
0.81

Net (loss) income per share - Diluted
$
(0.64
)
 
$
0.78

Restricted stock units and stock options representing approximately 0.8 million and 0.0 million shares of common stock for the three months ended March 28, 2020 and March 30, 2019, respectively, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive.
XML 17 R14.htm IDEA: XBRL DOCUMENT v3.20.1
Accrued Expenses
3 Months Ended
Mar. 28, 2020
Accrued Liabilities, Current [Abstract]  
Accrued Expenses Accrued Expenses
Accrued expenses consisted of the following at (in thousands):
 
March 28, 2020
 
December 28, 2019
Accrued other compensation
$
16,232

 
$
13,331

Accrued warranty
13,998

 
13,856

Current portion of operating lease liabilities
6,950

 
6,843

Accrued bonus
3,820

 
12,541

Accrued direct fulfillment costs
3,536

 
10,582

Accrued sales and other indirect taxes payable
2,460

 
12,440

Accrued federal and state income taxes
1,722

 
3,378

Accrued other
7,083

 
8,797

 
$
55,801

 
$
81,768


XML 18 R10.htm IDEA: XBRL DOCUMENT v3.20.1
Revenue Recognition (Notes)
3 Months Ended
Mar. 28, 2020
Revenue Recognition and Deferred Revenue [Abstract]  
Revenue from Contract with Customer [Text Block] Revenue Recognition
The Company primarily derives its revenue from product sales. The Company sells products directly to consumers through on-line stores and indirectly through resellers and distributors. Revenue is recognized upon transfer of control of promised products or services to customers, generally as title and risk of loss passes, in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. Revenue is recognized only to the extent that it is probable that a significant reversal of revenue will not occur. Taxes collected from customers, which are subsequently remitted to governmental authorities, are excluded from revenue. Shipping and handling expenses are considered fulfillment activities and are expensed as incurred.
The Company’s product portfolio includes various consumer robots, many of which are Wi-Fi connected. The consumer robots are generally highly dependent on, and interrelated with, the embedded software and cannot function without the software. As such, the consumer robots are accounted for as a single performance obligation, and the revenue is recognized at a point in time when the control is transferred to distributors, resellers or directly to end customers through on-line stores. For certain consumer robots with Wi-Fi capability ("connected robots"), each sale represents an arrangement with multiple promises consisting of the robot, an app, cloud services and potential future unspecified software upgrades. The Company has determined that the app, cloud services and potential future unspecified software upgrades represent one promised service to the customer to enhance the functionality and interaction with the robot (referred to collectively as "Cloud Services").
For contracts that contain multiple performance obligations, the transaction price is allocated to each performance obligation based on a relative standalone selling price ("SSP"). The SSP reflects the Company's best estimate of what the selling prices of performance obligations would be if they were sold regularly on a standalone basis. Revenue allocated to the robots is recognized at a point in time when control is transferred. Revenue allocated to the Cloud Services is deferred and recognized on a straight-line basis over the estimated period the software upgrades and services are expected to be provided. For contracts with a duration of greater than one year, the transaction price allocated to performance obligations that are unsatisfied as of March 28, 2020 is $4.4 million. The Company does not disclose the value of unsatisfied performance obligations for contracts with an original expected duration of one year or less.
The Company’s products generally carry a one-year or two-year limited warranty that promises customers that delivered products are as specified. The Company does not consider these assurance-type warranties as a separate performance obligation and therefore, the Company accounts for such warranties under ASC 460, "Guarantees."
The Company provides limited rights of returns for direct-to-consumer sales generated through its on-line stores and certain resellers and distributors. The Company records an allowance for product returns based on specific terms and conditions included in the customer agreements or based on historical experience and the Company's expectation of future returns. In addition, the Company may provide other credits or incentives which are accounted for as variable consideration when estimating the amount of revenue to recognize. Where appropriate, these estimates take into consideration relevant factors such as the Company’s historical experience, current contractual requirements, specific known market events and forecasted inventory level in the channels. Overall, these reserves reflect the Company’s best estimates, and the actual amounts of consideration ultimately received may differ from the Company’s estimates. Returns and credits are estimated at contract inception and updated at the end of each reporting period as additional information becomes available and only to the extent that it is probable that a significant reversal of any incremental revenue will not occur. As of March 28, 2020, the Company has reserves for product returns of $47.7 million and other credits and incentives of $83.2 million. As of December 28, 2019, the
Company had reserves for product returns of $55.2 million and other credits and incentives of $134.0 million. Revenue recognized during the three months ended March 28, 2020 related to performance obligations satisfied in a prior period was not material.
Disaggregation of Revenue
The following table provides information about disaggregated revenue by geographical region (in thousands):
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
United States
$
81,967

 
$
114,065

EMEA
66,659

 
74,569

Other
43,909

 
49,027

Total revenue
$
192,535

 
$
237,661


Contract Balances
The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):
 
March 28, 2020
 
December 28, 2019
Accounts receivable, net
$
37,013

 
$
146,161

Contract liabilities
7,706

 
6,991

The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities primarily relate to prepayments received from customers in advance of product shipments. The change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended March 28, 2020 and March 30, 2019, the Company recognized $3.6 million and $5.8 million, respectively, of the contract liability balance as revenue upon transfer of the products to customers.
XML 19 R18.htm IDEA: XBRL DOCUMENT v3.20.1
Commitments and Contingencies
3 Months Ended
Mar. 28, 2020
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
Legal Proceedings
From time to time and in the ordinary course of business, the Company is subject to various claims, charges and litigation. The outcome of litigation cannot be predicted with certainty and some lawsuits, claims or proceedings may be disposed of unfavorably to us, which could materially affect our financial condition or results of operations. For the following litigation matters, a liability is not probable or the amount cannot be reasonably estimated and therefore accruals have not been made.
On October 24, 2019, purported Company shareholder Miramar Firefighters’ Pension Fund filed a putative class action in the U.S. District Court for the Southern District of New York against the Company and certain of its directors and officers, captioned Miramar Firefighters’ Pension Fund v. iRobot Corporation, et al., No. 1:19-cv-09837.  The case has been transferred to the U.S. District Court for the District of Massachusetts. A similar case captioned Campbell v. iRobot Corporation, et al., No. 1:19-cv-12483 was also filed in the U.S. District Court for the Southern District of New York and subsequently transferred to the U.S. District Court for the District of Massachusetts. On January 24, 2020, the Court consolidated the Miramar and Campbell cases and appointed a lead plaintiff and lead plaintiff's Counsel. On April 3, 2020, the plaintiff filed an amended complaint alleging violations of Sections 10(b) and 20(a) of the Securities Exchange Act of 1934 and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the impact of competition and Section 301 tariffs on the Company’s financial performance.
On December 20, 2019, purported Company shareholders David Katz and Thomas Wightman, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court for Southern District of New York against the Company and certain of its directors and officers, captioned David Katz and Thomas Wightman, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:19-cv-11692. The complaint alleges breaches of fiduciary duties, unjust enrichment, violations of Sections 10(b) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief. This case has been transferred to the U.S. District Court for the District of Massachusetts.
On January 9, 2020, purported Company shareholder Robert Truman, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court for the District of Massachusetts against the Company and certain of its directors and officers, captioned Robert Truman, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10034. The complaint alleges breaches of fiduciary duties, unjust enrichment, abuse of control, gross mismanagement, waste of corporate assets, and violations of Sections 10(b), 14(a) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief.
On January 22, 2020, purported Company shareholder Alexa Ruhfass, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court of the District of Massachusetts against the Company and certain of its directors and officers, captioned Alexa Ruhfass, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10133. The complaint alleges breaches of fiduciary duties, unjust enrichment, waste of corporate assets, and violations of Sections 14(a) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief.
On February 10, 2020, purported Company shareholder William Tasco, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court for the District of Massachusetts against the Company and certain of its directors and officers, captioned William Tasco, derivatively on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-
cv-10253. The complaint alleges breaches of fiduciary duties, unjust enrichment, abuse of control, gross mismanagement, waste of corporate assets, and violations of Sections 10(b), 14(a) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief.
Outstanding Purchase Orders
At March 28, 2020, the Company had outstanding purchase orders aggregating approximately $154.0 million. The purchase orders, the majority of which are with the Company's contract manufacturers for the purchase of inventory in the normal course of business, are for manufacturing and non-manufacturing related goods and services, and are generally cancelable without penalty. In circumstances where the Company has determined that it has financial exposure associated with any of these commitments, the Company records a liability in the period in which that exposure is identified.
Guarantees and Indemnification Obligations
The Company enters into standard indemnification agreements in the ordinary course of business. Pursuant to these agreements, the Company indemnifies and agrees to reimburse the indemnified party for losses incurred by the indemnified party, generally the Company’s customers, in connection with any patent, copyright, trade secret or other proprietary right infringement claim by any third party. The term of these indemnification agreements is generally perpetual any time after execution of the agreement. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is unlimited. The Company has never incurred costs to defend lawsuits or settle claims related to these indemnification agreements. As a result, the Company believes the estimated fair value of these agreements is minimal. Accordingly, the Company has no liabilities recorded for these agreements as of March 28, 2020 and December 28, 2019, respectively.
Warranty
The Company provides warranties on most products and has established a reserve for warranty obligations based on estimated warranty costs. The reserve is included as part of accrued expenses (Note 7) in the accompanying consolidated balance sheets.    
Activity related to the warranty accrual was as follows (in thousands):
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Balance at beginning of period
$
13,856

 
$
11,964

Provision
4,475

 
2,652

Warranty usage
(4,333
)
 
(2,988
)
Balance at end of period
$
13,998

 
$
11,628


XML 20 R33.htm IDEA: XBRL DOCUMENT v3.20.1
Summary of Significant Accounting Policies Credit Losses (Details) - USD ($)
$ in Millions
3 Months Ended
Mar. 28, 2020
Dec. 28, 2019
Credit Loss [Abstract]    
Accounts Receivable, Allowance for Credit Loss, Period Increase (Decrease) $ 4.5  
Accounts Receivable, Allowance for Credit Loss $ 5.7 $ 1.2
XML 21 R37.htm IDEA: XBRL DOCUMENT v3.20.1
Revenue Recognition Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Disaggregation of Revenue [Line Items]    
Revenue from Contract with Customer, Excluding Assessed Tax $ 192,535 $ 237,661
UNITED STATES    
Disaggregation of Revenue [Line Items]    
Revenue from Contract with Customer, Excluding Assessed Tax 81,967 114,065
EMEA [Member]    
Disaggregation of Revenue [Line Items]    
Revenue from Contract with Customer, Excluding Assessed Tax 66,659 74,569
All Other Regions [Member]    
Disaggregation of Revenue [Line Items]    
Revenue from Contract with Customer, Excluding Assessed Tax $ 43,909 $ 49,027
EXCEL 22 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( %=YH5 ?(\\#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,$% @ 5WFA4"?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 " !7>:%0)8,K">\ K @ $0 &1O8U!R;W!S+V-O M&ULS9)12\,P$,>_BN2]O;1;!4/7%\6G"8(#Q;>0W+9@TX3DI-VW-XU; MA^@'\#%W__SN=W"M\D*Y@,_!>0QD,-Y,MA^B4'[#CD1> $1U1"MCF1)#:NY= ML)+2,QS 2_4A#P@UY[=@D:26)&$&%GXALJ[52JB DEPXX[5:\/XS]!FF%6"/ M%@>*4)45L&Z>Z$]3W\(5,,,(@XW?!=0+,5?_Q.8.L'-RBF9)C>-8CJN<2SM4 M\/:T?%Z5-^PR^75U_[![9%W-:U[PIN#5KFH$OQ/KYGUV M_>%W%;9.F[WYQ\87P:Z%7W?1?0%02P,$% @ 5WFA4)E&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T M$W-I=MNTF83M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY M\^XN8NB&B)3R> +]O6N[!3+UES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4? M,_@5RU2-9:,!$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA M5,+$P&IG/U9KQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M M&N#C\7@XMLO2BW A(5M>5 TR 6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T M1G*=D 4. #?$T4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH]5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J M-2S%UGB5P/&MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2. MFJW"$2M"/F(9-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$. M$9)>-T(^8LZ+D!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]07 M2N0/)J<_Z3(T!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL! M_]':-\*K^(+ .7\N?<^E[[GT/:'2MSAD M6R4)RU3393>*$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W MF)&Y"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>( M\J(A[J&&F,_#0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R M4E5@,5O& RN0HGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K> M9;'!51W/55ORL+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4X MOT4SMA*7&+SCYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5 MYYN MTB42%(JP# 4A%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+ MA=OB5,V[&KXF8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'YA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> , M?-2K6J5D*Q$_2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H: M,]6+K#F-"F]!U4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ M 5!+ P04 " !7>:%0)0NOR#,# Z#P & 'AL+W=OJT[3=-G 05< 9. MTKW]C$-9YGN\/P7,.??8')^X=W'1[6MW4,I$;W75=,OX8,SQ/DFZS4'517>G MCZJQ;W:ZK0MC']M]TAU;56P=J:X22M-)4A=E$Z\6;NRI72WTR51EHY[:J#O5 M=='^?E25OBQC$;\//)?[@^D'DM7B6.S5-V6^'Y]:^Y2,5;9EK9JNU$W4JMTR M?A#W:TD]P2%^E.K2W=Q'_5)>M'[M'SYOEW':STA5:F/Z$H6]G-5:555?R<[C MUU T'C5[XNW]>_6/;O%V,2]%I]:Z^EENS6$9S^)HJW;%J3+/^O))#0O*XVA8 M_1=U5I6%]S.Q&AM==>YOM#EU1M=#%3N5NGB[7LO&72_7-UDVT#"!!@*-!)G^ MER '@AP)PBDDUYFYI7XH3+%:M/H2M5>WCD6_*<2]M!]STP^Z;^?>V=5V=O2\ M2A?)N2\S(!ZO"+I!B!&1V-JC "&!1V)T^E=@S1$2"TBX NGH\H:>87H&Z9FC M9S?TW/L '#'! CD4R!E]Z@EPQ P+3*# A-'GG@!'B!0K3*'"E/.%)P$@A"5F M4&+&^=*3 )" TW,H,>=\WVH "7@M4ARGE%?P[4:8@.$B$%K!*_B> PP%3!

7?=H0)^"YP?(7D%7SG 2:TNP1.N> AILQ7 9@\H(*C+GB2:>*K ,PT MH(+S+GB<:>:K ,P\H((S+WBB)3L: "9P. @<>\%#+?>*ZE[S["!-PGG'WBN^ M^P@3<)]P]HGG.O/=1YB0^SC[Q'.=,??>*XS M_WP!F* *SC[Q7.=LCX%#/Z2"LT\\U[E_BB%,0$7B[$N>Z]P_Q1 FI(*S+WFN M3U@&#ZPN3O_!K5_FU:/=ETT4OVMA^R'4M.ZV-LA-*[^Q4#K:1'1\JM3/] M[=3>M]=N[OI@]''H5).Q75[] 5!+ P04 " !7>:%0.&C9,D4$ !+% M& 'AL+W=O7IOW> M'4+H%S_KZM2MEX>^/S]D6?=\"'79?6G.X11_>6G:NNSC:?N:=> J/[:)[J^NR_6\;JN:R7L+RX\*WX^NA'RYD MF]6Y? U_A?[O\V,;S[+;*/MC'4[=L3DMVO"R7OX"#SNMAX!1\<\Q7+K9\6)( MY:EIO@\GO^_72S4X"E5X[HR"[NF^O>X[P_KI5\N]N&E?*OZ;\WEMS E9)>+*?L_PGNHHGQP$N=X;JIN M_%P\OW5]4T^C1"MU^?/Z?3R-WY=I_(\P.0"G +P%@/DT0$\!F@1D5V=CJK^6 M?;E9M+X]J-O\5LNWCU?6/=*GL?QIDDVZL$9Q*\ M5^RXPOJ;)(OSWTR@: +'>#V/+^1X+<;K,=[,XG-%DKA*\E%RNB9AO,L]R420 MZ4(7*+LQHAO#W0!Q+&B%\N]D)NWM6P6[11HXH6K MP.0P2^S.3"Z:R;D9,LTVEQ8T906:=-DYVXT0WCKLQQ(UCTQAPABX-5VF# MWLI>O.C%/'3$S<%F\9%,Z3H=H+*%CZ! M!E RH!1WPPBE^.+8PM+BEF3.N)2?!#"!^_'4#P@/CG) _4@R5R1J"F1V G(_ M!?6#O%[ :^>H(5'G4L@!F<; <>PHCB?-_4S.,T."#+5-^9%Y#!S(]%9L@;-6 MQ_5A3Y @4U D:AUD)@.'LJ-0!LY;'WLS3=DCZ I4SNJ$(QG,D+,7L$N-(,,4 M.$T=I2EP4#HW1].4$I=!?-&D@ HR48$CU5&D@@!+ZQ4K4R[S,&\=[OW(3 4. M54>A"IR7$? 4JH+*6)/HEU"&*G*H4AALD=,2M->:UH2@0X56)8H49:PBQRJM MOBUR7L9WCC'4D" S!:8ZTD1+RK'J*%91P*6RS Y7%9!:')FHR(GJ*5%1(JIB M[T!)IF*_DO C$Q4Y43TE*G)4YA9L3OT(LECL*3\R49$3U5.B(BYS;Q*.9*(B[W4][74E#7/SJ>;>B4QFY&3V%(3(D4NI\ZGDWH<,9.1 ]A2 MR$F+M.IVDBBY)C*,D<.8MAY;Y)@%9UW!%D;0%;FQB=>5EH&L.9 ]Q9\6VE=M M@*[B3M)9U)CH*[4,9,V!["D -2=MCNP9%E1:J=0??!G'FN.8WHFMYJ"-_U"M MI@^0I+.H\I2CQ)X#9W)!&:CY=H+8Q0DZL8O+9KLZPS;;GV7[>CQUBZ>F[YMZ MW,9Y:9H^Q#'5EYC?(93[VTD57OKAT,7C]KJ]=3WIF_.T=9?=]@\W_P-02P,$ M% @ 5WFA4*IB6?T. @ 708 !@ !X;"]W;W)K.^$(J 93VPG=MY]M M*"+&:YL7L>_\O[O?F7#)!LJ>>0T@G->6=#QW:R'Z'4+\5$.+^8;VT,F3BK(6 M"VFR,^(] USJH):@P/-BU.*F].G\ENN?1>B[L@0U>59Y+CX[1(B-"!&2:0EW5C"TQ\#Y6/=#4]HY0G7/%N#9RU)#K>?<^S/J'/*&^88BM3O&9*#*9X M52E(TB1>(UF$:1@%_R5*K$3)FB@UB)+/$EF$=B*T>-'5X/V)V;GIN'.D0LX, M_697E J02;V-S%?+63\;!"JAMHGTR,4=@, $L. 8 >&PO=V]R:W-H965T&UL MC9=O;YLP$,:_"N)]@^_ V%1)I(9IVJ1-JC9M>TT3)T$#G('3;-]^YD^SU#ZV M]44!Y_'=[XQY;"\ONOW>'94RP<^Z:KI5>#3F=!]%W?:HZJ);Z)-J["][W=:% ML8_M(>I.K2IV0Z>ZBI"Q-*J+L@G7RZ'ML5TO]=E49:,>VZ [UW71_MJH2E]6 M(80O#9_*P]'T#=%Z>2H.ZK,R7TZ/K7V*KE%V9:V:KM1-T*K]*GR ^QR'#H/B M:ZDNWRV:X7J;X+]WH#CAUP&L'F_MO'>*I0_RG0S(4 M/Y(-I;XI3+%>MOH2M./;.A7]I(#[V [FMF\ M-P$H<3.+&#P[T\*%T6 M7Q,S(6B2E"1)"9+$(4FI@>&2.3"43-JQH7$$B2,('*?HC?#R")%Q=VA\%4#& MDY2FD22-)&A2AT;ZKR 5W/E@9$RHIXYF1 M 4:;%"-PI&M3S)_#"1?.3,\I&69L9A[#C&O"?WQ3D^A5)NX.#R42,VX#I,$^ M !(PGHFCER>3X'U6E$R@C&> :#L&PH^!N4"QE^D.&:+[:1$Z1$SGB&A'!L*2 MP5TAP#?;.W"_+4($*&=6*Z -&0A'!G>! -]N^_%)O E$6'?,D[GQH8T9"&<& M;S[[GGN'WDS+"9E=_N9X:&<&PIK!72DF4?KJ?4GPEG1"9Z<9SKTSVIV!L&=P M%XM))&Z)V"+U7IDO8PMI]SPW?W,60-LU$'X-[N(QB?Y)Y\O80LSL.) V;"0, MVQLM))Q88N8L,SDE$W+. ) V;"0,VQL@)+R8 J)DP@.*;K;@M6H/PVFE"[;Z MW)A^MWO3>CT1/6"_A7?:-_:D-)YK_H09CUD?B_90-EWPI(T]( S;^+W61EE* MMK!\1WNRNSY4:F_Z6V'OV_%X,SX8?9J.;M'U_+C^#5!+ P04 " !7>:%0 M1-72NE0" A!P & 'AL+W=O^,UQL)Y;TG'MVXM1+_Q/%[5N$7\B?:XDV].E+5(R"4[>[QG&!UU4DL\ MZ/NQUZ*F^;P2]LB]G>'"1VV+G!O@9?F7 L5\(J\1V?\ M$XO7?L_DRIM9CDV+.][0SF'XM'6?P:;,%%X#?C5XX(NYHYP<*'U3BV_'K>LK M09C@2B@&)(NNFKG/$ M)W0AXH4.7_'D)W*=R?QW?,5$PI426:.BA.NG4UVXH.W$(J6TZ'T8&>%)]KD$M)78P54ZO"]0KA' ]^TE JN+ M0!.$=RY"P\6(B36FTYA/( 5!9&A9PR",X ,UH55-J"F".S6IG2"R$D06.YEA M9\1$2SN9Z;FT@&"8/# 36[7$:RV+W1BUQ*LR49R86M:@,/4?'*3$*B6Q2 && ME&3M&(1Q:FA9HX ?VZ6D5BFI18IQJG>I18KQ:Y5K# "!74AF%9)9A 2&D,QR M\L,T-KYBN8;!R%\=%F_165K,SKH)BETZH?W@1G?O\,U2=R8CO9/\?V_4' MS7AY_$#LW'3<.5 A^Y[N3B=*!98B_2>Y5[6\K^8%P2>AIHF&PO=V]R:W-H M965T&ULC5AA;Z-&$/TKEK_[8&?978AL2XT3JY5:*;JJ[6<2 M;V+KP+A XNN_+V#B,S,/^[[$0-[LO)W=?6]@?BS*;]76^WKR/<_VU6*ZK>O# M71!4+UN?I]67XN#WS7]>BS)/Z^:V? NJ0^G331>49P&%H0WR=+>?+N?=LZ=R M.2_>ZVRW]T_EI'K/\[3\[]YGQ7$Q5=//!U]W;]NZ?1 LYX?TS?_IZ[\.3V5S M%YQ'V>QROZ]VQ7Y2^M?%]!=UM]9=0(?X>^>/U<7UI)W*LS]"4,#C!EB5@ACAY@'A'%#S"/"Q$/,&F&2,R9HYGN>-,%) M4S= =#F #MF$3AC38?8=AIR+XS ,<28-,VF02;'RGC#V(I/11A,Q0A)&CE7F M06*4:VBSC(\2IJT+B<'6$C:+7!3C^4=P_A&8/Y]8)"KMW&B9#4QC0!K-RFSD M@AK+0"LC"\A*#(!_*P8WOO1!Y^#IS<=JPB M7,)>^^EA*GX\1$W.D ;D8J&;$ZA75= M(6$7^Q$H>ZR;Y>7<5S^#'-+"-J"0#XC5D3)OFU0VX:2 '<1/UQAZBD(GP9D1)%TE$$]"#+HLM M#L+U<8:],+8B0E;$J9#T#Y7HT=(0-A!"!L);$I+6('IS=;,I :.,=24T\I* MWA)X7T+2.HQ*N/O>0@WI8(LA]"K!>Q.2WC&+S/@R8?,@9!Z\.2%I'C,5_CF2$/.V(,(>1#O30C8 3FV =>W4$,ZV L(>('H30@HO-@Z5S%#*EC_ M">B_Z$U(ZGJ[!OQP/A)H]H>X(24LQ@3$F'OR/4DQGEFK;3AVC+$<$Y#CB'@N MJ;0SDOW$"N$<7S'P@D!1DFA,6V-5UDB5^0;24I7)QK;*&'\<5P)%CH < :EH]E_!6#^ B':F8"=(:D;ML84Y5""Z^G[7?6/]( MR[?=OIH\%W5=Y-T'L]>BJ'TS8OBEJ>K6IYOS3>9?Z_;2-=?EZ=OFZ:8N#OUW MV^#\\7CY/U!+ P04 " !7>:%02JI<)P,$ #,$0 & 'AL+W=O)(6MH&UBZ(!$F"1HNVU MUJ8/B"2ZDKQ.WK[481TO9]@;2Z)_#O\AJ8\4ES?7?N].UO;)C[IJNE5ZZOO+ M4Y9UNY.MR^Z3N]C&_W-P;5WV_K$]9MVEM>5^K%17&3"FL[H\-^EZ.9:]M.NE MN_;5N;$O;=)=Z[IL?VYLY6ZKE*?O!=_.QU,_%&3KY:4\VC]M_]?EI?5/V3W* M_ES;ICN[)FGM894^\Z>M8$.%4?'WV=ZZA_MD2.75N>_#P^?]*F6#(UO973^$ M*/WES6YM50V1O(]_YZ#IO_3?Q^1],J]E9[>N^N>\[T^K-$^3O3V4 MUZK_YFY_V#DAE29S]E_LFZV\?'#BV]BYJAM_D]VUZUT]1_%6ZO+'=#TWX_4V MQW^O1E> N0+<*_BV_Z^"F"N(7Q7DF/SD;$SUM[(OU\O6W9)V&JU+.4P*_B1\ M9^Z&PK'OQO]\MITO?5MS*9;9VQ!HUFPF#3QJ[HK,1[\W 503&T#5X6,#6ZS@ MC-%-"#(+,080'[*0= !)!I!C /D8@,N@&R:-'C7-J%GPG L5)(-E HBZ2C2 MC2+2470 30;0.!VI@W0FC7KP::0J@F2P*#<0Z5E#6C&$%1-8,:@5Q0L>6,$B MG>N(E9RTDA-6\L!*CEI9* A$6RSB1A2TE8*T4A!6@K[?%+@5)<)>H402:"N< MT0A@>+JIR'SE$8IPG(_B(48X]LKR',(7B-1II2/0X21UGCD@2QJ!#5!+11Y. MB2VA6G _]T3$#XTH+K"?D#"SYN/LTSS$)26#@L?\T,3C&'D&^9&X(>G)RD)# MA$Z!B2&8T]3CBIA$$%I21.Y:,C2)*!T8,!%+-$!G(!IR+(O-/QJ"0$ 0+:6 Z;8 Y5?WT VA MDUK&9@]-02 VE6@Q!;QA7/A]1.@'JT#G$3SPW7?+J>O^%/GY''YSKK;?)/OD^.]ER?W^H[*$?;HV_;Z?SA>FA=Y?Y M["2['^"L_P-02P,$% @ 5WFA4.P]A3.R 0 T@, !@ !X;"]W;W)K MV.P%2K].T2:MTZK3V MF XU_:F,5]^C:AKG. J\B2$F6)LDU4UQH6F0Q=K1%9GHOA8:C):Y7BMNW M T@SY'1#+X%'T;0^!%B1=;R!G^!_=4>+'IM9*J% .V$TL5#G]&ZS/^Q"?DQX M$C"XA4U")R=C7H+SOY!RD"$,GY/G'0N&8!+^\+^-?:. MO9RX@WLCGT7EVYS>4E)!S7OI'\WP#:9^/E$R-?\#SB Q/2C!&J61+GY)V3MO MU,2"4A1_'4^AXSE,_!?8.B"= .D' !L+1>5?N.=%9LU [#C[CH:%0B)F_*,$! W! & 'AL+W=O]"@%3%P#KX"N[;<#9^15:6ADM0EFN%#+0EOL^.ISS@(^ [A\ENYBA4 M!4,@H':!@?GA"@\@1"#R-GXNG'B5#(G;^0O[AUB[K^7"+#QH M\8,WKB_Q'48-M&P4[E%/'V&I)\=H*?XS7$%X>'#B-6HM;/RB>K1.RX7%6Y'L M>1ZYBN,T[^39DI9.H$L"71/NH@Z9A:+S]\RQJC!Z0F8^^X&%*\Z.U)]-'8+Q M*.*>-V]]]%IEMUE!KH%HP9QF#-UB5@3Q[*L$34F&_):8P^[1(GA3)$P2'-R(I3/Y&A&PN3H+IXI.UJ-:CBNVRB:Y= M<4_CQ;_"YY;ZPDS'E447[?SSB9?<:NW 6]G=>"^][^)U(:!U87KKYV9^R_/" MZ6%I4[+^*ZK?4$L#!!0 ( %=YH5#!?;(&MP$ -(# 9 >&PO=V]R M:W-H965T8J=DT+#R1#;*<7- MVQ$D]AE=TP_'LZ@;%QPL3UM>PT]PO]J3\1:;6$JA0%N!FABH,GJW/ARW(3X& M_!;0V]F9A$K.B"_!^%YF=!4$@83"!0;NMPO<@Y2!R,OX.W+2*64 SL\?[(^Q M=E_+F5NX1_E'E*[)Z)Z2$BK>2?>,_3<8Z[FF9"S^!UQ ^O"@Q.]'VZNDQ&V#$A&0#(!]C$/&Q)%Y0_<\3PUV!,S]+[EX8G7 MA\3WI@C.V(IXY\5;[[WDZ]U-RBZ!:(PY#C')/&:*8)Y]2I$LI3@F_\&39?AF M4>$FPC>?%.Z6";:+!-M(L/U$L/]2XE+,[9(#KR4U94?H<9_L,F04+EPW/FS&<9L,!RV MXP]BTS?.WP%02P,$% @ 5WFA4'%:YL.V 0 T@, !D !X;"]W;W)K M&UL=5-A;]P@#/TKB!]0WXV)AN-?7(M@"?/6G4NIZWW_9$Q5[:@ MA;LQ/71X4QNKA4?3-LSU%D0505HQGB0?F!:RHT46?6=;9&;P2G9PML0-6@O[ MYP3*C#G=T1?'HVQ:'QRLR'K1P'?P/_JS18LM+)74T#EI.F*ASNG=[GC:A_@8 M\%/"Z%9G$BJY&/,4C"]53I,@"!24/C (W*YP#TH%(I3Q>^:D2\H 7)]?V!]B M[5C+13BX-^J7K'R;TP,E%=1B4/[1C)]AKN>6DKGXKW %A>%!">8HC7)Q)>7@ MO-$S"TK1XGG:91?W<;I)#S-L&\!G %\ AYB'38FB\D_"BR*S9B1VZGTOPA/O MCAQ[4P9G;$6\0_$.O==B=T@R=@U$<\QIBN'KF"6"(?N2@F^E./%_X'P;GFXJ M3",\?:/P/_GWFP3[2+!_0\#?E;@5D[Y+PE8]U6";.$V.E&;HXB2OO,O WO'X M)J_AT[1_$[:1G2,7X_%E8_]K8SR@E.0&1ZC%#[88"FH?CA_Q;*4;%W\!4$L#!!0 ( %=YH5#_*ME1M0$ - # 9 >&PO=V]R:W-H M965T)R/VKS8#L"A5RF4+7#G7'\@Q%8=2&:O M= _*WS3:2.:\:5IB>P.LCB0I"-WM;HAD7.$RC[Z3*7,].,$5G RR@Y3,O!U! MZ+' "7YW//&V<\%!RKQG+?P"][L_&6^11:7F$I3E6B$#38%OD\,Q"_@(^,-A MM*LS"I6]/@ EF@FFD MI^OH^VQ;(-L4R*) ]K\*OT*2_?6G&&3540FFC;-D4:4'%>=XY5W&]38^(?F M3[/^R$S+E45G[?R[QNXW6COPJ>RN_ !U_GLMAH#&A>,W?S;3D$V&T_W\?\CR MB&PO=V]R:W-H965T M0-DA MIUOZ[GB131NB@Q59)QKX N%K=W9HL9FEDAJ,E]80!W5.'[;'TS[&IX!O$@:_ M.)-8R<7:UVA\K'*ZB8) 01DB@\#M"H^@5"1"&3\F3CJGC,#E^9W].=6.M5R$ MAT>KOLLJM#D]4%)!+7H57NSP :9Z;BF9BO\$5U 8'I5@CM(JGU92]CY8/;&@ M%"W>QEV:M _CS>UN@JT#^ 3@,^"0\K Q45+^)((H,F<'XL;>=R(^\?;(L3=E M=*96I#L4[]%[+;:'NXQ=(]$4S_6^):S.&O)&S14PVN2=/D26E[DR9YX9T']H&G-_D=/D[[ M9^$::3RYV( OF_I?6QL I6QN<(1:_&"SH: .\7B/9S>.V6@$VTT_B,W?N/@% M4$L#!!0 ( %=YH5 R->-!LP$ -(# 9 >&PO=V]R:W-H965TW%VBG-MKX![B7<\[]X)*/:%YL!^#(JY+:%K1SKC\Q9JL.%+PE=PW_J+\19;5&JA0%N!FAAH"OJX.YVS@(^ [P)&NSJ34,D5 M\248G^J")B$AD%"YH,#]=H,GD#((^31^SIIT"1F(Z_-=_4.LW==RY1:>4/X0 MM>L*>J"DAH8/TCWC^!'F>MY0,A?_&6X@/3QDXF-4*&U<2358AVI6\:DH_CKM M0L=]G&ZR.VV;D,Z$="$<(H%-@6+F[[GC96YP)&;J?<_#$^].J>]-%9RQ%?'. M)V^]]U;N#L>KI-WV]FN(_T_3KZ,=D6 MR#8%LBB0_;?$#>5=!O8QC6_R!SY-^Q=N6J$M MN:+S+QO[WR Z\*DD#WZ$.O_!%D-"X\+QG3^;::%0@'2[[,,! W! &0 'AL+W=OLSL:]M5# NX+C[^P%V M/#?EQ<#EG'//!:[30>DWTP!8]"%%:S+<6-OM"3%% Y*9&]5!ZW8JI26S;JEK M8CH-K PD*0A=K6Z)9+S%>1IB1YVGJK>"MW#4R/12,OWW $(-&5[C2^"%UXWU M 9*G':OA%]C?W5&[%9E52BZA-5RU2$.5X?OU_I!X? #\X3"8Q1SY2DY*O?G% M]S+#*V\(!!36*S WG.$!A/!"SL;[I(GGE)ZXG%_4GT+MKI83,_"@Q"LO;9/A M.XQ*J%@O[(L:GF&J)\%H*OX'G$$XN'?BK;T"Z+Z-P5]S1< M_'_XV%(_F:YY:]!)6?=\PB572EEP5E8WSDOCNGA>"*BLG^[<7(]O>5Q8U4UM M2N9_1?X/4$L#!!0 ( %=YH5!8N^Z(Q0$ #<$ 9 >&PO=V]R:W-H M965TP4DC,TC)]-L1 MA!ISO,$?@6?>M-8'2)'UK('O8'_T)^U69&&IN(3.<-4A#76.[S>'X\[C ^ G MA]&LYLA7A7&<=M+;.2V>0.<$NB3L@PZ9A(+SS\RR(M-J1'HZ^Y[Y*]X< MJ#N;T@?#480]9]ZXZ*78W.TS@:LR"(8U\D:$SB2/])I_'T-.HP M#>GI7P[OX@3;*,$V$&S7^DER56(,\Y\B=U&1782 7HG$,.F5"%E=G 3=A"=K M4*F&+K3+*KITQ3T-%_\'/K74$],-[PPZ*^N>3[CD6BD+SDIRX[RTKHN7A8#: M^NDG-]?36YX65O5SFY+E7U&\ U!+ P04 " !7>:%0C%VAU;8! #2 P M&0 'AL+W=OXR*+O:(I, M]TYP!4>#;"\E,W\/(/20XPV^.%YXT[K@($76L09^@7OMCL9;9&:IN 1EN5;( M0)WCN\W^D(;X&/#&8;"+,PJ5G+1^#\93E>,D" (!I0L,S&]GN +^R/L79?RXE9N-?B-Z]$VPK=?%.[6"=)5@C02I%\(KK^5N!9S\RT)6?14@FGB-%E4 MZE[%25YXYX&]H_%-/L/':?_)3,.512?M_,O&_M=:._!2DBL_0JW_8+,AH';A M>.//9ARST7"ZFWX0F;]Q\0]02P,$% @ 5WFA4'?!48&V 0 T@, !D M !X;"]W;W)K&UL?5/;;M0P$/T5RQ]0)]XM+*LD M4K<(@032JHCR[$TF%]678#N;\O>,G30$&O7%]HSGG#DS'F>CL4^N!?#D64GM M09LQI2E\<#UW3^N!@1=:+!KZ#_]&?+5IL8:DZ!=IU1A,+ M=4[OTN-I'^)CP&,'HUN=2:CD8LQ3,+Y4.4V"()!0^L @<+O"/4@9B%#&KYF3 M+BD#<'U^8?\4:\=:+L+!O9$_N\JW.3U04D$M!ND?S/@9YGIN*9F+_PI7D!@> ME&".TD@75U(.SALULZ 4)9ZGO=-Q'Z>;6S[#M@%\!O %<(AYV)0H*O\HO"@R M:T9BI][W(CQQ>N38FS(X8ROB'8IWZ+T6/#ED[!J(YIC3%,-7,>D2P9!]2<&W M4ISX*SC?AN\V%>XB?/>/P@_;!/M-@GTDV+]9XD9,FOR7A*UZJL V<9H<*]/,/8LLW+OX 4$L#!!0 ( %=YH5#RM0:SM@$ -(# 9 M>&PO=V]R:W-H965T("7J=_7\".XR3."S##G#-GAB$?M7FV'8!#+U(H6^#. MN7Y/B*TZD,Q>Z!Z4OVFTDM? +W._^:+Q%%I::2U"6:X4,- 6^ M2?:'+,3'@#\<1KLZHU#)2>OG8'RO"[P+@D! Y0(#\]L9;D&(0.1E_)TY\9(R M -?G5_;[6+NOY<0LW&KQQ&O7%?@:HQH:-@CWJ,<'F.NYQ&@N_@><0?CPH,3G MJ+2P<4758)V6,XN7(MG+M',5]W&Z22]GV#: S@"Z *YC'C(EBLKOF&-E;O2( MS-3[GH4G3O;4]Z8*SMB*>.?%6^\]ES1)5)SD ME7<9V!L:W^0M?)KVG\RT7%ETTLZ_;.Q_H[4#+V5WX4>H\Q]L,00T+AR_^;.9 MQFPRG.[G'T26;US^!U!+ P04 " !7>:%0,#A:)K4! #2 P &0 'AL M+W=OI\< M3[L0'P-^2!CLXDQ")1?$EV!\+3.Z"8) 0>$"@_#;%1Y J4#D9?R:..F<,@"7 MYP_VS[%V7\M%6'A ]5.6KLGH'24E5*)7[@F'+S#5F",[8BGCGQ5OOO>8\N4W9-1!-,:?8Y!5]+<>+_ MP/DZ?+NJ:%0%4C&L;8! #2 P &0 'AL+W=O M3DFD7J=IDUKI MU&G;9RYQ$E2(,R"7]M\/2)IE7;X -G[/S\9D(YIGVP(X\J)59W/:.M-)\I%I(3M:9-%W-D6&@U.R@[,A=M!: MF-<3*!QSFM(WQY-L6A<O,-?S@9*Y^ >X@O+A08G/4:*R<27E M8!WJF<5+T>)EVF47]W&ZV:4S;!O 9P!? (>8ATV)HO+/PHDB,S@2,_6^%^&) MTR/WO2F#,[8BWGGQUGNO!4\/&;L&HCGF-,7P54RZ1##/OJ3@6RE._#\XWX;O M-A7N(GSWC\)/VP3[38)])-BO"7CRKL2MF/=%LE5/-9@F3I,E)0Y=G.25=QG8 M.Q[?Y&_X-.V/PC2RL^2"SK]L['^-Z,!+26[\"+7^@RV&@MJ%XZT_FVG,)L-A M/_\@MGSCX@]02P,$% @ 5WFA4#+:L.'Y 0 RP4 !D !X;"]W;W)K M&UL=51ACYLP#/TKB!]P@5 *K2C2]:9IDS:INFG; MYY2Z@"XA+$G+[=\O"1QCS/>%Q,[S>W:"70Q2O>@&P 2O@G?Z$#;&]'M"=-6 M8/I!]M#9DZM4@AEKJIKH7@&[^"#!"8VB+1&L[<*R\+Z3*@MY,[SMX*0"?1." MJ=]'X'(XA''XYGANZ\8X!RF+GM7P# 'RT,>K$/7"5G*5^<\?ER"".7$'"HC&-@=KG#$W#NB&P:OR;.<)9T@)U:@D MU_X;5#=MI)A8;"J"O8YKV_EU&$_2S12&!] I@,X!N=VKOIG).?Q7^S":OK?=>4DH++-6S=P@V*,'&$VS^*3%9E8AA-KA(BHJD"$&Z$L$P6UQDBXIL M$8)L)8)AJ2^&?_"QS'WE:FZ[71PEL:VM&^\JY0&;"K1 M@_T_&CM99X/#U;AM9O=JG"^C860_C4XRS^_R#U!+ P04 " !7>:%0:$]F M4;_GT'['7=K5^ &? L0R*M6QN>T#:$[,>;+%K3P=[8#@S>U=5H$-%W#?.= 5(FD%>.;S3W3 M0AI:9,EW<45F^Z"D@8LCOM=:N-]G4';(Z9:^.9YETX;H8$76B0:^0?C>71Q: M;%:II ;CI37$09W3Q^WIO(_X!/@A8?"+,XF57*U]B<;G*J>;F! H*$-4$+C= MX F4BD*8QJ])D\XA(W%Y?E/_F&K'6J["PY-5/V45VIP^4%)!+7H5GNWP":9Z M#I1,Q7^!&RB$QTPP1FF53RLI>Q^LGE0P%2U>QUV:M _CS>$PT=8)?"+PF?"0 MXK Q4,K\@PBBR)P=B!M[WXGXQ-L3Q]Z4T9E:D>XP>8_>6\%WAXS=HM"$.8\8 MOL!L9P1#]3D$7PMQYO_1^3I]MYKA+M%WR^C'X[K ?E5@GP3V_Y1X_Z[$-&PO=V]R:W-H965TU#^IM%&,N=-TQ+;&V!U)$E!:)+<$LFX MPF4>?6=3YGIP@BLX&V0'*9EY/8'08X%W^-WQQ-O.!0;VW2F;1/H3* +X1#C MD"E0S/PS2YH>R?$N\^E+B!R9(/ M0]/YMIS";#Z7[^063YQN4;4$L#!!0 ( %=YH5#DR/\B MT@$ )P$ 9 >&PO=V]R:W-H965T-S" ETW].(-28XRU^08JL9PW\ /NS/VMG MD86EXA(ZPU6'--0Y?M@>3ZG'!\ O#J-9[9&OY*+4BS>^5CG>^(1 0&D] W/+ M%1Y!"$_DTO@]<^)%T@>N]V_LGT/MKI8+,_"HQ#.O;)OC T85U&P0]DF-7V"N M9X_17/PWN()P<)^)TRB5,.&+RL%8)6<6EXIDK]/*N[".TTF:S&'Q #H'T"7@ M$'3()!0R_\0L*S*M1J2GN^^9_\7;(W5W4WIGN(IPYI(WSGLM:++-R-43S9C3 MA*$KS#N"./9%@L8D3O2?X=/ZX9U!%V5=CX9.JI6RX%+9W+F"6_=4+(: VOKMO=OK:6 FPZI^ M?@O(\B 5?P%02P,$% @ 5WFA4(R4Q8&Z 0 T@, !D !X;"]W;W)K M&UL;5/;;MP@$/T5Q <$F_6VVY5M*9NJ:J5&6J5J M\LS:8QN%BPMXG?Q] 3N.E?@%F&'..3/#D(_:/-L.P*$7*90M<.= M3R#T6. 4OSD>>-NYX"!EWK,6_H#[VY^-M\C"4G,)RG*MD(&FP+?I\92%^!CP MR&&TJS,*E5RT?@[&K[K 24@(!%0N,#"_7>$.A A$/HU_,R=>) -P?7YC_Q%K M][5(U*"QM75 W6 M:3FS^%0D>YEVKN(^3C<[.L.V 70&T 5PB#ID$HJ9?V>.E;G1(S)3[WL6GC@] M4M^;*CAC*^*=3]YZ[[6DV;><7 /1''.:8N@J)ETBB&=?).B6Q(E^@M-M^&XS MPUV$[];JAVR;(-LDR")!MM;?)Q]*_!R3'O8?1,BJIQ),&Z?)HDH/*D[RRKL, M[&U\1/(>/DW[/3,M5Q9=M/,O&_O?:.W IY+<^!'J_ =;# &-"\>O_FRF,9L, MI_OY!Y'E&Y?_ 5!+ P04 " !7>:%0VW%\NM(! ".G=2*RV9=:9NB.DUL"H$24'H9I,2R7B'BRSXSKK(U& %[^"LD1FD M9/K/"80:<[S%'XX7WK36.TB1]:R!'V!_]F?M++*P5%Q"9[CJD(8ZQP_;XRGU M^ #XQ6$TJSWRE5R4>O/&URK'&Y\0""BM9V!NN<(C".&)7!J_9TZ\2/K ]?Z# M_3G4[FJY, ./2KSRRK8Y/F!40A*,YN*_P16$@_M,G$:IA E? M5 [&*CFSN%0D>Y]6WH5UG$[NDSDL'D#G +H$'((.F81"YD_,LB+3:D1ZNON> M^5^\/5)W-Z5WAJL(9RYYX[S7@B;;C%P]T8PY31BZPGPBB&-?)&A,XD3_"Z?Q M\%TTPUT(WZW5#_=Q@GV48!\(]O^42&]*C&%V<9$D*I)$"/8W(C%,$A=)HR)I MA""]$8EA;J^+K+I#@F["7!A4JJ$+,[GR+J/W0$-W?<*GN?W.=,,[@R[*NAX- MG50K9<&ELKES!;?NJ5@, ;7U6]?:2$\#,QE6]?-;0)8'J?@+4$L#!!0 ( M %=YH5"5^N6/MP$ -(# 9 >&PO=V]R:W-H965T)W^?0%['2?Q M"S##.6X(OCB3>M"PY29!UK MX#>X/]W1>(O,*A67H"S7"AFH+^F.LW==R8A;NM7CAE6MSO,.H@IKU MPCWIX3M,]5QC-!7_$\X@/#QDXF.46MBXHK*W3LM)Q:F#,[8BGCGD[?>>R[H]2XC MYR T80XCABXPFQE!O/H<@JZ%.- O=+I.WZYFN(WT[3+Z;;(ND*X*I%$@_5#B M[:<25S WGX.014\EF"9.DT6E[E6.W_S9C&,V&DYWTP\B\S&UL M=5/;;MLP#/T501]0)8K3%8%MH.DPK, *!!VV/2LV?4%U<24Y;O]^E.RZ;N>] M2"+%E@[)-K #QY45*[C#;>=P?&7-& $N[*=*#QIC)6"8^FK9GK+(@R M@I1D?+.Y9DJTFN9I])ULGIK>RU;#R1+7*R7LZQ&D&3*ZI6^.Q[9N?'"P/.U$ M#3_!_^I.%BTVLY2M NU:HXF%*J.WV\,Q"?$QX'<+@UN<2:CD;,Q3,.[+C&Z" M()!0^, @<+O '4@9B%#&\\1)YY0!N#R_L7^+M6,M9^'@SL@_;>F;C-Y04D(E M>ND?S? =IGKVE$S%_X +2 P/2C!'8:2+*REZYXV:6%"*$B_CWNJX#^/-?C_! MU@%\ O 9)&GU@S$CKWO1'CB[8%C;XK@C*V(=RC>H?>2\^MM MRBZ!:(HYCC%\$?,>P9!]3L'74ASY/W"^#M^M*MQ%^.Z#PO\0)*L$221(/A#L M/I6X%I-\2L(6/55@ZSA-CA2FUW&2%]YY8&]Y?)/W\'':'X2M6^W(V7A\V=C_ MRA@/*&5SA2/4X >;#0F5#\+;CF(V&-]WT@]C\C?._4$L#!!0 ( %=Y MH5 !WD.OP@$ #<$ 9 >&PO=V]R:W-H965T5 ^=^U(K+9EUH6Z(Z36P*A1) M06B2[(EDO,-%%G)G761JL()W<-;(#%(R_><$0HTYWN!;XH4WK?4)4F0]:^ [ MV!_]6;N(+"P5E] 9KCJDH<[QT^9X2CT^ 'YR&,UJCWPG%Z5>??"ERG'B#8& MTGH&YI8K/(,0GLC9^#USXD72%Z[W-_9/H7?7RX49>%;B%Z]LF^-'C"JHV2#L MBQH_P]Q/BM'<_%>X@G!P[\1IE$J8\(O*P5@E9Q9G1;*W:>5=6,>9_U86+Z!S M ;TK()-0@^S&?015GW?,(EUTI9<%:2!^>E=5.\! )JZ[<'M]?36YX"J_IY3,GR7U'\!5!+ M P04 " !7>:%0C_"U++8! #2 P &0 'AL+W=O=6JM1EMG.OVC-FB 2WL!7;0^IL*C1;. MFZ9FMC,@RDC2BO$D^<:TD"W-T^@[FCS%WBG9PM$0VVLMS-L!% X9W=!WQZ.L M&Q<<+$\[4<-O<'^ZH_$6FU5*J:&U$EMBH,KHS69_V 5\!#Q)&.SB3$(E)\3G M8/PL,YJ$A$!!X8*"\-L9;D&I(.33>)DTZ1PR$)?G=_4?L79?RTE8N$7U5Y:N MR>@U)254HE?N$8=[F.JYI&0J_A><07EXR,3'*%#9N)*BMP[UI.)3T>)UW&4; M]V&\N>03;9W )P*?"=.>3 MM]Y[SOG5)F7G(#1A#B.&+S ?".;5YQ!\+<2!?Z'S=?IV-<-MI&^7].3[NL!N M56 7!7;_E<@_E;B&V7X*PA8]U6#J.$V6%-BW<9(7WGE@;^(CL@_X..T/PM2R MM>2$SK]L['^%Z,"GDESX$6K\!YL-!94+QRM_-N.8C8;#;OI!;/[&^3]02P,$ M% @ 5WFA4$#,WS>T 0 T@, !D !X;"]W;W)K&UL;5/;;IPP$/T5RQ\0+UYRT0J0LHFB5FJE5:JVSUX8P(J-J6V6].\[ M-BRE*2]X9CCGS,7C;#3VS;4 GKQKU;FZ.:2$[6F0Q=K)%9@:O9 %W@"I8(0EO%KUJ1+RD!*@$"\T;,*EJ+%^W3*+I[C MK'^E;1/X3. +@3_$7J9$L?)GX46163,2.\V^%^&*DP/'V90A&$<1_V'Q#J.7 M@M^G&;L$H1ESG#!\A4D6!$/U)07?2G'D_]'Y-GV_6>$^TO=K>G*W+9!N"J11 M(/VGQ=L/+6YA/B9AJYEJL$W<)D=*,W1QDU?196$?>;R3O_!IV[\*V\C.D;/Q M>+-Q_K4Q'K"4W0VN4(L/;'$4U#Z8]VC;:<;%'U!+ P04 M" !7>:%0.5YGS^(! "O! &0 'AL+W=O6 M1 D*/.\#HKAE;I;8W%ED">\5:1F&[P%O+0PR,7<,9U<.'\UP=KA"#H08(5W&[TG3G2T-<3F_J7^VO>M>+EA"SLFOME1-ZAY*W<6R9'8=)_T;; M)@03(9@)?OQ?0C@1PG="9)L?*[.M?L(*9XG@@R/&S>JP.1/^,=2+69BD73O[ M3W:%0:6Z.Y[ ! #0 P &0 'AL+W=O]-HH[C T!V8G [P+ M)"59OEX_,<7%2.LRY':F+O7123'"SA![5(J;/\\@]5S1C)X3+^(P.)]@=3GQ M _P ]W/:&8S8HM()!:,5>B0&^HI^S+9-X?$!\$O ;"_VQ%>RU_K-!U^[BJZ] M(9#0.J_ <3E! U)Z(;3Q.VG2Y4I/O-R?U3^'VK&6/;?0:/DJ.C=4=$-)!ST_ M2O>BYR^0ZGFD)!7_#4X@$>Z=X!VMEC9\27NT3JND@E84?X^K&,,Z)_TS[3XA M3X1\(60/_R44B5#<$%AT%DK]Q!VO2Z-G8N+/FKB?B6Q;8#-;GPR]"V=8K<7L MJ*FC(C9!,P8,=GJ!M1$T-,5Z,8(N^BMG_7OW!S$:,E>._Q-H9F]U@Y0;KW" M 1KP>2V!A-[Y[0?&ULC591;YLP$/XK MB/<%VP0P$4%JF*9-VJ2J4[=GAS@!%3"SG:3[][,-H=0X4_,0[..[[[X[S!W9 ME?$745$JO=>VZ<36KZ3L-T$@RHJV1*Q83SMUY\AX2Z3:\E,@>D[)P3BU38 MB(.6U)V?9\;VR/.,G653=_21>^+3F7/V(O>?#ML?: 5 MT8:64E,0=;G0@C:-9E(Z_HRD_A13.\[7-_8O)GF5S)X(6K#F=WV0U=;'OG>@ M1W)NY!.[?J5C0I'OC=E_IQ?:*+A6HF*4K!'FWRO/0K)V9%%26O(Z7.O.7*\C M_\W-[8!&!S0YP/B_#N'H$+XYK$WR@S*3ZFRI;H:R7'.%U%EPTT8C9#1@TP\ )$2CV*01RA=BAA3MZ'Z!8(B [A"A M,XO0$(3OLHC]T,.C0 VT]'LF M5=IEXE:\V%F#1O)^G$>!]-'0?X/4$L#!!0 M ( %=YH5#:K,@UX0$ ,$$ 9 >&PO=V]R:W-H965T0'P.$KI!$@K9FJ3=JDJ-.ZWP[UBY.)5M@ J>&>TER5JE1KV&,NZ!49DR ?H]CJK"YHZ@*?E6TZ^$H GEEC(B_CT#Y6*((?22>NTNK M3 )7Q4 N\ O4[^$H=(1GE:9CT,N.]X& M>3D3"@=,_7:/: M$NU0T,"97*EZYN,WF/K)4# U_P-N0#7<.-$U:DZE_0;U52K.)A5MA9%W-W:] M'4>WDF\GFI\03X1X)D3I?PG)1$A6!.RT2VFR%8&YA=Q%X7L>4G"WZ4 MYWZ!Q"N06('T4QO)J@V'V5E,;S%IF/J+I-XBJ:=(NBKB, _+(GF8K[8KO7.2 M96'LMY)YK60>*]G*2G9799>$ZS_G0-L%*$K6FX(7A\E<[I]$7+I>!B>N]+FT MI^?,N0*MMPFU8*O?DSF@<%9FFNNY<+?*!8H/TX.!YU>K^@=02P,$% @ M5WFA4,L E+!> @ I < !D !X;"]W;W)K&UL ME571CILP$/P5Q <)-%I0J[[UBM5SZA5+-BE,@ M&T')P295+(!AB(.*E+6_RFQL)U89/RM6UG0G/'FN*B+^;"CC[=('_C7P4IX* M90+!*FO(B?Z@ZF>S$WH7#"R'LJ*U+'GM"7I<^FOPO 7()%C$:TE;.5I[II4] MYV]F\_6P]$.CB#*:*T-!].-"MY0QPZ1U_.Y)_:&F21ROK^R?;?.ZF3V1=,O9 MK_*@BJ6_\+T#/9(S4R^\_4+[AF+?Z[O_1B^4:;A1HFODG$G[Z^5GJ7C5LV@I M%7GOGF5MGVW/?TUS)\ ^ 0X)NO:_$E"?@#X2(MM\I\RV^HDHLLH$;SW1O:V& MF(\"/"-M9FZ"UCO[G^Y6ZNAE!5.-F\48Q^G$$@CT?.%=4JPR?]V@H],H<- MHT=EEHE>BVYN=!O%FWXF!L-@7OT%4$L#!!0 ( %=YH5 14-M1- ( #@& M 9 >&PO=V]R:W-H965T$*F._(I$QX&<#:FA* J"%#6D;OTB M-[$C+W)VD[1NX<@]<6L:PO_M@+)^ZX?^:^"IOE92!U"1=^0*/T'^ZHY'3.,-X'<-O9CM/5W)B;%G??AVWOJ!-@042JDS$+7< M80^4ZD3*QM\QIS]):N)\_YK]BZE=U7(B O:,_JG/LMKZ*]\[PX7*1YB9$(R&: M"$K[,T(\$N(W OZ4@$<"M@AH*,7TYD D*7+.>H\/;[=:,3L!DPTPX03 JGLDT3DDMA%"[HEL%\BPB!XCSDL,JCQF1.*YG# M2F)9R18J61:D5E^6H'2]MKN"9O>G 7XULTEX);NU4G^%L^@T_AXC??^L^"[< M[([@A3$)RF/PH-I9J3$^'2A:%0M26@D"T" !$!@ &0 'AL+W=O M*.E$Z3=2]CN$ M1-T Q>*!]="IDPOC%$ME\BL2/0=\-D&4H"@(4D1QV_E587Q'7A7L)DG;P9%[ MXD8IYG_W0-A0^J'_ZGAJKXW4#E05/;["#Y _^R-7%II8SBV%3K2L\SA<2O\Q MW!URC3> 7RT,8K;W="4GQIZU\?5<^H$6! 1JJ1FP6NYP $(TD9+Q9^3TIY0Z M<+Y_9?]L:E>UG+" R._V[-L2C_WO3-<\(W()S9\@;&>Q/?&XK_!'8B":R4J M1\V(,+]>?1.2T9%%2:'XQ:YM9];!GB39&.8.B,: : H(T_\&Q&- _!:P,<5; M9:;43UCBJN!L\+B]K![K;R+K\.A]@L,:$0:!.T7LK"(V!/&<(/] X\9)L#$$FW=MR!9M M<&%R=Y+$F21Q$&P722PF-9C.-BM.DD6_UJ!PF\5N*:E32KJ6$@8+*1:3S+.$ MT?+JUJ \2MQ*,J>2S*$D7"C)5O7&FVQQ/8:%0-CK9?@(" !/!0 &0 'AL+W=O'#!>MC:EMPO;OZPMA*;!] MP9[QF3-G!GNR@?$W40-(YYV25AS<6LINCY H:J!8/+ .6G52,DZQ5":OD.@X MX*L)H@0%GI<@BIO6S3/C._,\8[TD30MG[HB>4LS_'(&PX>#Z[MWQTE2UU Z4 M9QVNX ?(G]V9*PM-+->&0BL:UCH%@0$"JD9L%IN< )"-)&2\7OD=*>4.G"^O[,_F]I5+1;K%+V0C(XL2@K%[W9M6K,. M]B2]AVT'!&- , 7XR7\#PC$@_ B(3/%6F2GU"4N<9YP-#K<_J\/Z3OC[4#6S MT$[3.W.FJA7*>\M#/\K031.-F*/%!#.,/R&08I]2!%LICL$J//@WP6F-\#UO M.T6X645H",(YP>X3C=$F060(HAE!NFC"&K';3A!O)HA7X:$?+U)83&(PK6V4 M%_B+7FV"/FE6LBDEV9"2+*0DJRS>0L<:$0=IDBZ$H-D]I, K\V2%4["^E?J/ MS[S35'@,]#U>^(]J6MC'_4%C1\UWS*NF%INJ/;=OW!J2=>/X0M,,S?\"4$L#!!0 ( %=YH5!MYD*8>P( (0( M 9 >&PO=V]R:W-H965T'%2^L7L MI;39:]\-9IGOK1UOB\*L][(7YD:-2CSLRA[X7^?2<[=5KF.'\;>&IW>^L'BM5B%#OY3=KO MXZ-VO>+LLFE[.9A6#9F6VV7^ =\^8.H#@N)'*T_FHIWYJ3PK]>([GS?+'/F, M9"?7UEL(]SC*>]EUWLGE\6LVS<],'WC9?G/_&";O)O,LC+Q7W<]V8_?+O,ZS MC=R*0V>?U.F3G"?$\VR>_1=YE)V3^TP<8ZTZ$WZS]<%8U<\N+I5>O$[/=@C/ MT^S_%@8'D#F G ,P^V< G0/H_P:P.8!% <4TE; V#\**U4*K4Z:GOW<4?A?A M6^96?^T'PV*'=VYYC!L]KBBN%L71&\V:NTE#+C3DO>(^5?#ZO>0AE5#\5U.X M),^9$C!3$@SHA0&N,6Q 00,:#-B[#)IHJI.F#)HA:,JZ;& * RDLI1 4428- MOZ#4!%^A<)#" 0J.*#RA5)PCF%*"E!*@1'_]79E2,"(PI0(I%4"A$:5**"4I M2YA2@Y0:H+"(4B<4RFK*84P#8AH PR-,DRX9JMF5O8P1?&X1 "KC@XL2$G:D MZ@KI2H7 "DI$3@A\:9I6%P$<'J^*HJN;$H,%P),@(3J."&2[IB&H[AN$>"\ M,WHE';BL8*"ND+BNX+2P<(H8B_,!9*PA<9TL+JJ[OY^_"KUK!Y,]*^LNBE#. MMTI9Z2S1C5N"O?LD.'&PO=V]R:W-H965T 2/RB;?0Z"\E%XPH78H+DJT M4E@2HR@*@C5BI&[\++&]D\@2?E6T;N D/'EEC(@_+T!YE_JA?V^\UI=*F0;* MDI9H_A_LC-G@+^%E#)T=SSR0Y<_YFBB]% MZ@?&$%#(E5$@>KC! 2@U0MK&;Z?I#TL:XGA^5_]DL^LL9R+AP.FONE!5ZF]] MKX"27*EZY=UG<'E6ON?"?X4;4 TW3O0:.:?2_GKY52K.G(JVPLA[/]:-'3NG M?Z$% ?Q>[-D2B2)8)WGNC_W9:80Q3NL=[] MW#3M9MMO>GND[MZR. X2=#-"#O/28Z(1)GI$'.:(U?81*10+@-EP7B18'8"N"'J.$D:H]96TQC,7BUFV8Y+* V>#--/$>MHFT0 M+%O&BY;QW'*TF5C&\V5VNQV>F)FCUIMX9@:-CHVY]]^(N-2-],Y*M^XM0<.#EOT%4$L#!!0 ( %=Y MH5!!W* %Y@$ .X$ 9 >&PO=V]R:W-H965TV$[N]G&XH8L?82^UZ? M3#-2UZYC\\PA)KE8>1 M-00<2FT5F!EN< 3.K9"Q\7O6#)P3=+Q!D#"PNL-<%=OQDQ8_WQ"^0> 42 M)T#^B9%L8DR8G.!44(Q M]MNA7COTSLYN>R[T_EQ(BLFGC1L/C*8)23=NT.KFV9?@.Y.7ME?!66ASB=U5 MJX708"2C!Z/9F,=G*3C4VDY3,Y?3)S@56@SSZX*6)Z[X"U!+ P04 " !7 M>:%0_W$@Q 4" !&!0 &0 'AL+W=OOWMD$U 9V-J.^'Z]O4'X0B@^X/M M]3.KY1JMPC)L@)&Y!-OH=$[9RX847HI+DBV LC) MDAA%41"L$"-UXV>IC1U$EO*KHG4#!^')*V-$_,N!\F[GA_X]\%)?*F4"*$M; M^<_A=I\8O 6\UM#)T=PSE1PY?S.+[Z>= M'QA#0*%41H'HX08%4&J$M(V_O:8_I#3$\?RN_M76KFLY$@D%IW_JDZIV_L;W M3G F5ZI>>/<-^GH2W^N+_P$WH!ING.@<):?2?KWR*A5GO8JVPLB[&^O&CEVO M?Z$ V$,/F4@'L"_B#$GQ+BGA!/",B58GNS)XIDJ>"=)]S?;8DY1.$V MUMTO3= VV^[I]D@=O648)RFZ&:$>DSM,-,*$ P)I]2%%M)0BCV;TZ#%!,4>$ M0?"(V<\QR6;9!5XL%%L^?BATM2P0+PK$5B >":R^3!KE("L+:5P=X0:OUY-2 M%F%K'"V[21;=)#,W&$_RY,DL3S)M:S''8#P".2=H=)H8B(N]J=(K^;51YI^, MHL-C\!R9TSB)Y^&V<'?Z0\:],#^)N-2-](Y&PO=V]R:W-H965T \Y[CU^;X 3R_\O*U M.C(FK+<\*ZJ%?13B-'.<:GMD>5(]\!,KY#][7N:)D)?EP:E.)4MV35">.>"Z M@9,G:6$OYTW;4[F<\[/(TH(]E59USO.D_+=B&;\N;&*_-SRGAZ.H&YSE_)0< MV$\F?IV>2GGE]%EV:#P_#W[EV;PVM6/[Y)R)9W[]RKH!^;;5C?X[N[!,RFLGLH\MSZKFU]J>*\'S+HNT MDB=O[3$MFN.UR_\>A@= %P!] EN!M N@'X$>#<#O"[ 4P*<=BC-W&P2D2SG M);]:97M[3TE=163FR=G?UHW-9#?_R>FI9.ME26DT=RYUHDZS:C4PT)!>X =;$"+1S&':QU!7'=L6:C:_P(=T'1@=(FGHX&&N,)/#2!UR3P!@E"99YT MA<&ACW;@:^'44V9AU6J"1E.T)H@;*$8VF JHX:8%J)D ,4,4,ZW&'W3CQQ"I M-PY115%HF/H0-1,B9I0:6H5:-X2$D3HSB JH#[B9"#43Z6:H6@F1/F:UH->1 M=I,H'8A&3F+428Q,"\43$!=?_>[T54$, "$3RK83#2<$(GV-?RH;&T)Q\TA@ M0NEVHE%/7A1KAC!9X/H&0SAY")U0OIUHV!,%HOE!5%YLLH-SC.B8HIYG2(&3 MBOAWE W.%X(!1BL;G1U(T=P6C&UL?53;CILP%/P5Q'O7@"')1H"T M256U4BM%6VW[[,#AHO6%VB9L_[ZV(2R;H+[$]F%FSHQC.QV$?%4-@/;>&.4J M\QNMNSU"JFB $?4@.N#F2R4D(]HL98U4)X&4CL0HBH)@@QAIN9^GKG:2>2IZ M35L.)^FIGC$B_QZ BB'S0_]:>&[K1ML"RM..U/ 3]$MWDF:%9I6R9 7ZU,*C%W+-)SD*\VL6W,O,#:P@H%-HJ$#-]-X;_#!:B! M6R>F1R&HT2LMV*1BK##R-HXM=^,PZ5]IZX1H(D0S(4S^2\ 3 ;\38A=^ M=.:B?B::Y*D4@R?'/ZLC]DR$>VPVL[!%MW?NFTFK3/62XWB7HHL5FC"'$1,M M,.&,0$9];A&MM3A$=_3H8X/C/2+9K7? JR&PX^,/(1[7!>)5@=@)Q N!S>/- M)HR0C8/P<1/"'=YN;Z*LPK8X6G>3K+I)[MS@)+BQD]SU^823Y*8+6IP"!K)V M%T9YA>BYNZR+ZGPGGR)WBM[AXX7^063=:%0?E-7F=L" !] M# &0 'AL+W=O,*N+Z-[[ M(^?2^ZBKIE_[1RG;QR#HMT=>L_Y!M+Q15_:BJYE4S>X0]&W'V4X/JJL PS - M:E8V_F:E^UZZS4J<9%4V_*7S^E-=L^[?$Z_$9>V#?^UX+0]'.70$FU7+#OPG ME[_:ETZU@CG+KJQYTY>B\3J^7_N?X/$)LV& COA=\DM_<^X-I;P)\3XTONW6 M?CC,B%=\*X<43!W._)E7U9!)S>/OE-2?F%7,&^OYLZC^E#MY M7/NY[^WXGITJ^2HN7_E44.)[4_7?^9E7*GR8B6)L1=7K7V][ZJ6HIRQJ*C7[ M&(]EHX^7*?]U&#T IP$X#\"QEA&D9_Z92;99=>+B=>/BMVRXQ_"(:FVV0Z=> M"GU-3;Y7O>=-E, J. ^)IIBG,087,3C'!"K_#$$2@CI!M$@0T0DB,D&D$\2+ M!+$QRS$FU3&-CH&DR&E*3%)B@I(8E#$FN:444-"4A*0D!"4U*(E-28N8IJ0D M)24HF4%);4KHJB4C*1E!R0U*9E'RR ')24A.0 H#DEN0. /'S2](2F%1 ,V; M7]@+!EF>T1@(:>%"NYPT=*1P. OW^P2TD8!W%+6[=C1!+#BTN4.::RSH% M+=+Q?2?B+<(=<4=%MN M%KLXCMD6VA*[.;3#2#ELNH6VPVX.[3!2#IMN MH>VPFT,[C)3#IEQH.^Q^=2%M,=H6VWY-0>GB:9Z9+Z_@9N,X;,Q_L.Y0-KWW M)J3:@^J=XEX(R57&\$%-^JB^!>9&Q?=R.,W4>3=NB,>&%.VTV0_F+X[-?U!+ M P04 " !7>:%00, (7'(" [" &0 'AL+W=O[W,3\8,CT6A=R?1V_4M04"H"HZWO3Y:N'WMFJUD&?3-KW8JDR?NXZKOVO1 MRNLRA_G[QE-S/!FW4:P6 S^*G\+\&K;*KHK9R[[I1*\;V6=*');Y)_BX@=[ M*YX;<=4W\\RE\B+EJUM\VR]SX(A$*W;&N>!VN(B-:%OGR7+\F9SF#M_ M]_[%)V^3>>%:;&3[N]F;TS)G>;87!WYNS9.\?A530B3/INR_BXMHK=R1V!@[ MV6K_F^W.VLAN\F)1.OXVCDWOQ^MX0M!DEC9 DP&:#6#Y7P,\&># H!C)?*J? MN>&KA9+73(W_UL#=0P$?L2WFSFWZVODSFZVVNY<5KM"BN#A'DV8]:M"-)E!L M8@5ALZ2P #,%2E(@;X\_4."T YQT@+V#\H.#,DACU%1>TWL-K! .4TFH,,8P M#5,F8Q2+,*9WF@($Z=X$8A@* MPN8$HD 4,!PVJ%C%:$WOX-QIE3#"H>%K/6ENVPM.)@W)3:N1JOLW%AY#!=U<7\ MO;#Z!U!+ P04 " !7>:%0DTB[4>@# "8$@ &0 'AL+W=OH$?\=5279G(==*F\:OV]N_EMNPCC+B)5J$W;N:-6NOC[N&T/BU"&P5;M\G/1 M?M677]68D B#,?O?U9LJ#+R+Q,RQT473_P:;<]/JK_+Z/_ M=S-L0$<#>J\!&PW8U8 D/S7@HP'_,. _-1"C@; ,HB'WGLQUWN;+>:TO03W4 MPRGORH[,A%FN33?8KT[_S/#9F-&W)4O)/'KK'(V8U8"A$\P'(C+>KU-0-,6* M.N;T=H*UBR!Q?(OYXF*$Q%$PF"CK[=DTBB3!#CATP'L'?.(@M7AR$9X(!9Q M..8DMI=BP"0]IAHP&15,6(2Z,,K2)/$L6P+#24 XW IGP(AI.(0+::W=&L$D M(0*'D\)P4B<*.7/6AU.>3& WX9 8 M2S<& 7&/"X_ZR?VD$*CN)T+OH&4$37E)J7!H 3!QP]YM0%CHA(& /*5&L-0) M?X 6+&;BJMDHT*9%N/F*S";%!=$L]02#I4Q<+;/4YP++CZ0/4((%2"2(0MYF M^PQ!F.P3"-8\ :*7GGJD6*8TOI\YBF5*"8C";@TC:)KN M)\'MS@!0G#%/-%CQ%"A>>E[%%&N4/M"-*=8H=;LMD_9[9P3==)Y,I#8GW'D= M?R+<4R@4ZYT"O4N?"ZQ2FCQ "E8I!5U2"IN4U"7%R,?>;P&4%)[W*,6*IT#, MTI<1%B#-[B>%80$RT">EO7<;0=-T[>X$(-SS$F58QPSIV+>+Q>)C] $^/#MA MT"!=/MC_\^%"./&4/,,B9DC$F<<%%AX3#Q""A<= >W14P]Q-;,HR:7/BHCCS M5@D6,0,BSCP]AV'AL0^T;I7)*_YLRNV@\NWU MIE"[MKM,S74]G)4,-ZT^C>= T?4P:OD?4$L#!!0 ( %=YH5#+&NN;C ( M (L( 9 >&PO=V]R:W-H965T AZ?.7/FX$ORCO%7 M<:94.F]UU8BE>Y:R77B>V)]I3<03:VFC9HZ,UT2J(3]YHN64'$Q277G8]V.O M)F7CKG(3>^:KG%UD53;TF3OB4M>$_]W0BG5+%[FWP$MY.DL=\%9Y2T[T!Y4_ MVV>N1M[(GX,Y"Z8TV=.'V_L7\VS:MF=D30@E6_RX,\+]W4=0[T M2"Z5?&'=%SHT%+G.T/TW>J65@FLEJL:>5<+\.ON+D*P>6)24FKSUS[(QSV[@ MOZ7!"7A(P(\F!$-",":@^+\)X9 0OB<8^[V^%>/-EDBRRCGK'-Y_WI;H5806 MH7)_KX/&;#.G[!$J>ET%&8A]+8*A$@6?I5H'M'(%\ M'RX1@%T$AB"8EH@Q3!""!*$A""<$B67"')'"!2*P0#1+1SZR2O28V&":'I/A M*(@LM^8P'"1Q?.>;Q*"<&) 36G)Z3#25@\(H]2TY$"Q%*(+E)*"<9"8GR *8 M( 4)TL<70 829( "RY -@$DRR[1LYD82Q;%EV1P4AQ/[/\A%/KQO?4#P'<_1 MG:V/'C<-@5M[C?!<11K8QP<&UG5D[:\M@/J$PGNFV,? QUEXCZ/Y%IY]OPT$ MRNRMY4U.UYKRD[FYA+-GET;JW$ETO!TW6)_.5KS0MR807Z-@4:@FYS-*H)KI M3_KWTOTU_9WP4]D(9\>DNB_,J7YD3%+5E_^D5MM9_3,8!Q4]2OV:J'?>7X_] M0+)VN/J]\?_'ZA]02P,$% @ 5WFA4)#R)@4X! ]14 !D !X;"]W M;W)K&ULC9CKCMHZ%(5?)(O;SWVG;RX7AY%\7/\L*YM'YG:5ZN M[(N4UX7CE(<+S^+RD[CR7/6<1)'%4ET69Z>\%CP^UH.RU*&N&SA9G.3V>EFW MO1;KI;C)-,GY:V&5MRR+BS\13\5]91/[H^%K48Y+QO$Q$;A7\M+)?R&+/@FI K?B>\'OY]-NJ2GD3XF=U\<]Q9;N5(Y[R M@ZQ"Q.KKG6]XFE:1E(]?;5#[D;,:^/S[(_J^+EX5\Q:7?"/2'\E17E;VS+:. M_!3?4OE5W#_SMB#?MMKJ_^7O/%7RRHG*<1!I67]:AULI1=9&45:R^'?SG>3U M][V-_S$,#Z#M #IU &L'L,< 979H@-<.\!X#O$&]W^K]OPF&!P3M@*";P&FF MJI[[;2SC];(0=ZMH;I]K7-VE9!&HU3U4C?5BUGUJ^DO5^KYF\V#IO%>!6LVF MT= G#7DH'!7]D8*B%!MJ#*?=!#M3X<]P!@:+8/5XUBDBQ $\&,"K WB= #-M M%AI-4&OR9A:H[VJ5F"(7^_"A#Q_XF&L^&HW?YZ.3)8!9 B.+Y_8$"&& ![.,X=YYB"/=O-MYD8>;5&W9A06:JNR&XK2,4I<_!RZ MP"K3'T1WIYV8ITC D":(D MTTM#(J.TR12DF(+4I*#))VI2D+JSN79?[(",^(QH\-B#E,^%=5UCJE*3J@;, M(BC2)Y":7&7>\Y]S6QJ04>;U/)\4(YB:"#:@%P$1<&WRU_?U6Q6(PKY='L68 MIB:F#3I&4&0X-D$-')NB?L>8YQ3QO"\$)C'UIV.48A)3M.'3,0I%^MZS%4UY MP#'1*8*UCE$H,JP,$;U!*(AC(G0P3KAGG/$'QU(9HK?^=]J*\#MKZW94LH>I^MSJ>._V8I0R\(ZN/\P1$'FD M;X4Q;QG:^>I_BTA$>@Y%&(8RF\#;"(F(OKMSGLYZ,EZ^B.8AL+J2XMH>LSN.D=_T_4$L#!!0 ( %=YH5 %N]?9X0$ )\$ M 9 >&PO=V]R:W-H965T=0=@ MT(O@@RZBSICQB+&N.A!,W\D1!GO22"68L:9JL1X5L-H'"8Y)'%,L6#]$9>Y] M9U7F. MR*;Q<^&,5DD7N-V_LG_PM=M:+DS#H^0_^MIT1?0N0C4T;.+F2X K=PEXG5J"37_HNJ21LI%A:;BF O8>T'O\[AA"9+V'X 60+(&D#N?2U! MR&?^GAE6YDK.2(6['YG[QUHT!N-@,DV&I0>:$SV=>BN#GVCDZ3D1H?^OQ:\:1 !JO6CH5$E MI\&/Y<:[3M\#\0WV!QY&]PM3;3]H=)'&MJEOID9* S:3^,X6V]G78C4X-,9M M[^U>A9D)AI'C\AS@]4TJ?P-02P,$% @ 5WFA4/V7$RR? 0 6@, !D M !X;"]W;W)K&UL;5/;3N,P$/T5RQ^ FZ2EI4HB M;4%H5UJDBM6RSVXR:2Q\R=IN W_/V Y107W)7'SFG)FQ4X[&OKH>P),W);6K M:._]L&7,-3TH[F[, !I/.F,5]QC:(W.#!=[&(B59OEC<,L6%IG49UZ4U M([%I]P,/5YQM<]Q-$Y)Q%?$,FW>8/=?+;%VR"8HO(IOK!,55@B(2++\0W'WK,F%N(T9'3+9:?A-A%VL)K^Z)VZ/0CAR, MQPW'/73&>$"^Q0U>98\/?0XD=#ZX:_1MNNX4>#-,+YG-OU/] 5!+ P04 M" !7>:%0D;":F2D" ,!@ &0 'AL+W=O3\HFC3PEYX\L(8$7]*H+S?^J%_"[PTYUJ9 M "KRCISA.Z@?W5[H'9IT)LFQ_(;*L?B2)%+GCOB>%E=<1\$^$F MT@^S,D'[[.P]W:W4T6L1XR!'5V,T:LI!@V>:<%(@[3Z5P*X2)7Y(Q_<%=H^* M, C<)2)G%Y$UB.ZZ^ =C[#2(K4%\9["@+ =-:C7M0!FMDG31BT,5KM/8#9,X M81('3+2 &33)K$P<9\F"Y5&$TP2[45(G2NI B1KU9N MF,P)DSE@%BV7F>,EK=>K!8Q#%:9X"8-FAXB!.-MY([V*7UIE/M=9=!IIS]@< MPD6\U*-NF$SO-L.<_$;$N6FE=^!*'W%[$$^<*]"0P9-^6+4>S=.&PDF99:;7 M8AA0PT;Q;IR]:/H#*/X"4$L#!!0 ( %=YH5!=5"P>U@$ &,$ 9 M>&PO=V]R:W-H965T@V\]"0I6!0$=TSRMJ-YZFU'G:=JL*+M MX*B)&:3D^N\>A!HS&M*+X:FM&^L,+$][7L-/L+_ZH\836U3*5D)G6M41#55& M'\/=(7%X#WAN832K/7&9G)1Z<8=O948#%Q (**Q3X+B7 MCKC>7]2_^-PQEQ,W<%#B=UO:)J,/E)10\4'8)S5^A3F?6TKFY+_#&03"723H MHU#"^"\I!F.5G%4P%,E?I[7M_#I.-[<7VC8AF@G10D#?_R/$,R%^(_AJLBDR MG^IG;GF>:C42/3U6SUU/A+L8BUDXHZ^=O\-L#5K/>1+=I>SLA&;,?L)$*TRX M(!BJ+RZB+1?[Z ,]>N_@\!$1!L&VBW@SB]@+Q&L78;0MD&P*)%X@>5>&^ZLR M;&$>KC+9PGRZ"H2MWD:"KGT;&U*HH;.N"BOK,BF/D7O;*_L>)VAJ^#>9:?Q^ M<%VWG2$G9;%S_/M62EG $(,;[.D&)WXY"*BLV][C7D]]/QVLZN>19LM_)?\' M4$L#!!0 ( %=YH5#KIGSI; ( )(' 9 >&PO=V]R:W-H965T'B5=:,*>^M:WNY]FNEAE40R%W-.BH?^,!Z M_>7 14>5/HIC( ?!Z-XZ=6V PS ).MKT?EE8VY,H"WY2;=.S)^')4]=1\7?# M6GY9^\B_&IZ;8ZV,(2B+@1[93Z9>AB>A3\',LF\ZULN&]YY@A[7_B%85"HV# M1?QJV$4N]IY)92BG<3BY;2T;=Q;7J[7B;^JQOL@"<'/#O@[$.':'*(WAW&Y$=E-M7/ M5-&R$/SBB?&V!FH>!5I%NI@[8[2UL]]TME);SV4<0& JQP7?N<81N0U00!L-!(C"/R!)$-P013!"#!+$EB&\(8J<0(X983/]1 M(0@8@MR%0*$;8L0DRQ H)IES)14$RQ BL)P$E), Q1" M.8D36$T*JDD!-8FC)KV+$R4IR1TU (K@)(?%9*"8#!"3.F(R0 S)G?NL %26 M1?^I3 Z*R0$QF2,FOPN#8Y)&CA@ A?-%8C=B=',&&T8(_%'<9S.!EN_S$W+O M"0 AO'CIHYI@TS%.B?&@^#!-P& >P^4_ M4$L#!!0 ( %=YH5"LUH <] $ $8% 9 >&PO=V]R:W-H965TJ6JF55JF:/GMAN"@VIK99 MTK^O;5A"6#?*"[:'<\[,\672D?%GT0!(YX623F1N(V6_1T@4#5 L[E@/G?I3 M,4ZQ5$M>(]%SP*4A48("SXL1Q6WGYJF)G7B>LD&2MH,3=\1 *>9_#T#8F+F^ M>PT\MG4C=0#E:8]K^ GR5W_B:H46E;*ET(F6=0Z'*G,?_/TQT7@#>&IA%*NY MHYV<&7O6BV]EYGJZ("!02*V U7"!(Q"BA509?V9-=TFIB>OY5?V+\:Z\G+& M(R._VU(VF7OO.B54>"#RD8U?8?:SX %%P78G*43 BS-%,"%\)D3$_56:L?L82YREGH\.GP^JQ MOA/^/E2;6>B@V3OS3[D5*GK)HS!.T44+S9C#A E6&']!(*6^I AL*0[!#3UX MF^!XB_ ]SYXBM+H(C4#XQD5B%XBL I$1B%8"R683;A'W]@0[:X+=#3T*_R,0 M6P7BCUM,K *)I8)/&Y,63.1M#LN&V=X'M+I^%'AM7JIP"C9T4A_T*KHT@X= M7]]-_*":Q/2F7V6F#O,#\[KMA'-F4CT.&PO=V]R:W-H965TMK8I]C5!X\(''W[7> :R55WACN^-_O'L#59-V;'P ">=?*^)H. M(8Q;QGP[@!;^SHY@\*2W3HN ICLR/SH070K2BO'5ZIYI(0UMJN3;NZ:RIZ"D M@;TC_J2U_08@NEDQJ,E]80!WU- MOZZWNR+JD^"/A,E?[$GLY&#M6S2^=S5=Q8) 01LB0>!RAD=0*H*PC+\SDRXI M8^#E_H/^E'K'7@["PZ-5K[(+0TV_4-)!+TXJO-CI&>9^-I3,S?^ ,RB4QTHP M1VN53U_2GGRP>J9@*5J\YU6:M$[YI%S/8;<#^!S EP">>\F)4N7?1!!-Y>Q$ M7)[]*.(5K[<<9]-&9QI%.L/B/7K/35GRBITC:-;LLH9?:8I%PY"_).$WD_ $ M**X Y6U <1-0)$!Y!=A\JC)K[I/&),WFX5,.=C&5^.A^"G>4QI.##3C@-(;> MV@"(6]WA30[XSA=#01_B]@'W+M]V-H(=YX?,EK^I^0]02P,$% @ 5WFA M4)9$9QHM2 ^#(! !0 !X;"]S:&%R9613=')I;F=S+GAM;.U]:7,;R97@ MY]E?4<&5QU1$@8V3(+OMCJ HJ4U;ETG)#F_'?BB@$F2U"E5P':3@F!^_[\JK M#@"4U#T[,XK86:N)K#Q>OGSW\8>RK()/ZS0K_WAT5U6;[[_[KES>J754GN0; ME<$OJ[Q81Q7\9W'[7;DI5!27=TI5Z_2[\7!X^MTZ2K*CH,Z2?];J,J^SZH]' MT^GIT8]_*),?_U#]^#Q?UFN554&4Q<&+K$JJ;7"5\9Q)G@6#H+R+"E7^X;OJ MQS]\A]_P=Y/@=9Y5=R5\$ZNX^>OKJ#@)QF=A,!Z.A\T?+S;XXZS[QXXM_/PJ MR51P5:EU^7^;P\WVWV\WJOGC:#CX:^\'[U21Y'CD.'@>5:UO]0G^U[_]6]3Z[;.W[X/+M]?OWEY?O+]Z^Z;WGI=Y 2>GFPZ#FPJN(LB+@#"U M@$/F<1M\+WHF>Q]]"JYB $NR2I:,.]VGF\\'P_'L?#*9M7 3[B6FNWF91K<] MZUS$,;R(,M3_" A!WV:MG9X%ET5>+K;!\R*Y[[M',]LE_A><_7W^D#7'/E,Q M/(C6.VM.8>#WKLCODVS91NN+?5.\R\L*L.K_))M.X ]'\TGK-=#.+X#T='XR M/QLU__0J7\(:[^[RK \!IY/A8 (8W/S[^Z0"I,U7P6A\O'@:W*AE7<#JK1WE MZS5<_TV5+S^&P9/AR7 4;*(BN(_2]GN$9Q@GV6UPLUTO\K3YZ]7UL_?-O^EE M@Q>?EG=1=JLZ7\&;BYOG%_T4Z&52(A3^H6!?+^&/+1J[D_#(UT+&.K__:PON MEW51-)?NHX"# =" X;@'7V[N5)K"=:\W4=:"OAZSCF#,L[J$YU&V=B>#7JQ5 M<8O0_ZG('ZJ[/5/J S"YI$L#E&\?_1]MCF4H#I#K:%G!@\1C1WK*'302R!' MYS8O6KMZ%15P]Q?+I8)1,";F\7V;]Y#RAOAJ\+:NX,%EB(!M),[*/$UBFOA9 ME$;PH!'PJBJ#XP]95,<)_/(4>/2'F^?!\9.GP9,@R8+W=WE=PHPM"#Q72\V5 M1^=]J!&5)OGJ+PC&6&)_U#_K!-X2C"^MPU[N55FMNT8! MR)#"ET&AE@JF6J0J##+5NH4KF"*K.B#_MKJ#>UEZFVZ]ZQPIV>XQ0"@WJH#+ MP;/AL3:XW\Z]O-W@'2/.I2HJ55 DMW?5(%\-:OB/[MF?JY6"U>.@ M;4/>2G M/(\?DK1-=C+ BML$ ",?=N^)P+#K^-V_Z=M.DVB1I"""J/:5FSO:1%N\H([? M0;@!J'T"0;1L/SAS^$+!)=:*T:X[O$9_W7)JSOWW7L6.H=PV[IB1H MIGEV.R $WC&4M_F8H?T#D"XD_$X81B!9P[E4MH3!P?&;''CZ:/2T\1EJ!=^7 MFVBI_G@$8G^IBGMU]&/01G!]^)+ISBP$MBI2?1#5%;S7Y%_P,ZZ<(4/.=U$D MHF!E)UL-@]%PV#WY#\%X'I[-3VD1H$"3V5@/2LJREM6=A4- FG*CB$RGK<P[\_E!,XBO+]$P/@AKH/+"'5=+B1]= AZ)BR:)"#-^G M.3'4M@"=IDBZ<=@Z*CZJJN,N?E*90@T7!T7Q.LE(Y:PZ5"G>=VXX0A]+LCSC M.(5#/.UYWLP'CF46/:J3 1^_B1/=O@Y$N;;7@HJYV@)&7A$A%ERFPG3 M7VX#-"R4*>-O%/]2]PB1^&V=@=J9$@.[!4H/Q\E81%VE^4-PI^);Q9(3GA. MW@EB^O)I@#M473.@E)K"BTE6";^BW/"3?7,[^SOF^9_:C3+FHVP5E*Q1)KMW MJ]^G"]^="-)]Z3@[J1_"?'X?O""VTTG;=M\X[6B7]AW\_%JA@M\RW3E,_)TP M\4MFXKV?&&[^0J#?/_G;RZO@HJJ*9%$S@.'.F#GV?O-,@1Z*TVH.JW6T_H$+ M'MAZX\"*B$4#G)<. P)L ' ':KU)\ZU2\L<-S %L',[/;*0IZ/W(<+QB0>DY MH FLS'I_&/R-)2\>\G:# "V#%Y]4L4S*-@W8-1.?-035&JALLF2$P>$7#U$! MO[]AK'R9%RN55#7RNR_;\^$+M6[WW=6E;'BP -D_AJO=$MI>% 6:8UB' T)6 MD&JP(HMBB6:#97Z;$=JU]59BX8B*-!Z-B7]/JCM\(KAY_!N- >S %9%FP@MD M(K47$#232F-$P\O\7K7GOU;$I)DF?]C I'\#^. O\$D+5!_@$&4 C+YN\U8F MPMTTG;B5 3'L 0U^!9VA^[6T7ZTAQSBH\8@#YQ$_A],L074O Z-^N3#KAM.U MVM0@/A"$D>W#BR?)I1-7OVB*OW7+H?T\$EG"2V )GV=[N=0L\5X JRT08+DI;C@39 M"65Y=LL=%VINW96&^HT8+8"1795D:N<,)+72%EUEBI2G\0_!<8W26IG#_7=9 M*YH6IWT;*V2;0K[V_.13L^U""S65[48(?7"EZ0(?QJAN2!,@=UJ*;*)43 MKZ-*1!%<8X<1SYR\+NF:.T^P[]2K) -6N>?4[XI\J50LGW3QSQUB]H-#93?" M)P &.2(\[!M_1FN#)K \J1RDF\04AL3LATG7^5KVX=4*2"5"6VE_ EJ3@Z6\ M 2V1'F)_Q0TDFO$EC_BPU\(;!E$%FHV6>1#OB(8^;@*%;ZGOT^>J7!;)1BNL M?2Z#M\5ME E9"@-+K#79>H=F,-!Q]3PO&?; C!Q:_O/% M7(9=5V)G?O(KG. M%WD%RQE'97!\Q'\\0E\;/*K@2-P61T]!ZRU!F>&GM*B3%+"VP+% PN\0#NM- M_@"O<*/R#3/:. _6J#7"F#NXL1)HB#&'X;]1%8 E[@"?3P)>]_ [^KUU$VH&.C M+L;>',& S=VV1-.7W>))\$J!O!61CZFZ2YRCA !BD,8S^$F!%A2@<$BH L5^, 3*QYI3%]X[)% H,1P+=DUT!0$#G3UIR2 M*'!U5^3U+3RDX#Y"@&YQ\1@M'RB0'<_V\'50=$^(JWF4 M B^.WP1<'4'3%0-7AHB4EH@PY.'YWN4EO5 A$@@;!&Q9+^#M)GB#"-85/D25 M)NLDLU:Y-&7TE86U,LD )A,((W:I7WT ' >P16TB\F4T=UUKJ?2@_>,@C+%! MM9]88&3A!:@*7VP0'1E74\!:^!W>*#,U7!M5$"TE$TPO@!H!Z($X_G1Q\>[H MZ0EH'30RAV[PP<,Y)4"3.X5 MFTEYI*9TJQH.MF(/^Q8][/!WO-]5C:12.* 0V,2)''RF11]RAP';18R!Q=2B MJ!$I1A..& L\2BN2MM)D"?=8!LBY@80'L_%@-@D>E/K8W")),HR>-\C"XF@+ MK <>Y^ VP5(<>**BR-6AW) M'V+F!:RY(RX>T=.K25>5WY#+@_R_)B&HI<8=P*?\@4R-^!3]K=8;,I_G M&R9L-TK1)[$OY7;A\Y%W;T<>:T!6"KQ*P;I$X"_J6]@3;OI,, U0R"#0S0>- M(&>,("_A5MGV$CBX\GWP')X0[!L)Y,L"\ #$BH^BUFM+@!S9&>G9S! W;.? M'#&+-[%]@%%HRB]1KM%S%>YKGSL3(,W^:J")Z@$VIEZL*"(4E*)<-&B>6?BN4_^A>@%)T_I-V:)Z(DL[>N$ M5Q"!L"TF!FOJ9>(*L(\"#(-(EJ1ND+1HV@=3I: K 4A-+_%.QSN-/5 M#@8"J&BW!-O9B8SG@]&8D)',.>_1A@B(=X/7E:RV^OS..GBS[FA!1YRRY*\2 MEG5?4(!F-1>(44B'+OR,DCH#Q@9&2&;!VF1]\@V M51$[U*>$L>.V!F B[4:A:XWF0\);4%$JLE%M8+<"YR51(N<5 M&4L 6!90?XXRDBM9K!P)G$H=>@9G4TCVV8JK19*EX;P'O(:7J-V#%$$7C/\; M$E7T%*T\@W\O-?5&8PP_ 4! >A%$-/#OF@(L/"4&\4R8.(*#@67/B+L[ 4TM MQ2AU,@D\)'#AR!EJ8.VQ)\XB4T^ R@FE*O1;EAUIL@,H(M*::$9;5=DE$3D M_0^F*T;FV,_;&O+,E4P'4N;;OUT]'P!=0PRX3?,%Q86!&K).EBXKQV4S>&3H M00? 1_=)49?!L?[\*>G7KLA5.N8$]+WD."$ KZ@W]E6:E>B16[NR*.]L4F?) MH;1LAF_R%EV!F;Y\P 2F\&13(=T50Q#X M K+'PK<5/2)481,R^GP$FI$! /*>U>ELB"K;+((I1;&^B]"GAH8[4'-4+Z>P MUT>F*.,+$4WY)'B-J$0A=P7&'^!1C\H[A8<9)-E@DT9+=>38L0BH*9FAQ)AN M($K[BLG7F&Z%UMG_)+1$Y#7>C;(&BK,5@YDUR0T:1>>[+W2 MUE.:36N8/K%CS:9L;FVA+PB1D5E>"?MC 0>X&T6AR/T*:!:_**9P!J"2J#ER/;6),)EP* ^05*8,EL1%)C"PPDB6975F? M*E$@RQIFT),398F)N2#.B3W%B3+S2--=A9;[55.;=ZZC:!K/OM8860RQ2?"G M_ &MYF'S]NI,AP=L4$5/M5G;KLG=PK-M82WRX2%U"B"I0PM/@7FD<+&@:A=:AGL211;P6X,3^.%V)? M*)F)D%4W:TF6Y OV/[( AA8T M12$ M80^]'C=6=WGO$<1,VZ,E($&L>93X?&:U+8 MD=64(JP6J3B&X*VAQX3P4S\DZQID/N*,9M)"!G5SP74A3P=3YS(4 M9\H?=IE8?@@>2,.KMJPP_A"(Q,BWZ#W]_B#=UJ0?7&$4%_>3!'YH*C-E M3Y!&-Q1E(&ZG+&4][2CLTY!<2X/=OP%6@[+A J6@=1]:P.>@T@ 7) <>(E.1 M* K#$_H&+Z1*0,]"<VV8TD'/5*5P>VF,9+N&4:1:5EGY*#7@-XVD8T- MJF?$D7 "MJ;+TO Z$U!CF-/*6RX;3P[MUB6&DB5 H&/S)>%OR0X1:_^P>*Z5A[N5.8<@)^1""/1/=!UO%D? M2.L<" \CAK$!TS4@1ADG+:M9 A&,]M3I3=J9U_2C>U9HL=6@JWQ++RQJ!RGA M-D7$4=KDXSR3)7!(Q6X@]\5HT<'LQ[^!T),M#AHKH124A*F"X#R]_HP M#B@N4C@NPLU]9_8P@,6H@>&EV+/$GA;F8S\,)GQ,B9H@SRW0Z=*L6NHE(<;TU)[J)#OJ.%6AXZ M7]@S9XNRG5X&W-WL9&YVAU,_&9V,S1_\5*Z.]R!/JDG:D'[:0":F9P:[Q"1" M:JBKYRVV)F@JR2Q&8WX<"X^P?_>BFW%@*26FPR Q([BR*>O.-(5DBLEN!F)Z M66IF JH&F:-%=U*&N2 STIYU" JR!5L/213C3)X69I<(&W(C)B!@ MQ D'C'1IFJP4N,JFUA;+IKJXV#IF#L\=TOF,3L0C<,&"HOM$,/ .GW0V<)(= M.,G-R7D@.0PC:81O=>I2-G"GH37IU(Q2U/!?\D+ P *'OTY[<;SYO*[(MXZL M5"M.M%:5"HV:MX$%&PEY?% M:G(P*&K\)) $J5]W&4?2)J\KKHFR@C*QGAQHBA:0F!#3T=>MC%D5A&];&I $.@'4=N@7',_@&=S#^=W41"? M?@^;02[DU@-JHC#_I\YV#%IY;<&3X'AT%HXFLP #ZAX^?#X<&-SYCU;-P#JNVSV9!-I CP6F')Z=3 M.NOPY&RTYR.])_^S^9F;%J+SBY+*R2T.?JN 9<.>/ MK?"_;WZ ;WZ ;WZ ;WZ ;WZ ;WZ _T)^@)Z2#VZ**I=^::>4=@UE)4$R[O2 M_IAY/8(LDY=>K-2EMGG\O(/I=FW!Q6"KA :HQV=WD[AKNJE/?CXCR31&B\M M56?")C11V^#\'(8FY=>C^K7@$P.NI-0>!TS7IW #"L-'$R[)0 "F/)7$NS7F M5]L]HLV=0\^8_FI#1>A&T,-/5+Z.;.<@\.!49 ?<1&PH8O.0Z/L2A;%*F:C? M-=T:53?I9], 9?68;#*6V##6IVO#?1#(L]3$X@LIYA@V-FX4(& 9XT;D"4EX MT449I4X5$1L7DB^!H)U(+)?8+W4NC ,W2\$QF4(_*618%&:$&[-B$XH87"Z& M2RA03-0GB6.GF64;)Z!H)C:O", 3IV[%$/K2H;] "E:P<4X:=*B'" /R&9%/ M'2W8G0FDT=TF4AG3N79(-%*ZT.^1;2T#Q?7^G@Q>)C:7BI=JIH+A0(MU0N28 M7Q([S9R8,"T6X]-G*H]V!DKZ,2&)G-.7X=VMW)P#-".0-*$C/]'8B)PZ]$FG MLRTQ8(D5)**(30RL5SU./9V2I-Q,*@=%"?,V.1R%LB8PUHIL_;(^O5?X0C]C M'.#1TY"= M,4@,K;96$C5PXEQIOC7:DC>D\!,5,L8?D3,)6CAM2)]O-B%F'-2Q)5 LS^&# M1CE.)(DZLQ%DYNKKS2V:U!OT^2Y][FNTY)J]++'\8MIRBW5F(&N%!]QR.[XOU6:3S')>7(JA*J:K$ M$Q\?W=Q0&A9>'?S3YR6.2(*Y**[WXD'?IS=?*>F[76<#75&LVFR,W@8/:.LN M\Q2US=LZI5A1VK>S78G;U,S'@X*YHO+ %]_]VG?,[E\NN]D$%]BW[?!!VG<1 M4<%'>OP+3B34:IF&7BP!MAY9M(A-(J]Y&,(^EK*GA3(5!)IXQOEYJ)K:V +2 MY25]!8&)T;M]*.:=O>\*3:1I3;$")3W.+JT 0?5D>C(U9B*?.,2Y8NU.\@_X M5;*K'N9R9^_;RJKC]'#*(KE-,@D-(*BY -$P0"*>4J#-#B[LYC62FP6@"Q,, M] 350\[_UE$I)LY#*QU">!WN '^/%>ITA2L7$M,K;7!N#ZRTQ"%>!8S0*2@R M Y.,].KBP, D!PH6ZB,UFF<65(W,U]V,!XFB1%"K=B9GL_/%S64P/1V&P=%/ M=80_*1-%;\5[0M32P(=JH9;B>:(PFI5AIH,J'QC&R 88FP'=GXW,8H]LC6[:=ELTH'T-)C>\.V9FQNVC]V<_)=!W"\ !U<9C"SM89P&)DF&88@(WY M8;8HFR,+121&%?_Z4!D6X&LG)#E-:1%G5#'-7P[8E[KG0!Z.O]'A6%UA,CUA M02;(04@%1]_8+)_07N['+'_0]=8"/(N8R?&!+*.2[;Q2:AC(!]J&]8U+MOU) M\/:>*(8^HSCM2\U6.W?N\=;22K.R6R?(S@M8H<@1(Z4_IXN.7RE+4'] %/PRCS M(%$^VI2,+MDRN@62>FM(HMYBMZ=3V(^+;=$"]='83J1LY6ETL:@/WB(C@]#4]GY\%\&LY. MSR548CH)SX?GP?0\'([G ==UU+N%S\_'X6PR0U?H9!Z>GHZLC>Z9KA+Q2,"X M$2/"Y'A"-Z27;3"^Y&5EG":X&K!IXW9?E7GX<@]H+N?>3@? MG@:GX?GYJ)'>=9^3$&TWQRR8C'8N/U@DK,)@TYRX3C4-[@JTXSA/B7HR5@22 M;((6_]*T#91-+2T@'G>>PAI#^=V(V5QJ4966POLF,'HX7"+'+?I;WG&9+Y%\ MEJ:Z%^X6>P)IVQ8*WTZ12I,HUI%YQ7MVXKP[L<,]AY2\T'Q(;/K,GDCF6:CJ M0:GN7"^79FB.J(]M!S%X3G3AOL_U. ?MN#8A>4\F)Z=^W,K,.L-;K1X4A3#W MF.3EUWZ#^RN,N 7LMQ6(]2<[K.PRQ(^8PVKWK=QB>S5B"R*5R*^0+TXKO+9H MJ>_4B^(-=#,>V&CIU(.3^LRB%W=7>(8%5VQ,?DD:&"W(UA82K#V%=3262^R* M.=1YXLQBVET6V(-&88&NSL.BBK8<&7V3!YJW9E1VW%4S&%%V#3J7A*-JN!0L M9"C,DY4$\12C1LEZF*D'*CYM/&[?H0;)057,S38-#9ME7B6EA"D\2'D?M+;- M O8IBBL::/$9!:.S!//:U7^2C MHP^&TRBL'JRF,-R&C)C6 H)9$FC2)#<(DMQBV(FX;(;4OH>6$V6=\XM-VX;/)-!?$%C!H!3+J#@*D+/DE!XLSHG49$JR*EW!*CQ'% M%WE1L%!2"+-#2Y"XM%J7;51G3V2Q&D/EU.)ABGX6',=BJ=0WX*3*/]5N9H,D M:R4)UI0.3400T[ %)ANL"VRSBMOAE]ZQG1# 0$>&F=/1<5&V!;XR_EU +JR4 MS5^MCSCNPMP-XQ!^>WXRG'(JOG;NN,\V]3"%C*Q1*6)@6T![M#S;[*E"G0! M" TG,Q1&0;J=3X*_^<^6QHS"T7@-MF=M[190 &:L#IF?SE]\@2D]S/0>K#$0G 6CD?TSS%(]K/9$/\Y@7^.AF/\YQ3&CD]/ MF>)P\8G)-#R;:*3"#A#K>MVD($^"^3 \FXX"E+&^1_)5FYIQ:'X9X:]S7?+/ M2@9B=.N==78.>L=49M6VIHU4R]X#3F[:,W^*N@N<\Y7M$]0:"@M-PN%TVE6M MU"ER0/6^<#$TSYY-QYWE8?1O'<5?#/&T8?(WNLB>CUU-[R8.(DN MX*BDY4>*V49E"ATDVJ 8)RQ$FYV[\=?FM+IB/,LNZ8GH3Y!R9'1V MQWKI9%CB+HY'3U&R8^N-%<@*BE[2P@H_K3 X'C_59%42'I;6VG\\>6J@R%9W MSDC=84KV(-,&A[Z].WC/)>G L!?'+3V;C1@3SD].YDX_0E7YDMJ5+(&E#5+IU SE[2A])A#95D-(TOQ7. M91K7N?7*^M5#.]S^2S0YH[=;8\^C#3'7T8,Y(U*3-#%" ML0Q&TWDX!-8QFDW#V7A,%IIY.)Z>X[]F\W R;;63U;7!0K%M.:WK+NQ=NBE" M?3/0P/;G!X&PHT)9>Z8NHUE)]6-!V-9EH2C*9VL< .TT+!/+>7@D?//*=!.O MJ,V./C./CG'**(]; 8; 3T3>/QX=HIVX@"VQN(1R$$C>KHDNHS/^+[#^=F2726[1G^UIN:^\> M16QT:&ETIUB:>HE]!JC@@5,435+PW5"-'3 MPUK@V#><@$_+_K]%(ORC ]?G<(%%?MXP7/;W6].^O+/<.3?_>?C+>G#9H M=>780:FBZK.<%#2_[?YHBF7 T4$CF1 3G(03>#]ZL(D'@;^?PR7!_YS!>[Q\ MG); R@$H2'#=>N9%GM5 +H U#_&)SJ9V41'LW)!4KE,Y :)TBGK.#/BZ'FT- MN'PR'10M]3NDJ2O0L.DIK30%U-'?KE1L.N]Q_6RO]@?@ Z ?0&1^U@ ?R YG M$Z*(1(9FX=EPQ'ZQ^>E9N]]"D=RS/.]4 ^XSL?>,QBW^2<54WO_"!N@>)#+8 M*4L@NFAI0G=S).D0>E9WM?WI:#]1.HWI]=9,,(_M*9SR+APOY:U^)ZN[HZ)' MFWLN?55AMU%$DG)O.>#&6""IU"G=_HZ^B)B<.)MR^N9T,OEZE[<#U#V3NNJ? MJ0XNQ4;83\<)8J&6\#(T/&$R8%UPPI).T@@;M5=6:;V4Q"GB'RV!S&O?4NHT MW=8@+GG@.AHX5XHM[$[E?\ )3(G)1._0!&B.T2*KD MV,HQ*GB&5B)09MYA]A^0Z2B+X@2F?@ZHAG&%+^HBI]OZ M,@?]ID=8@KW:#DKDX V;_F,R])N1'5ZR>*-)I0[RI+1ZI =\F<9:]61R=N;$ M7)*H-1U/'0_FCD(; :A]&"5=L5L9HXQULI6L;FZHFQ+IV ",J[-%H>@P'(O[ M-2[+7HDCP)6VGSQ7=VD&,@@C>_05/ZCT7OU*E]N$[KZ[G8^;4O3,O>RNFW5+ M-6"'F.Z'MX=C./72=W.*-@!'<,^)=16,GMETD!6)SRRI(Z2\!RD M*_Q?E(\/F*@Z7W.88UP?]#:K[J:V-LY1M/@FTR#,DV7\:4EIO[#ZX[+[?[,391Z-$!L-BO_K]<&M/3:@%H1"O=D,]L= M)K=[DGPN!SJ-Z4M(A5.I[:11+IDL?OK:K-;%W:IOL];=FK^]L3A5: MIM.@I99UM]SHU>*TU0EVQTSU[:B6C63@!#O^X*['K3L8@X9PZ?_KL2YG/SK[T4OPI+)C'[@=.]=E"V>@C MIR!;DFWJRE.P_UGG4EEMR1Q+ZG[R,Y2X2LRM-D[>-BT)&[/XWV R%NA,H&N; M4!"OZ3 ++/ZRH:U$*%LV2IQS&G)38KPR!G=B1B7G76&/8CM(Z DPO$@2PQ:H MRU3L$F7[0FH#WQ0C["B'+''97H+M]!"#N5\1'=O!6)\6QH M; X0&ZAR0C1Y?^:*.;9;A!!54=%TMQ1@@9W.,A(Q*)A^.1WT5 MY22=(!(G*=F4',G-%_>PFZJ^>Z=0X*_I)-6/_-PY M 1>AO#;MO;51>ML(K.5VB0A(XA5 . W>%;EXILMV7RE)^>,,(.Q4 M&E'X4-N=X<(V*=U";Z8&31HE:ZP/#E"^59HU51)VRFPBKRN.@%HY/^D*,53& M@$J":?.04VT9W8GX91H]E/#@/L^)*[X_V3D>+%!17:+(2@2ZCIU) M6I4)Q$IB(6+:!VS=]%LW2Q_-ZD6-T5EDJ^;OI(LQ/>VW0&;HK4]UM6YX&M*K MP]3-PJ?!-"UXG0#% 7'R)5"H%06?%Z4(#,$[E5%[W9=8ZI&[\D8P726F&C0* M2-E*C54?3FXH29/KJ5T";"TSN@%\@&-D]G> ZQOU$/PC+^!-HL6A]%LKN)G] M\HYC2T@IV1ASB1#:RX@D.&1PAQ[HWO3+UAH5Q3YBXE!Z$E)CP='WH_/!\GXP M/#\#VL!Q]DCU,!68P-XH&+0/!.[)7P/THN4=R(45QE]>&,&>5K#GN8S6FP6V M"GS$?D?CZ=F$@^'1H<-7]^57Q#4?;8VMKW=Z0%S=9X\1UW(EG,&+J\0_ZTLF M,J@!M"0V2&F;&_(V$;ZF6 @5.!<6BEVM=+BH\R?@T[!*5JJ4]B'LQ]V$_5H> M0<:M"A4W3:%?,,.#WBAQT8Z&QXNGM/QX>!P]U:*]T]W:=+:^ M8!B-SB=3^D#SX,&,"0&''=LB/[BRBN%"5G#=3.7728FG%.^;V_8UEZ;9%" # MCR=K]"UD'FZ#RK)8GP%X\@C$U ( 4?:UYW-:I=OD38*KT\OS(,H$3#$"43CX M2U3]BW;Q_BY? T;_'=\T3!LZ9F,N&K10=U&Z(DK1\4XT_;(WMN=!_$;T:M\I M]QSL461A='H^MNE"#MX"]BT*#'-3TJDZKN$2X37&-1LEZ@RKTH.(!H"XXU*F MC\-S#[E_.Z2VLC@%*):)W3 WP$'$7+,T96%*^P.88A?K,KBYN.DHS6(I81_2 M^W NE?J(8L$:RY!JHQ$W67'+G)G ,@SMCH'(W7+!1UTV5J>KA*)U9:I1L,PY ML0%ADJW2R);_)HD7ME+!(IG:@EZS4B;=OZPD]]W=%57W1]'ENP00(=/M;-)$ MK?"<5!#_U^&+#FC$HU#?16B,!X241@. M)].O1A2B1G&WBE"C_16I@*#?;T $&F?ZJD1@-)E\-2+PF:_[ MV[/^G_>L7ZI%0>_:&B-WO^N_HS4N6@?OHW*9_W?A[E]PJ(-?>4#/?#S[>L_\ M&Z__1A1^!:+@Q,>^TVZ&M]P394_5C59\K7%32$\54SNNU=[HR6CFE[Y#<#<^ MY[7Y M?]7QT9RR&SEEA:6\F>=+7R*B<3D5G54/R!.EZ-*^ROPVMIB/7J@&\-O5OI.* M_FQ1VO1Q; :'2@G[2F*SC:>CN_*39UQGD$FJOQ-M%SF=6.'A<10%%]>U%6LE ME3A6Z\S&BKYU"A2ZX?%N9+Q)#D\:'SMIF/M]+2>(XV5MW?]>0:*&)T8OI*V< M.$[R'Y+U@J8F0YX9%U,0 _>,E7:9NOL 1G9T#G8[4719^)S6"QTT@ZK^1A41 M_F6^V5)::R@A^:5:%APLP12+RU2I"D%32.V %2(N%[4@GP_NDRHFW"6%[) ? MIQ-D4JJ=E^!6B@(LV2BNJ8J3DE.,$AW5)[6LW;H$9@9>;AU]HO(?MD:]S?.6 M'%-3$\2]--/'4RK.QJ;9NBD>L7?[=2;UD]OE]3.L=6HOE?/\L)226F$U5NU MXS8>%385$4^:W^=LYQ;(!1N)-\Q'2=/\NO*3;KT@A296XY&HF@I60L3:C_@\ M;JD-3O-TN1?<9.)AA8;ZLW:&&/1E9?B)$G_7:9HN>$THAE/Y&AU\&%-GZW9G M,>W4[6(=Z=*LM$^3 NI6/36"B869WR*>;UK/DS@UAYP6J%$SH-^4D]&.]Z44 M7.&Z*(X3Q:LLQDW).8"AT?_.[$K\CE^]PI()$*FU+W1WT16D;$OGV!QC+Y76>BD>W!G#F1[EW[P0F=QD^UT]_:J_82!=Q1+]B>MS2TK<\='EQ?6+&_SWT5-"$95Q+T(NZ[_!?FD[.DN[E!O=$:9E MH+3E:WLY:2*]9@@26150SP8N_V5J97)!!W^TA(,R1PRD4J1I>.C@7$>]'^D' M=Z-N63W^R121&?WMH@BCQ2K75[A%%UXWU5KN5NGTQ^"Y4V=U^TV MUNQO+*&K\//O),T,(NIXU>K :=M.4#/4AP2#<;KA]_++B+$K(=GN&*.))L^C MTY/1[UHH8HT++U#1[.-BS7&["A5WC-W!O493@$=S%R;8HAGRP<=#&G!+6AJ* M5)5:HT&EV'(16A( B':ZP0FOL*+QQ,0HB(KC5U^G.C_X6OBADYE-?)AV9I.9 MS)+M>/8[F11)Z76>KQ>115X.L[RH;]% -O<"&JF/GZ\04%1EH3 GIZM*V=P/ M\]1'H1J49:*;5\4Z:7K'Z2G1",@=1L:=!&]R4[Z2(L?(36L$:EW#RA41NXKF MB9"-ASN8U[5HX(T-;';?R(5-&'^78V59%+?TOUJX^HR+VZYTO49ZV@<-X@3% M7LFX\]BZP# W1[2&6 JHK-A\E\0)DBBD&ZQ1"@YISIRF;&[3-1!-O74B,TXU M!V/0O2-!"6LUJ[@MS]=9!-2N4O%!^\=!2-^1W[*F;L$-CQ"^V-B..Q0>N<1. M'T[*X$ 70,_@YH!S_W1Q00W$KG1Q>5#N^-"N'1@!$,5H19:\7VHOC8@@ M7-T>B."4K \XF,5EC(!D885D7M! ?0.&UV<:'D7"$LR5+*5C/75M [V[A R> M,6G%]W3UIJB]#@/%E!>G#!3JVGB_VBI :D:IA63+8_TJL@FQAC4(DH._8C$# M8S6(8KF]7]R>BDWC[,&8P(9"(6S !W-O'XC+%UE&G=9)GD!ZI_?U%WMDY[3\ MY+MT;/:VF-TZD6XD!FH3/H4UD[V=%C,.(1T:?M(CHFC+34^P,*O -;_G34;Y)P@MQH;MU=.Y &T][D9'Y< M1=B@UED'AZ11B2E4INX*6[:(@.*?J-B83-W1_1?[M7BD$B3MO);*U2WAD,<# M"E_HRJ_VRQLQ8);X;O]<@]P#]W;*)[8U9CL_X+R&XZ.7%S?/0%J'VZO[YOY M+8)@[,7-!QB*[BA<9H#7>_3:+YQ\2:I(\(HME8@,9AM.X9[P2-O=,0:S-%*] M-*JFY"KNGHX&-RJS@7PX85,I50[5N<^#-,\_&F< MX:9G0=-[&; M*9/#]C M;I/?, ]:]T5D=4K_XBA>V*%-?&OZ4$ZR8Z,,B]P6'LW8F3N*]8[/Y;$Q0-SJ MJ5GN$%N->GZO,W^KU!+%%CB_42)IJ')9)%[%UN9S./+N[-9J\+ /0.S^*(E)E[I*3*Z]MWKD MM=/SBP#0/;OTL"/LTAC%1O?8SN7V#W-599'5 M-[5*FS68PF',0&_>'JY\[$W-X*9LI= R& 0=158'S&I!_1I\*#'47)H!,[2] M*L!1"F*A;N_1N+-EM$DP/8>2H[ % 9>(9U60K-_F=5)#*1#8JD8;%'%-<8=$ M[A5K?'6V[^L7+$SV=^IX0KX.*M:N*XNE5+O8]/P\)@-R>X^2BJKESLA^'WC? MP_.B>B0'T ];T!MHG;;>26WN_PSLP_9BPIVN=C"0*R]T',/&=R#C^6 T)F1T MC*4#T#*P5<5JJ\_OK(,WZXX6=,0I2_XJ,?5^O8^\0H?$;=;Y/2D30N]!F50Z MJYA)DD;$$@&4!I>,/62H="9SV&QIU%^K]KZ&5KA<25?3T-%?6HYN4 M)P (2"_"9,AK"K#P="!1WXDLV&@,K^8^9J]33QHRF3U@N4'D##6P]KC7]Q=Q MWS@"@^Q(DQV3?Z<5JRUVUM1+AK81XT%TQ6U&MH>W^?),4S#^P&K\"UT(8-_O M' ]2<-\D*PO1TC3, MXJE>D>[AQ,Y"70?/7_67.K[U3!YB&)?+TWU\JSPT;0@=#X1K@^UM;][36-:: M:;WVD-+NM=G?DJF4;E[YPR[)]H>&:_4'QT62.T7:">B]5:P;7W4*\3^X- 7 M)[G"I.C^T.0A?7Z5;BC*0*AA_+J2KKJVMN75;V4' A M9XDYU<;IAEQ(N .CR,B@(WG0?B2Q5-AQ$CDM=97 "=BN(DO#BT^ (WF] ,O& M,T8+AA,+H;^D-U&R:G>>WC)/4S'^=S:[UOOQ;\ .(!L^/SU3AI3" M8OD9.\W-B<@X1^5[XEG(6UVZ "A_KP_C@.(BQ2"16\]LZ1PFU>$^E7.6V"N. MXV-_A.WDA+*Q>$M>G0XHAMT.8UIO&5%5'I2H=.D!=!LB^;0-W&7*KO[QBHW_ MQO:#4'"W&0J9X4A;QGP)DC#>>P[P01 O(FR4N:@TAPZI)L74J?CZF-[+/74S M.N.ANF(L)B1+IZV;!Y*@R$2AY +=WV,'XT7)[& MI<3 (@;3$U)W';K*JCGZ);]XD>(MN/-$-V]R>EW4+I'IEM'0-H*'8_"9-S*E%QH1.I M)?28$L;,@UL-8"P+0J+_98<%7),9Q"#A5#-RZK&,G*8AA&_PEV%?*UYL#R.Z M_3O8/Q7MZ1HCM5^;0P/T'BZU/ 5426KN4+)KNI2&--:J8DF][N(XT"5FO(+> M4HF&RM-@TDE:.]VB?IUE'(&2;+JX)K(O6XA6"N,\D,G%#^1VFYP12FYEM&X MAT^D7,#7V&@@PMD/M@=B\ UL-"TN-Y>'8ZX6OV0:[6FS3?*N7# M7I?7.A\.#6Y\QJIGX1Q6;9_-@FP@1X+3#D].IW36XD_^9_.SX%IZ MX9J\D#K3867\W[J]L2D*W,[" :M+DUKVP]IZ5;R^E+@AO;WC)=W]?&U#U/ M2I,UPNBK1QU3@;>.!B2]7^PO"=?_;?@6/_GB(%X_-H#ZN)R?3"?AK/3<_$*3"?A M^? \F)Z'P_%]Y%WUNQ88)P2KCV'M%1;)9LK9YGHLL_I:M26F+FF^03+R%)_J>EI.#H= M6<"Z^YF'\^$I=B@Z'S5,JOQR^@"HBB_P@6/,X!(4QCHUN4D= M&I%7%)M4.Q*B*75$P@:M)KI02+PP/,OH,IAPT'D**\JP3D&*,%K[MMK#AWO0 MX;KV2"C5Q_=LXUH9(Q56W':\NK;L.4?'J$P;^='AQI6A!6-Z/*P&$QPC7R=V MN.>0*!5MU:@P&NE6!Q[CCA>J>E"JV[[J6N]TMJ(^MAW$X $AYA&*R?ZX1B=, M^\G$:5Q" M_,LHCF Y2VZWVOW?97XS[JU'^M/\"1!H4RZJ!:GLO_9BVX6W%[ M\D#Q=*^DVZS7I9NZ9;_$&O3[ ?:MO?=OUMZ[C=FP#*!VXT&$EMN%NB/X(7SO M6_/P_SK-P_O["??+2"Y1,^._O+=O[XHNF3%Q))]73?E_8,O>;GM9ZSK:B/"M MT>^W1K^3V;A58=LDJ+YD4N9=C'1?Q?PNS:IU;].]*(R!'V MM/<-/JW3[\M-M%1_/-J(M^/HQV_==O_K==OMLW9U#@^E/15;UG]^A5EU5Y5: MEP=Z")JK9GP^S=M%VMP5K&GD3]SJ]K_UZ_UM^O4^ MKK],'S$TE8.N_0 3&@0?;IX'QT]0 M'(:MOF8W4;L5D_U\A__'>$:O'<_HA1S'9BU"WJZ45H['.Q:PL&>N^%@EF&%(@I^P;%U9 N%LTFX M2E_<@,D67C M(>&QXWJWA4C[]T:59%+KNFNDRNS_0&QL3ATPFUGSA2%2?>#H?3<[@J=V/ 4] M1JZY.ZJ'D0$A?,%I$#'RK%;BUYNK]R^>!S?O+]Z_N&E1-0QC^ODUB RMMSG(NSH[1%*N-M* DD.X)X/@*4'\G7NX6]NN(!\RQY%"[MT[ MPPLWX*$9L[,/;TS8 A".UK=7.I;O,\B26IYH#:(EKA\23Z&!H0F]>(E>LE?J M'W!17S;K3-W?0@@X31( MC&/9_^5G!-$, + ZMM53ZCMUFUWG?285Z4&E,JTM=@I=7B >8(EW&&OY_^S MSMDW]-$'Q4NIU. 5Q?.VY]MUY-V?BJ5D?VA-Y-C[W8"''5_J%=ZTD;PK,*9E MAZ'TR#?1NJ,QM0AE VV_ZP!)CQS[W(UKN>:XEKZQ2#XHA 5FM>$K?:,_ T-< M"[R)XGK\L[<19SOPP&Y/VV$OM1WVO1.XY?BPO\(!!?E20KY6_$MHXN>=L$,O MFL;"8C<$7D?%B3&>"M!Z'L)!>^D,Z=FMS37B:)H#,(2FXV^MV"4,H>GX6\OP M;>-HVF^+;:&2DM+/D70@5*]RV(JN^7SM[AT'B1C-;;<1LR>,IF^D-K_W_4Z1 M,'T_]L7"](T_+!JF[^O=\3 [0?$5?<2?H4NX[JD_B4?-K1G11V[-#E :$Y[? M+3#"S\%GKZ,A]NJ;CZF8ZZ$[9'N4Y>S:A;M8G^=5 MI]KG7[#/G:%(U[Z#>Y^7/I3@7OSA'5^'O5 "EBEE=GUK"]T^,_C=G\8 MJ+UPJTY(:U//,V!R=YA@[T+Z-[P&B8&X;@>&N#$4.D;D2D*E6G?1><9'/1HX MF2"!$.&&K/2%)[_H4F<>L[F==_*U7[BS\5[-]*MMWCP2[9[_>J?XJCO\JHCQ M:\'N*VSN/RODYJLQY+TGW@G5;AJ^DS5\R$#<3(F7N$3-BY@"/;Q(*#E4DBO9 MOQQJKWN'Z^*0-':P4[UWUG)+4Y/SXD/FE%*YRC8U^UG@*<$^Q$77.*[.)*J*,5X@H5_=FW'SNP^56< [R@,7F'%J>W.O\TQM,9@#BSR]K,F5 M#8+6I4Z%ZMSKA:Z4-0#<&Z#4[GA9.WP^<+"*],'G<*S0Q0I;CKDMH(ONV#FZ M0P$58Z/;P3OQZYSJ1_G4E;@._*$.LN9>]&Q=0=)H34 =,35(.L% M1DM@;TGI7$&=)9P^E]W;[+F R0$7T#R"[?Y1N]2."@!L-U*I30<2V]X>[4J) M4I#4+V#:+A!92B.MFMO&X2WI.@)T5/>DVQ.?!,O>J8*;3M3&TO]\1+=TG 06 M-B)K'7@VL*8=W(NA,=Q_O PDLJEA3>N+[^@RIG4'T] BV'5#]P5^5V#,WQJ8 M2%W=Y06)"SVQ48U/8VXYK2HRQS?DAQN.S?F/GIB>W4&@^]T-.Z'A]79^NRM^ M[-(I$&*#8!Z]V8[8U&9Y8+8)"N4XZW15$WK>E_OL[A%8LHUCKG M[F#4YF@3B=K\P0]&W;&(%XG:]C>XG2XU@K>"8(PR[72QQ$"*ECC4$U>!O1*' MK<"*ZO$ D["'[EF-<&[C_*KBY]\CJ'ZH#E'A-\J^]?:.&/RB%(N(T0 M"L">56+*W4GSM%O='\1+*=HE);^I*6. H(5+$S66B8BN=)_IK3!-D[SVJ]SU M'O+48]:28ATO/DE=6CLCZ1H82,\^OP-\A#LUK(MU]"]TJSHZE\XQ!_CC8Y'B M1==)^;%7Y&L/-6^MX_5C<\#VR\)&@>V_MCL%'L;F+C:(V].=/J/6W+NAN 0J MR_&^5VOJ1/6\]K6-[\JR^O'_ 5!+ P04 " !7>:%0/MAF?4," "V"@ M#0 'AL+W-T>6QEU%7*U?.UW$]NCGOT>]0^8]XCG!XA'H@.)US8QZ'9U$>=2C)M[B3U@F D' MM"8LP;>$T96B-BLGG+*-AZ<62"63"FESJJ9R9)'ZR816CJ)%:4@S.L/0IL#8@_T: M/N<[W&V._!Q[)"%&5D5OFE5WYGAJH9.\S>:YMVG#HWA11==2OVO,P4Y;9W?YH, PTZJBFW>,EH(#GXQ/RT8'5EP$9.^#BJEHD^&SUZ5U "@,%J# MTC3=1KXJ4BVAU?UU:O-C-4]/4/-S[W,! A1AVZ+-W?^?=_D?*[Z\_G/)[E]E M7_ S:K2][01$SDY!Y/P41/[M.QET;6>KM^UTM@%%JX8R344GMZ19!EZ/?5HD M^)-]L["=_C(V.$.ORNXT0OE&3;#H]GC15%X:#86AX%J*K7O:'S89AP/NQ#=^,TNF">.=-^=2>6'GW(L+:[I6ZO4L M21.VDM;Y9;AV?V0CM6SD#U'W6VYCMG\;*W\8[;E:5M8HU9\5=O0GP17:FZAJA_2Z.5JAP=>TVLG4)T[P1LV1_"..Z9F?: PU;Z%U5<&RX%[CT MHM[=EX>(/<$R>R)AAUW4:0"G@SR%;:-D#5>OV4>NN*X$ZT/NV-$_,62&0&8' MA/PWBR!S!#)_0 #(S+#;B3NA.\&N1&6 L8_DT1-?8B!,(>DQ!*Y,*;>2J5>L4N_$18Z9<_U M.D"P#\[%O4J*620EU@B\_K:#+N7L'BJ!YQIS8>)(B\9#M0>22V^JVXU1M;".G7WO0FHX M@HB9(R56!Z0#C?2[Z(4$%GSG(9D7NI+#EQ(S2$JLD)!8-8)]X_?C'2 FCI38 M' M==]!.'MA2K,.AK]B%,&O+VXVLH G%F35FCXS8'LONQHGO74BPSD*//1+& M#/-(1NP1-$L8Y/X9.D(AMLM8GC"7CJ_75JRYCS$QNV3$=AG##"W;PD >1E8Q M)B:;C%@V^Y0&AOWJMW<1LTM&;)=?.W(S& M$1-*1BR4Y[*<$4S,+1FQ6Y[!7$+5=:?B7#;'W)(3NP7-(=A1C(DI)B;@1@CETZSWHFGCM+S #%00&RC*?T?>QP*S3D%L'3P!CN58H,LO MQ-;!,6,Y%IAU"F+KX)BQ' O,.L5!1SW',29FG>+%1SUCK0<33G&88<]N/#'P M8H%)ISC,L&.SP$K-.26P='#-V M>(E9IR2VSG\G]L>>-V:=LK?.9/^E5"U64HOZ"]3NH+SBJOIJ6?C9K>T695AO M675*G4+9I?YD>/]M4ZAC_]'8^Y]02P,$% @ 5WFA4#4#30$) @ ,R, M !H !X;"]?IR#+ MY2H,TQG5X\-TYN)YNZZ&YVVL%K_J89_*N@IOQ_"G&UYSDU+)X?P6;\8%XT_> M^_0_Z[O=[K!)3]WF]RFUY8N*?PNJ\'60S <)/4CG@Y0>9/-!1@_R^2"G!ZWF M@U;TH-OYH%MZT-U\T!T]Z'X^Z)X>%)= QB4_"6'-USH"KB/?ZPC CGRQ(R [ M\LV. .W(5SL"MB/?[0C@CGRY(Z [\NV. ._(UUN WL+76X#>PM=;@-["UUN WL+76X#>PM=;@-["UUN!WLK76X'>RM=; M@=YZA;,2=%C"UUN!WLK76X'>RM=;@=[*UUN!WLK76X'>RM=;@=[*U]N WL;7 MVX#>QM?;@-[&U]N WG:%LVYTV,W7VX#>QM?;@-[&U]N WL;7VX#>QM?;@-[& MU]N!WL[7VX'>SM?;@=[.U]N!WL[7VX'>?H6[2G19R=?;@=[.U]N!WL[7VX'> MSM?;)WKGIA[2]J4,AW:?+UWR:?BWE]X3N'-Y/Z;+9YRG?KM_HG09MZ1P?KVX MS>>I'Q'ATW]D'O\"4$L#!!0 ( %=YH5";Z.7DWP$ - B 3 6T-O M;G1E;G1?5'EP97-=+GAM;,W:74_",!0&X+]"=FM8Z1=^!+A1;]5$_T#=#FQA M6YNV(/Y[NZ$F&DPT0O+>,+;3G?-N-,\5LZ=71V&T:YLNS+,J1G?%6"@J:DW( MK:,N59;6MR:F4[]BSA1KLR(F)I,I*VP7J8OCV/?(%K,;6II-$T?7^^M]ZWEF MG&OJPL3:=FS;E=^:CM\;YIZ:84VH:A?.TH)L=+M+74*Z-L]2-63L%Q.^W]B? MI_ONM^1]7=*?HMGELBZHM,6F3;?DP7DR9:B(8MODH3*>RL?HZV[UGO?!^'AG MVM28[1KV94%^NASQM:'# 8;*,2?'M"WHT*BAL/_D_QKXL1L*ZVGL?*KZ6!]X MO!3I(54#ZQ<>\Q&IWSHEE;\:GEJ?[H=]L7X]?#_TPC^+@0V'_[WUX^40(#DD M2 X%DD.#Y)B"Y#@'R7$!DN,2) >?H 1!$96CD,I13.4HJ'(453D*JQS%58X" M*T>15:#(*E!D%2BR"A19!8JL D56@2*K0)%5H,@J4&25*+)*%%DEBJP215:) M(JM$D56BR"I19)4HLDH4616*K I%5H4BJT*15:'(JE!D52BR*A19%8JL"D56 MC2*K1I%5H\BJ4635*+)J%%DUBJP:159]0EF'8]Z:NOLIR;.UZX_Y;/@CR^(- M4$L! A0#% @ 5WFA4!\CSP/ $P( L ( ! M %]R96QS+RYR96QS4$L! A0#% @ 5WFA4"?HAPZ" L0 ! M ( !Z0 &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4 " !7>:%0 M)8,K">\ K @ $0 @ &9 0 9&]C4')O<',O8V]R92YX M;6Q02P$"% ,4 " !7>:%0F5R<(Q & "<)P $P @ &W M @ >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( %=YH5 E"Z_(,P, M #H/ 8 " ?@( !X;"]W;W)K:%0.&C9,D4$ !+% & @ %A M# >&PO=V]R:W-H965T&UL4$L! A0#% @ 5WFA4*IB M6?T. @ 708 !@ ( !W! 'AL+W=OTR,4=@, $L. 8 M " 2 3 !X;"]W;W)K:%01-72NE0" A!P & @ ',%@ >&PO=V]R:W-H965T M&UL4$L! A0#% @ 5WFA4&NR5VR*! 2!8 !@ M ( !5AD 'AL+W=O !X;"]W;W)K M:%0[#V%,[(! #2 P M& @ %/(@ >&PO=V]R:W-H965T&UL4$L! M A0#% @ 5WFA4(B9ORC! 0 -P0 !@ ( !-R0 'AL M+W=O&UL4$L! A0#% @ 5WFA4'%:YL.V 0 T@, !D ( ! M'"@ 'AL+W=O:%0 M_RK94;4! #0 P &0 @ $)*@ >&PO=V]R:W-H965T&UL4$L! A0#% M @ 5WFA4#(UXT&S 0 T@, !D ( !X2T 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 5WFA4(Q=H=6V M 0 T@, !D ( !P3, 'AL+W=O:%0=\%1@;8! #2 P &0 M@ &N-0 >&PO=V]R:W-H965T&UL4$L! A0#% @ 5WFA4# X6B:U 0 T@, !D M ( !B#D 'AL+W=O:%0%4C&L;8! #2 P &0 @ %T.P >&PO=V]R M:W-H965T&UL M4$L! A0#% @ 5WFA4&A/9E&W 0 T@, !D ( !D3\ M 'AL+W=O:%0$->G MX+@! #2 P &0 @ %_00 >&PO=V]R:W-H965T&UL4$L! A0#% @ M5WFA4(R4Q8&Z 0 T@, !D ( !=T4 'AL+W=O:%0 =Y#K\(! W! &0 @ %, M30 >&PO=V]R:W-H965T&UL4$L! A0#% @ 5WFA4$#,WS>T 0 T@, !D M ( !,E$ 'AL+W=O:%0.5YGS^(! "O! &0 @ $=4P >&PO=V]R:W-H M965T&UL4$L! M A0#% @ 5WFA4*B!S'!Y @ ( @ !D ( !'5< 'AL M+W=O:%0VJS(->$! M #!! &0 @ '-60 >&PO=V]R:W-H965T5; !X;"]W;W)K&UL4$L! A0#% @ 5WFA M4!%0VU$T @ . 8 !D ( !>EX 'AL+W=O:%0M26@D"T" !$!@ &0 M @ 'E8 >&PO=V]R:W-H965T&UL4$L! A0#% @ 5WFA4&WF0IA[ @ A @ M !D ( !@F4 'AL+W=O:%0,T-8)^(! #&PO=V]R:W-H965T&UL4$L! A0#% @ 5WFA4/]Q(,0% @ 1@4 !D M ( !:FP 'AL+W=O:%0HWV\1*,# "P$0 &0 @ &F;@ >&PO=V]R:W-H965T M&UL4$L! A0# M% @ 5WFA4'Y35YG; @ ?0P !D ( !H70 'AL+W=O M:%00, (7'(" [ M" &0 @ &S=P >&PO=V]R:W-H965T&UL4$L! A0#% @ 5WFA4,L: MZYN, @ BP@ !D ( !>WX 'AL+W=O:%0D/(F!3@$ #U%0 &0 M @ $^@0 >&PO=V]R:W-H965T&UL4$L! A0#% @ 5WFA4/V7$RR? 0 6@, !D M ( !Q8< 'AL+W=O:%0D;":F2D" ,!@ &0 @ &;B0 >&PO M=V]R:W-H965TU@$ M &,$ 9 " ?N+ !X;"]W;W)K&UL4$L! A0#% @ 5WFA4.NF?.EL @ D@< !D ( ! M"(X 'AL+W=O:%0 MK-: '/0! !&!0 &0 @ &KD >&PO=V]R:W-H965T&UL4$L! A0#% M @ 5WFA4)9$9QHM2 ^#(! !0 ( !J90 'AL+W-H87)E M9%-T&UL4$L! A0#% @ 5WFA4#[89GU# @ M@H T M ( !"-T 'AL+W-T>6QE:%0AGM) MB<@$ "X)@ #P @ %VWP >&PO=V]R:V)O;VLN>&UL4$L! M A0#% @ 5WFA4#4#30$) @ ,R, !H ( !:^0 'AL M+U]R96QS+W=O3? M 0 T"( !, ( !K.8 %M#;VYT96YT7U1Y<&5S72YX;6Q0 52P4& $, 0P!'$@ O.@ end XML 23 R56.htm IDEA: XBRL DOCUMENT v3.20.1
Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail)
$ in Thousands
3 Months Ended
Mar. 28, 2020
USD ($)
segment
Mar. 30, 2019
USD ($)
Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]    
Number of Reportable Segments | segment 1  
Total cost of revenue $ 114,580 $ 118,115
Gross profit 77,955 119,546
Research and development 36,759 35,269
Selling and marketing 36,594 38,836
General and administrative 24,573 22,907
Other income, net $ (19) $ 1,280

XML 24 R52.htm IDEA: XBRL DOCUMENT v3.20.1
Stockholders Equity (Details)
$ in Millions
3 Months Ended
Mar. 28, 2020
USD ($)
shares
Equity [Abstract]  
Stock Repurchase Program, Authorized Amount $ 25.0
Stock Repurchased and Retired During Period, Shares | shares 663,602
Stock Repurchased and Retired During Period, Value $ 25.0
XML 25 R19.htm IDEA: XBRL DOCUMENT v3.20.1
Income Taxes (Notes)
3 Months Ended
Mar. 28, 2020
Income Tax Disclosure [Abstract]  
Income Tax Disclosure [Text Block] Income Taxes
The Company’s effective income tax rate for the three months ended March 28, 2020 and March 30, 2019, was 10.4% and 4.3%, respectively. The increase in the effective income tax rate was primarily due to the recognition of a valuation allowance on certain state income tax credits and lower tax benefits recognized related to stock-based compensation.
The Company's effective income tax rate of 10.4% for the three months ended March 28, 2020 differed from the federal statutory tax rate of 21% primarily due to the recognition of a valuation allowance on certain state income tax credits and tax expense related to stock-based compensation.
On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act ("CARES Act") was enacted in response to the COVID-19 pandemic. The Company is currently evaluating the impact of the CARES Act, but at present does not expect the CARES Act would result in any material tax benefit.
XML 26 R15.htm IDEA: XBRL DOCUMENT v3.20.1
Derivative Instruments (Notes)
3 Months Ended
Mar. 28, 2020
Derivative Instruments and Hedging Activities Disclosure [Abstract]  
Derivatives Not Designated as Hedging Instruments [Table Text Block]
Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):
 
 
 
Three Months Ended
 
Classification
 
March 28, 2020
 
March 30, 2019
(Loss) gain recognized in income
Other (expense) income, net
 
$
(545
)
 
$
433


Derivative Instruments and Hedging Activities Disclosure [Text Block] Derivative Instruments
The Company operates internationally and, in the normal course of business, is exposed to fluctuations in foreign currency exchange rates. The foreign currency exposures typically arise from transactions denominated in currencies other than the functional currency of the Company's operations, primarily the British Pound, Canadian Dollar, Euro and Japanese Yen. The Company uses derivative instruments that are designated in cash flow hedge relationships to reduce or eliminate the effects of foreign exchange rate changes on sales. These contracts typically have maturities of thirty-seven months or less. At March 28, 2020 and December 28, 2019, the Company had outstanding cash flow hedges with a total notional value of $388.4 million and $424.6 million, respectively.
The Company also enters into economic hedges that are not designated as hedges from an accounting standpoint to reduce or eliminate the effects of foreign exchange rate changes typically related to short term trade receivables and payables. These contracts typically have maturities of twelve months or less. At March 28, 2020 and December 28, 2019, the Company had outstanding economic hedges with a total notional value of $72.5 million and $58.4 million, respectively.
The fair values of derivative instruments are as follows (in thousands):
 
 
 
Fair Value
 
Classification
 
March 28, 2020
 
December 28, 2019
Derivatives not designated as hedging instruments:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
1,756

 
$
1,855

Foreign currency forward contracts
Accrued expenses
 
559

 
297

Derivatives designated as cash flow hedges:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
7,398

 
$
4,347

Foreign currency forward contracts
Other assets
 
11,737

 
9,112

Foreign currency forward contracts
Accrued expenses
 

 
47

Foreign currency forward contracts
Long-term liabilities
 

 
414


Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):
 
 
 
Three Months Ended
 
Classification
 
March 28, 2020
 
March 30, 2019
(Loss) gain recognized in income
Other (expense) income, net
 
$
(545
)
 
$
433



The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): 
 
 
Gain (loss) recognized in OCI on Derivative (1)
 
 
Three Months Ended
 
 
March 28, 2020
 
March 30, 2019
Foreign currency forward contracts
 
$
7,566

 
$
6,404


(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
 
 
Gain (loss) recognized in earnings on cash flow hedging instruments
 
 
Three Months Ended
 
 
March 28, 2020
 
March 30, 2019
 
 
Revenue
 
Revenue
Consolidated statements of operations in which the effects of cash flow hedging instruments are recorded
 
$
192,535

 
$
237,661

 
 
 
 
 
Gain (loss) on cash flow hedging relationships:
 
 
 
 
Foreign currency forward contracts:
 
 
 
 
Amount of gain (loss) reclassified from AOCI into earnings
 
$
1,957

 
$
(144
)

XML 27 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 28 R11.htm IDEA: XBRL DOCUMENT v3.20.1
Leases (Notes)
3 Months Ended
Mar. 28, 2020
Leases [Abstract]  
Lessee, Operating Leases [Text Block] Leases
The Company's leasing arrangements primarily consist of operating leases for its facilities which include corporate, sales and marketing and research and development offices. For leases with terms greater than 12 months, the Company records the related right-of-use asset and lease obligation at the present value of lease payments over the term. The Company's leases typically include rental escalation clauses, renewal options and/or termination options that are factored into the determination of lease payments when appropriate. The Company does not separate lease and nonlease components of contracts and excludes all variable lease payments from the measurement of right-of-use assets and lease liabilities. The Company's variable lease payments generally include usage based nonlease components. The Company's lease agreements do not contain any residual value guarantees or restrictive covenants. Leases with an initial term of 12 months or less are not recorded on the balance sheet. Lease expense is recognized on a straight-line basis over the lease term.
The Company's existing leases do not provide a readily determinable implicit rate. Therefore, the Company estimates its incremental borrowing rate to discount the lease payments based on information available at December 30, 2018 (date of initial application) or the lease commencement date for new leases post adoption. At March 28, 2020, the Company's weighted average discount rate was 3.62%, while the weighted average remaining lease term was 9.04 years.
The components of lease expense were as follows (in thousands):
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Operating lease cost
$
2,355

 
$
1,973

Variable lease cost
1,122

 
825

Total lease cost
$
3,477

 
$
2,798


Supplemental cash flow information related to leases was as follows (in thousands):
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Cash paid for amounts included in the measurement of lease liabilities:
 
 
 
Operating cash flows from operating leases
$
2,021

 
$
2,020

Right-of-use assets obtained in exchange for lease obligations:
 
 
 
Operating leases
$

 
$
52,767


Maturities of operating lease liabilities were as follows as of March 28, 2020 (in thousands):
 
Operating leases
Remainder of 2020
$
6,869

2021
8,219

2022
7,550

2023
7,102

2024
6,266

Thereafter
34,835

Total minimum lease payments
$
70,841

Less: imputed interest
10,847

Present value of future minimum lease payments
$
59,994

Less: current portion of operating lease liabilities (Note 7)
6,950

Long-term lease liabilities
$
53,044



Financial Statement Impact of Adopting ASC 842
The Company adopted ASC 842 effective December 30, 2018 using the alternative transition method. Under this alternative transition method, a company is permitted to use its effective date as the date of initial application without restating comparative period financial statements. The Company elected the package of practical expedients permitted under the transition guidance, which allowed the Company to carryforward its historical assessments of (1) whether contracts are or contain leases, (2) lease classification and (3) initial direct costs. In addition, the Company elected the practical expedient to use hindsight in determining lease term. The adoption of the new standard resulted in the recognition of right-of-use assets and lease liabilities of approximately $52.8 million and $67.3 million, respectively. The standard did not materially impact the Company's consolidated income or cash flows.
XML 29 R32.htm IDEA: XBRL DOCUMENT v3.20.1
Industry Segment, Geographic Information and Significant Customers (Tables)
3 Months Ended
Mar. 28, 2020
Segment Reporting [Abstract]  
Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes The Company operates as one operating segment.
XML 30 R36.htm IDEA: XBRL DOCUMENT v3.20.1
Revenue Recognition Significant Judgments (Details) - USD ($)
$ in Millions
Mar. 28, 2020
Dec. 28, 2019
Revenue Recognition and Deferred Revenue [Abstract]    
Revenue, Remaining Performance Obligation, Amount $ 4.4  
Refund liability, product returns 47.7 $ 55.2
Refund liability, other credits and incentives $ 83.2 $ 134.0
XML 31 R57.htm IDEA: XBRL DOCUMENT v3.20.1
Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail)
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Revenues from External Customers and Long-Lived Assets [Line Items]    
Document Period End Date Mar. 28, 2020  
Revenue Benchmark [Member] | Amazon [Member] | Customer Concentration Risk [Member]    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Concentration Risk, Percentage 13.40% 16.10%
XML 32 R53.htm IDEA: XBRL DOCUMENT v3.20.1
Commitments and Contingencies - Additional Information (Detail)
$ in Millions
Mar. 28, 2020
USD ($)
Outstanding POs [Abstract]  
Contractual Obligation $ 154.0
XML 33 R42.htm IDEA: XBRL DOCUMENT v3.20.1
Leases Financial Statement Impact of Adopting ASC 842 (Details) - USD ($)
$ in Thousands
Mar. 28, 2020
Dec. 28, 2019
Dec. 30, 2018
Leases [Abstract]      
Operating lease right-of-use asset $ 45,958 $ 47,478 $ 52,800
Operating Lease, Liability $ 59,994   $ 67,300
XML 34 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 35 R46.htm IDEA: XBRL DOCUMENT v3.20.1
Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 28, 2020
Dec. 28, 2019
Goodwill [Line Items]    
Goodwill $ 118,377 $ 118,732
Goodwill, Foreign Currency Translation Gain (Loss) $ (355)  
XML 36 R9.htm IDEA: XBRL DOCUMENT v3.20.1
Summary of Significant Accounting Policies
3 Months Ended
Mar. 28, 2020
Accounting Policies [Abstract]  
Summary of Significant Accounting Policies Summary of Significant Accounting Policies
Basis of Presentation
The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP").
In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended December 28, 2019, filed with the Securities and Exchange Commission on February 13, 2020.
The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.
Recently Adopted Accounting Standards
In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13, "Measurement of Credit Losses on Financial Instruments," which amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. The Company adopted the standard effective December 29, 2019 which resulted in no adjustment to the allowance for credit losses upon adoption. See the description of the Company’s "Credit Losses" accounting policy below.
In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The Company adopted this standard effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements and related disclosures.
In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns 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 (and hosting arrangements that include an internal use software license). The Company adopted the standard using the prospective method effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements.
Recently Issued Accounting Standards
In December 2019, the FASB issued ASU No. 2019-12, "Income Taxes - Simplifying the Accounting for Income Taxes." The ASU simplifies the accounting for income taxes by removing certain exceptions to the general principles as well as clarifying and amending existing guidance to improve consistent application. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective or prospective basis. The Company intends to adopt the ASU effective January 3, 2021, and is currently evaluating the impact to the consolidated financial statements.
From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.
Impact of COVID-19
The global pandemic related to the novel coronavirus (COVID-19) has resulted in significant economic disruption. The pandemic and associated actions and measures implemented by governments around the world to slow the spread of COVID-19 have altered macroeconomic conditions and created recession-like environments around the world. These dynamics have had an adverse impact on the Company's financial and operating results. Mandated orders to "shelter-in-place" and other social distancing measures have directly and indirectly affected sales and supply chain activities during the first quarter and are likely to continue to impact the magnitude and timing of orders by retailers, resellers, distributors and consumers over the coming quarters. The Company expects to continue to be impacted as the situation remains dynamic and subject to rapid and possibly material changes. Additional impacts may arise of which the Company is not currently aware. The nature and extent of such impacts will depend on future developments, which are highly uncertain.
In light of the COVID-19 pandemic, the Company evaluated its assets for impairment, including strategic investments, goodwill and long-lived assets. The Company considered the current and expected future economic and market conditions and determined that no impairment existed as of March 28, 2020. However, the Company is unable to predict how long the pandemic will persist or the timing and speed of any economic recovery that may follow. Any measures that prolong shelter-in-place or restrict business activities are highly likely to be harmful to the consumer product retail industry in general, and consequently, to the Company's business.
Use of Estimates
The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; allowance for credit losses; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.
Credit Losses
The Company is exposed to credit losses primarily through sales of its products. The Company assesses each customer's ability to pay by conducting a credit review which includes consideration of established credit ratings or an internal assessment of the customer's creditworthiness based on an analysis of their financial information when a credit rating is not available. The Company monitors the credit exposure through active review of customer balances. The Company's expected loss methodology for accounts receivable is developed using historical collection experience, current customer credit ratings, current and future economic and market conditions and a review of the current status of customers' account balances. Although the Company historically has not experienced significant credit losses as it relates to trade accounts receivable, the COVID-19 pandemic has caused uncertainty in some customer accounts. The Company recorded its estimate of credit losses, resulting in an increase to the reserve and bad debt expense, of $4.5 million during the three months ended March 28, 2020. As of March 28, 2020 and December 28, 2019, the Company recorded an allowance for credit losses of $5.7 million and $1.2 million, respectively.
The Company's exposure to credit losses may increase if its customers are adversely affected by changes in economic pressures or uncertainty associated with local or global economic recessions or other customer-specific factors. It is possible that there could be a material adverse impact to the carrying amount of accounts receivables if the liquidity of retailers, resellers and distributors continues to be impacted by disruptions related to the COVID-19 pandemic.
Other Assets
The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes. At March 28, 2020 and December 28, 2019, other assets consisted primarily of equity securities without readily determinable fair values and an equity method investment totaling $21.3 million and $21.0 million, respectively.
Net (Loss) Income Per Share
Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income
per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock
awards as determined under the treasury stock method.

The following table presents the calculation of both basic and diluted net (loss) income per share (in thousands, except per share amounts): 
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Net (loss) income
$
(18,135
)
 
$
22,520

Basic weighted-average common shares outstanding
28,297

 
27,863

Dilutive effect of employee stock awards

 
900

Diluted weighted-average common shares outstanding
28,297

 
28,763

Net (loss) income per share - Basic
$
(0.64
)
 
$
0.81

Net (loss) income per share - Diluted
$
(0.64
)
 
$
0.78

Restricted stock units and stock options representing approximately 0.8 million and 0.0 million shares of common stock for the three months ended March 28, 2020 and March 30, 2019, respectively, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive.
Unusual Risks and Uncertainties [Table Text Block]
Impact of COVID-19
The global pandemic related to the novel coronavirus (COVID-19) has resulted in significant economic disruption. The pandemic and associated actions and measures implemented by governments around the world to slow the spread of COVID-19 have altered macroeconomic conditions and created recession-like environments around the world. These dynamics have had an adverse impact on the Company's financial and operating results. Mandated orders to "shelter-in-place" and other social distancing measures have directly and indirectly affected sales and supply chain activities during the first quarter and are likely to continue to impact the magnitude and timing of orders by retailers, resellers, distributors and consumers over the coming quarters. The Company expects to continue to be impacted as the situation remains dynamic and subject to rapid and possibly material changes. Additional impacts may arise of which the Company is not currently aware. The nature and extent of such impacts will depend on future developments, which are highly uncertain.
In light of the COVID-19 pandemic, the Company evaluated its assets for impairment, including strategic investments, goodwill and long-lived assets. The Company considered the current and expected future economic and market conditions and determined that no impairment existed as of March 28, 2020. However, the Company is unable to predict how long the pandemic will persist or the timing and speed of any economic recovery that may follow. Any measures that prolong shelter-in-place or restrict business activities are highly likely to be harmful to the consumer product retail industry in general, and consequently, to the Company's business.
XML 37 R5.htm IDEA: XBRL DOCUMENT v3.20.1
Consolidated Statements of Comprehensive Income (Unaudited) - USD ($)
$ in Thousands
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Net (loss) income $ (18,135) $ 22,520
Other comprehensive income (loss):    
Net foreign currency translation adjustments (914) (2,470)
Net unrealized gains on cash flow hedges, net of tax 5,674 4,801
Net (gains) losses on cash flow hedge reclassified into earnings, net of tax (1,468) 106
Net unrealized (losses) gains on marketable securities, net of tax (17) 113
Total comprehensive (loss) income $ (14,860) $ 25,070
XML 38 R1.htm IDEA: XBRL DOCUMENT v3.20.1
Document and Entity Information - shares
3 Months Ended
Mar. 28, 2020
Apr. 25, 2020
Entity Information [Line Items]    
Document Type 10-Q  
Document Period End Date Mar. 28, 2020  
Document Quarterly Report true  
Document Transition Report false  
Entity Central Index Key 0001159167  
Entity File Number 001-36414  
Entity Registrant Name iROBOT CORPORATION  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 77-0259335  
Amendment Flag false  
Entity Address, Address Line One 8 Crosby Drive  
Entity Address, City or Town Bedford  
Entity Address, State or Province MA  
Entity Address, Postal Zip Code 01730  
City Area Code 781  
Local Phone Number 430-3000  
Title of 12(b) Security Common Stock, $0.01 par value  
Trading Symbol IRBT  
Security Exchange Name NASDAQ  
Document Fiscal Year Focus 2020  
Document Fiscal Period Focus Q1  
Current Fiscal Year End Date --01-02  
Entity Shell Company false  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Common Stock, Shares Outstanding   27,884,331
XML 39 R27.htm IDEA: XBRL DOCUMENT v3.20.1
Goodwill, Other Intangible Assets and Other Assets (Tables)
3 Months Ended
Mar. 28, 2020
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill [Table Text Block]
The following table summarizes the activity in the carrying amount of goodwill for the three months ended March 28, 2020 (in thousands):
Balance as of December 28, 2019
$
118,732

Effect of foreign currency translation
(355
)
Balance as of March 28, 2020
$
118,377


Other Intangible Assets

Intangible assets consisted of the following (in thousands):
 
March 28, 2020
 
December 28, 2019
 
Cost
 
Accumulated
Amortization
 
Net
 
Cost
 
Accumulated
Amortization
 
Net
Completed technology
$
28,100

 
$
24,890

 
$
3,210

 
$
28,100

 
$
24,605

 
$
3,495

Tradename
100

 
100

 

 
100

 
100

 

Customer relationships
11,064

 
2,529

 
8,535

 
11,095

 
2,302

 
8,793

Reacquired distribution rights
31,549

 
31,549

 

 
31,680

 
31,680

 

Non-competition agreements
254

 
212


42

 
256

 
192

 
64

Total
$
71,067

 
$
59,280

 
$
11,787

 
$
71,231

 
$
58,879

 
$
12,352


Estimated Future Amortization Expense Related to Current Intangible Assets
The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):
 
Cost of Revenue
 
Operating Expenses
 
Total
Remainder of 2020
$
855

 
$
743

 
$
1,598

2021
1,140

 
779

 
1,919

2022
915

 
779

 
1,694

2023
240

 
779

 
1,019

2024
60

 
779

 
839

Thereafter

 
4,718

 
4,718

Total
$
3,210

 
$
8,577

 
$
11,787


XML 40 R23.htm IDEA: XBRL DOCUMENT v3.20.1
Revenue Recognition Disaggregation of Revenue (Tables)
3 Months Ended
Mar. 28, 2020
Revenue Recognition and Deferred Revenue [Abstract]  
Disaggregation of Revenue [Table Text Block]
Disaggregation of Revenue
The following table provides information about disaggregated revenue by geographical region (in thousands):
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
United States
$
81,967

 
$
114,065

EMEA
66,659

 
74,569

Other
43,909

 
49,027

Total revenue
$
192,535

 
$
237,661


XML 41 R38.htm IDEA: XBRL DOCUMENT v3.20.1
Revenue Recognition Contract Balances (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Dec. 28, 2019
Revenue Recognition and Deferred Revenue [Abstract]      
Revenue, Remaining Performance Obligation, Amount $ 4,400    
Accounts Receivable, after Allowance for Credit Loss, Current 37,013   $ 146,161
Contract with Customer, Liability, Revenue Recognized 3,600 $ 5,800  
Contract with Customer, Liability $ 7,706   $ 6,991
XML 42 R30.htm IDEA: XBRL DOCUMENT v3.20.1
Derivative Instruments Schedule of Derivative Instruments (Tables)
3 Months Ended
Mar. 28, 2020
Derivative [Line Items]  
Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block]
The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): 
 
 
Gain (loss) recognized in OCI on Derivative (1)
 
 
Three Months Ended
 
 
March 28, 2020
 
March 30, 2019
Foreign currency forward contracts
 
$
7,566

 
$
6,404


(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
Schedule of Derivative Instruments [Table Text Block]
The fair values of derivative instruments are as follows (in thousands):
 
 
 
Fair Value
 
Classification
 
March 28, 2020
 
December 28, 2019
Derivatives not designated as hedging instruments:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
1,756

 
$
1,855

Foreign currency forward contracts
Accrued expenses
 
559

 
297

Derivatives designated as cash flow hedges:
 
 
 
Foreign currency forward contracts
Other current assets
 
$
7,398

 
$
4,347

Foreign currency forward contracts
Other assets
 
11,737

 
9,112

Foreign currency forward contracts
Accrued expenses
 

 
47

Foreign currency forward contracts
Long-term liabilities
 

 
414


XML 43 R34.htm IDEA: XBRL DOCUMENT v3.20.1
Summary of Significant Accounting Policies Other Assets (Details) - USD ($)
$ in Millions
Mar. 28, 2020
Dec. 28, 2019
Equity and cost method investments [Abstract]    
Equity Securities without Readily Determinable Fair Value, Amount $ 21.3 $ 21.0
ZIP 44 0001159167-20-000023-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001159167-20-000023-xbrl.zip M4$L#!!0 ( %=YH5!J\H -:0X &FB 1 :7)B="TR,#(P,#,R."YX MIN490H.1-C9& P=22>Z\=S>$A*U+O?GI8>>$#,QY2<]48'PQY Q*$N M)O.SWK=)_WQR<7W=^^W]+^_^U>__\>'N!EQ2)U@BPL$%0Y C%SQBO@#?7>3_ M #-&E^ [93_P ^SW0R*@?CSY[JGO+- 2 L@YP]. HRO*EI=H!@./G_4"\C. M'IYAY H5/"1%Y!ID;G/(YHA_@4ODKZ"#SGH+SE>G@\'CX^,!9G1*^8%#EX/Q M<#P<'HZ/>T 82?Q3S*:\;EL/DQ^YMD]3YAU0-A_(=@-Y>PI]%#3T(;V:;8H-*F/@<$B=1Z:E@PN.A:CTZ M.3D9J+M)4]_5-11L1X,_/M],%&Z]][\ H'#$RQ5E')""_V?0GRI*G_&^--D7 M/$8G_>&H?SCJ@1#_&^I KGI;UN@LJ2(:((_[*:-^RNA Z- # SMUMJ%(&Q4" MOS^'<&6O1I8P5"6ZTE8=1KTF^&CU4;S:*M2PPV@5:MQG3'%5HDZ11/[5C^GZ M\E)_-&ZG19IP[+2(Z;:AQW8"HR$2OWJI_2;2D!"*%>QD/F'9H!52:?1@.6N9@>K!A=(<:Q*&(RTP/%8,'0[*PGYQ_] M>*+QIP.] U%^QTT* O*#N1H,J(FU3)F(-,EV<]7WC;0Y'E?[M1+IK9 M&B5(,,$[;),'I[8V"1+D[:@Y*X9LS1$DOIB.-^IXDL&]: "PF&.>.PX+D"N* M/D1\Y/> O/OM[KIL5JZD;Q+%_&,):0=Z/QZ-CD?#(>B#2^P['O4#AL0?$0<0 MLW@WV"3<8!GXR+TE[]7O3>,CXJB)@7 C6FO3Y0-"2Q9=C'U;W^.7B$/L-7-\ M3&OR_]'H^&@XKO(_^#7B]9_N(G$/IU[#"(A(33@4<$SFHI[%=<$P,3"F)A$T!J^F&&/V&Q\=#8^L(%91&0H&D63 *8AE@TAX MG#'WD1IBY;I*"O2N1?G.EDK3;?4# ^]*\ M#7R7XB320$;>'.^>G2;!<0K:^ MG5T%7+CULQ"Z#)9WTE;O*UPKFF_$1>Q6%,)0TMT@F%0LK7M$2_&5G>;0MM-$ M"@$Z Z%*(-()A$J!6"L02+5 HA<(%=MWKYQ';4JQ:C;&LFQ\I"G+S'!WLD8C M/O6P*T?##]"3NRB3!4(RRF @\J5:Q> R7!2_SJ,B'T-U M P_=SIXIH&H*J(RWPGI.":ZQ/)D>]R'9"GR;)9P6_,U;;B>'Q?7?%M!W;]WG M>:"MBUUA76X/3 J,[S"\DMQN9Q\"'Q/DUX9$1VH<&X_0"]!G M!&5O56DBN7A+[I!\9A:3^0?H8[LZI1EK\X[3^*B8ZB1+H'B"K*3L=1%W$"3R M@!+8R?I$BXG%E,% ;WY^9*Q)BV7 =6_.\(E2]Q%[WBU?('8MS"!S+,;I<]]' M:J].70__JH>3#4/S7.^M!KB8^RN@^(!4 AYJKP:W@LO[+'4N;[UHR!;DF6> M%;[5/!IBWP/VSXLTZR-74BJZ$86\N]DPG?>%3U*<+RGC^*\,LMO/%BW5J>QI MK[?0TT(=^YY4$N"T/52W7ZF7,^()["Q\!@5F=.UD86#1!;1-GBEKF615]J7" M6E:CK%76=)^V3,"ER2 F>JZ,5"ZILH,4-A<:=)#L:M@\(M]G$#-D-LMB]FS- MBV5O-8ME#6#OX$):N MZ#Y\L7\71T)DG^6\T!6>T!:NX=#*\,EZTF*\7J,RS M]#>:R5[>\YV;FF<\:).VBF3&M#1^HTE+><]W,>&X@<_9>H+F6)S.M*^@EOEROHB+KCW*4K^:KHN>\<'XVMXJ$9:V/0#$\T>T_1 M&\>)H,S[ J$H66K$PL#YY ((<9T,L-!3ZO^R!&N 9H&V$JY"CHO@4O^$E6!W MH?@,>< P7]_.\B_VWV XQ9ZXT0"BVCPKH2MLO$30Q1)D7&V\^ ]NKB,I'4;5 M8N4W2V"LS8:ZMSGBLQ8ZM]P;&CX)5JOP&'?HQ>^ -@@8$YO*&"FL!D689)FF M;Y!V."AL:KHJH_#HGO57+2@"33AU M?N1.-[,*Q7)R\W,$AYHEWBRO^ "T+@98T:<61449L;&H&!]JB@HM')TK*HK^ MM,ELI=3F1QX.-)-"=R) YG#U;_::\0X%HK+10SU!&>@"A2/Q8S'NKSP"[AGLEZH5=. O4 M\^_&[D$O@>4YAOF:"]!CS0*T!<"=7)>N!X!FCVW[ 5TNI#*N"WNQ%K!KMRCV MX5T"DMW4%[K%G0M@GM?_1D[-U@XV/)T87<)Y75!Y51^%2=PEM^=O;/ MZ).3EY@AAU\%W@Q[GFPA'RT6*,MO0B>?QBQM)/Z4[CWK<=&L!WPQ%>:8!U+R M)T:#U5E/?K06GV*.ECW U_)SM.&5)24BT-CZ6MR1]O1 >'T:/O]RUG-4J15? M7B&&J7NO&&#B!GNQF3QOV9"[OK@7N_P(__/;4/4U?<_T*L7M- M+N *<^B%N% FRJ 98D*<_"X#(GYX;FAL\Q88O8B7W(!%\HMN@D(!^;Q4K%'J MMN@PE3LT%Z3^9[2<(I:XHN1F$_,()218GKIT"3'9M*Z]&4OX%R4;VN>OO9C2 M&273<\7H;//XFB^4K!AU R?7&:U(GK';N6AJW^L2RV7^H[-(5Q:6$;&))?=V MS9;2KI>.M%4?7CV/6,26-Z)L[A?!0@SU6P^]U(JJ-:AR^RTH=]C^M@=PEOMG MBYQWV']ZZTJ=4M5\ARW=]E$,Y4YZ1DF[Y]_H(/?X7Z@Y';[@*3N:G;,YW-@7 M6CM4%JU\05U,'E!4P&Y:6[OUSMF9G#5^12D7L[7"8&)J\%+6I-JK0VC5&;3I M$;3A";3AF;/9(V>YF(MZB5E-*%^B=C+,TWV.[MZMF%#,AL7(PPI,[30:->L*XVT MNU!EN6K-'A!,%OPV8ZY&NYW+(ND)V')-,N#1FUT;,^R/D!$AW1<3;-%,N%]- MLPOCZK:8_:.\E!M?M\%HA\?825(C:+](MQDP]9N_^*B5JEI^/(,"Z!X]\0\> M=7X4C;2@;+'ZS&,V[6V6CX1_QWRQ0)Y[3R_DP"QF]>H*]61I<8?$##'Z]-*W M%26_B[FAN'Q/[Y#TNZ.^LRR8?!-5I7^^E-N'B5N>B?F+UPGA'J&LEI?P_2__ M!U!+ P04 " !7>:%0YV("/D$; "M&@$ %0 &ER8G0M,C R,# S,CA? M8V%L+GAM;.U=67,;.9)^GU^A]3ZCC;,*F)B>"?GJ\(1M*23W]KQ5X)1KFV)I MJHJVM;]^$T5*HBP>1=9!RKL/S;9())#Y(0%D HG$W_[Q_7IR\M6755Y,?WU! M?L$O3OS4%BZ?7OWZXO=+='KY^OW[%__X^U_^]A\(_>O5Q8>3-X6=7?MI??*Z M]+KV[N1;7G\Y^O+E]^^??OENRDGOQ3EU4N*,7MY3[6V1/P+W15# M\2M$*&+DE^^5>W$"$DZKINT6C=P5__ZD_#?6E"9*J9?-K_=%JWQ50:B6O/S7 MQP^7C9PHGU:UGEK_XN]_.3F9PU$6$W_APTG\_^\7[Q]5DI>%*>I?;''],O[\ M\M3:&KK_&M>WU[X21SMGXL_=%GJ:7W; *%I-UFTKJ G=J=5,P;1U_^,NTNQ6XW "56?AM:Z^O)L4W_93JG8U#2M <7T#",+JG7_U M[\%VO?;=16E1YZ!"S=OLIEOKJ^F%]3>^!"N_;@"JZK+Q"=H:@VUHAV/R4U%O MG^JW4P['8'09W&SBST+O(.]6]<%$;+<<=Z]Y. $[2# (BY4M\YMH=IZ%5[,J MG_JJ!7,;B/IA:[&7 ,;46["EZMLE\W@K=RUH>V'RG<[+_]*3F?\(=BE8L$T? MW7]Y-KWP=E:68 B^TE7>=G!VJG0XL5I-C=LI>V'PMZ)PW_+)Y P,O/(]N O3 MJQP&QFE5^<;\;KZ?_[6-XSVJ&EN$#HYGOZV,+?@[< AK_P&F0/=CP8>I?.X[ MGEX799W_SQ+3??9\/XR,#=_*(KWK38M6QA;\H4_NB/I7B:UMC"UT.ZMB[PI[ M$6?N='S6WUOO#:^GZ)NA5NO;NO)],].N,]<2],2.FX'A>7OIK^(R_ILOKDI] M\R6W2^L#:,QE?C7-0V[UM'X-Y8&AL@7CG:L^M(@=%N5A6STT, N2Y8*FF-47 M_JN?SOSKHJK/PN*/W\JBJC[J\BJ/EMK4=!6AE8*XKVR,+E[ 8JN6X.&._.)':"KT4%/;+;;LBO*ML+ M$XM%[\+; J;]N 3$8\T2AN7BR*VM$;]S12.QWP[?7>L9B/DW>:6OKDI_I>>[ MKHL2>W=!N_K&%6;?#FE5W4"BM)K6MI -Q-IY,E8THQKZJO+VN7H2XK O[YZ/8@I:X;R4OJ;73],#?VW>M:*X35$SN; M-![)!_A[43SRO,]UCGDS_GOMIRY&&O;>T,J^N6\OMG;7WJ2PCW!4DQ42_]I*[NOD'Q&X3)XA+.?RZ^SA;LW&U$Q:EL5I9+H8D3 M;?SDUQ?0>K:5)K,*VT (0T80@S@C%%'J,.+:&24E;LKR_(BY-O/K_Z4C?_G->B2_M$!1]?K%J4>%G%41=K M1'GMK^_HXX6Q07J[&!-%D'$4C;JL]=3ITIV7A9O9^H>+,MM'4BOZ3 GB*34, M<:TY$&X@SDF+J MTI0C)T) 3EJ.N)(>"L>8, MY8:K/F$&G[?+.9,#.*.!J@ M/2DL14$%@Q@5&-%$@["&*2O\_NK"G[&Z] [<=E5Y:B?';^[D>Y.7WM;O9I.0 M3R9QNS(>AU8KNGX[4<8T%Y3Y!"GL%&*),\@S%1#Q-FA,DH3J=/]N%\^PVP(BZY1^!/6N2%$$BF"?%IHBG5;'\%2)^A O0*UFBK M?;/[MH>?OIDP"SI-96H5THQ9Y+#DR!B5(N$I%R*DJ>9V?_60SU@]>@?N057^ M]G+5YE'?NTJK]LKZW,1JG09CI$;W25DQ%FMM8X='XJ?/[ \CL3R\-N^6E&', M[=E'5^!6+?M- ?!5?6"!$\1I@(F(6HRLT00IYE.//2$DT0?<>&V8;+&QO%PN MPX89QQ("_K>"R5MAL,Y2Y<&IDC3A:7".=K!?1]H\W:-[?K15.H(REID2 S/C MR(7_Q4"+KV!?Q[% 4.:T9PL8[A)F5 M4GO%T^3X=]3W[]%B',Q&\W"^PIH29_=W11D=LLMXR;KM*=0VVLRG7(+S%A W M/*#$*(QT, HE3%*I@TZ2T$%71MHW[TU7AL!K1$\XG@97%]YZT'(0XI.O6QU4 MKB7+ "MKO%(H31U%SE",F%4$I0(+"1X"L6D'[1AI;[P_[>@7JK$4X_[B#7"[ M01&6BV76IA0'SA$''Q$)#1,CA648&2F]Q('J0.71[W+WUO$=H1EW$Z2E'?FT M<)9*1K&D'@7-%.(2)-.)$(AR90F&%=)T60M&VN/NK=-[ 6BLKC\O"W!%Z]OS MB9XGEP%+YR8ZBIO'_":RC%.>>$LY(II;1)1S2,0='48=U])CL,Y;^4N'-PTZ M^18]8W28\\^+B/19^+V:YU-H??SY UWF;& N8( P&2))+47,,XFLEQ)Q MEFCK=$J8[K ]/J:9T$D=>D5H+%VXR[>RH>?OBF0L-9S'@Y]$)!:9!"8\G( 4 M)K4AD026/4F>AV70J9\[X#%6KV[(![5YE&\FS+Q,C4M CRFF"=)22 0@:F0L ME<0+L*]XAXE_I(/R[AK0.TH'\ U:!O,.. M8T(M$QVVFT]A^>\)G+$Z?^E\-J9*>7+=;X,>;"/-7!J(=IBAQ#N.4IQH M1$2PR&N?*NZ\9^R IRI+[+<3,N-<)BR5"6B#YE&?OV:+L0 MX$ZX'E?5_I' M;51;>M<%9CU1)JT4F'"&K -)<9 @,V82>:+BC8J02MQA+AEG4VV N:1/P Y@ M=FP_@ED1-LFPLUI@AS0XDN!(!(Q4U'SF4NUEHBS\]HRFBKX,COWA&?OT_5S? MQH/A]N?NCPDR9:54"64HC?$%5H)PQAB&J+$J&*6="N(9V15[==R:8_?.2(U\ M)^'([HL?R930DT;T!M;8YN4B]40+,!LM_G?[G9!54;_KJ3+N%.,&1I%0QB+M0?U#C$$>($AVN,HXS5?2L"OW -.;L4$Q;]?^/1;. A3:4"S!_'4'@<0F0SSM8!A.B MA4Z(.'XC88!YH"-&HWD,]Q?@SG7NWD]?ZYL\YO%^D&"3Z["5.%,:8^<\N$FV MR;V@+ *32*,D,<03R94Q';1CG#B=GK5C$-3&TI>+>-%PZMU;74YA<:O (9I= MSYI[G6 :YS;?Y&IN)\[ K<;"R9C1!:<(@VF-'-8& :K4,+#4,#GZ>)^>]640 MU$;O?UNOVAPM"Y \K
+MI#1J7D4Q@R@@F# 7,8B;?(0,+SLOB: M@QZ\NOV]BL>B]X?IB\P-FS<)VE>268]=:A*&=,SF8ZPR*%4^6L182>(Y!3_H MV/<,CEF!BA%[9BP+XCX_>5R:-JOA0[G,DQ1;3SRR3$ODI?=(2H,12[UT("EQ M7>S(<31MJ.Y[JB6=@!OO' .,%9LO4K3<3/SB ;[EUX4W'FYL)\^\\8%RJ9'3 ME*"$I0XI1R5BCLHQV/1$/M%4R^+EK!8 )OTY_5!%G M1CE)!3+P#Q@EP2'NX$]%%==2@ FMCCZ)ZT@:TQN"X]U?_W&=?A(ZMM$R:D6? M89QR3ZU'J4D-$DD /KAW*"@GC!..6-8A\F9IBPP]?Q4:"M%1 _AB/!E@->=X MD11N6_S>*IJ,)BHEV'G$F=885C)%X4RP(39#EPB.7$(,D3T((/*$2=]"AY*?2H8$ /9PZW:47 MV>S@;Z3+ C6,!^D0Y5P@0L%AH#8F\=?8"HYARO4=#*#T)U>@;D@>3G.:Z?0! MGFV)$-M5D DAL/;*(9UXBH)E CX$1H(+2CPUP8@.II#\R76I)T@/O[HMXFWW M6MH6M%FJ*$D20Y$1"4%"^ C"EP+JZ41."1IG\LN& // ,]/3.-W= M)Z>G=61,>2P3&U-NL11YJ^!#6]E<,B$*!T:[; _%!TM^9JWJ#]41]YY70147 M[:KK^9<,>:,B,LV!8F05(JA82. M=S2HU(@'K!FAVK.TGRL(/Y&J#8?M>/'H#^S'5,AG82GKS8X*MV-5F3$N,=XP M9(EGB$I%P"A),,+@B!OA'7?RN9[F]*YPPV-[L"7TU:S*ISX^%][$PC56R_P7 MM\LBNJ&:+-'&$.X4&-2I1 Q3\-!#8I SP4H9TL1T>3;TL*<^@R^C_0)[,#5; MG_1]%RU;7TMF +MTQBV&5)D#0?X@_<3W4X@DV MYD==1[YOS\)^^K9?C1E8KR$16B"5D 29%+PSXA*+% W8I$XGOLM;(./$7Q]H M*1T.X@-OG+S+IWIJ.VZM6>B2,7P< MN^WY;YSTTS,'F2KC18OHE+>>">\),D,8]I)IE'H&3KL2&""5'*726D-EH%YW M2%![T%#3SAVZ::+K@N#8)MO]TX6?]?<_\OI+O.$!L,0I>=W$&0L20;HJ\^>Z0VL=9?&81D$\*?S_&KV]G,)1KVVB_M S5^+#G/_ M/:N:_$BO? :P.T\7A:"7VJ8-LVLCOLYM(?&C,9*IA+'4AH"(5@'Z M(8%NM21!A#@E+39<=SGR'BDL8R#=/?JN./3@^'T*2_TD_Q_O?M/Y-([PL^D; ML :^@OA??75:YA48 &]F)7S.K806JT?_C65,I9JGPD#_!X$" X,@*)B%E"!@ MK&ILP5P^^BVTD95\5+@/K%_!#*_/]J0JL.=6C4Y4' MF>_$Z]=&Z:GES&BC&/R''.4*V20ER,=\YR(5+B'2>$T[Y.L>)U/6V#I^..P/ MYC+/!=^6A&@,+[D"7.,[ADTJ7E]^S:VO+HO)IHB:]409$_'I8XL1#50CSSFL MI#0QR'#,*1',<]G*7/E1VKPT=7Q$#]29RD:"^$W#21%NRL+-;%VNS:2]MFSF MM4Q3%A)D'36(".50HB5%Q-N@@G5:^W["9@<=KOUT1]$_6&.M)^LA:)F&I%T% MF22,I,$:)!WGR-I$QR?]'#*)PQK %/+XG\#N65T&1_#_1D:CP>YA+1B-EN(\ M]?4,O)[%K2)8G.;N_5*:AK??ZU*#0N937=Z^!TUJ'MH!2E RX._J_;3VI:\V MV5@#MIJ!!IJ$F 2EEBE$.;8H#8D$OOJT%/;W,=$=*C M>0]W=^):C=<5I3/I#"8N<4@#^DA0%I#B8#A*;;AVCFM*CS[CW='T_;HW_SKA M/=JL7TR+QPQO3_VREB:+-R_35'OD":4HWL1$+HTQAP$65%CP +JC?YWC6/6J M3]1'O <]QVC!ZBL_]6%C,NXU%%F2)%:K *:9# 092C289L(CEE!*8WKAQ/;S MF,/ <2"]+GQ]P#3ZHK7@N-62=51@IE()=WT 28S1Y3%31VB4_W M\JO[2C]?>< QAC&\ 5]Q4C27)[=/I!OI,@^CURHO$<9) !\D21%C4B&EI?7> MOL73_TC?+0!- 7_[IE_#8H!SKB;*4 7C*Q>ULD2#O MC$:)T0IYRXA)+;4Z[1#;.\XRVZ]F] K66&KQ&TS:I9[$[*3N.I_F55TV)QC; M=6,+928D3Z@F8 S8F.@KONDCE7:(.FFHC2_0=@D-&.?4M%\%Z1^Q[5JR9M-V M>3^H"& ;ZNE5;B9^?D<5S+S%MN/J';M=J\@H\=P8&1#W0B"-O4 F=:S9M=18 M\0"&Y[$'.?:C"R- -]K448(%>5X6FXWII5*9DC#_Z9 BGL894&D0@\;GAP4U M3A##A&KE\@]E035;[)N,PKLB&0 MWCWSQ"+:&Y2GJGI0WZ@K(L,>VQST^D!?RC+"$<5 Q\@/T1WOI[!RSYI3Y#?Q M!:I)]9B5/A^P6=GJIZ+V8[=Y:;]X-XO)+(X(B"U,?8ZA"6/S-'RCE2WSFTAV M%N[2/0S87&$;N6)*IFF=U[?OIZ$HKQ\=YO;?ZCN=E\T#D1^]KF;E/&3C_LNS MZ44,3XFQ@Z]TE0^O?"O9&7@4QCGR6SZ9+/(4/;81H3>6B@;7K1U$6%ED(\3#6\T;8/WD-SD& MFPDS+U/C$C MP'E-D(85'X68.]Q8*HD73BC>RF4<7>K&4MI/[H8T\X2 \)(C M&6A,),LLTG%+44M"0&XN*&YUQ^F0OD6?G5L,CM]8'O,&UI<>H&P9+K5[95DB M",?6Q SJ6@*3#".5QMS7.G':>NT"[R>)ZI">R&%4JS](!W=4=EA0'A:^.Z)C M6NZ&MJ273L\'%WNIK8'MQJ66A@?0S<#ON;WT5]$B_LT75Z6^^9+;)0LP>OGY MU;2Y.#&M7T-YX*X\3J8.8L)VX'=!LES0%+-ZL2$WWVI9_-$LC1]U>97'RN8Z M\B2&Y(A%'5Z5YZ^-W([0Q.;)9HR(F 4CFPWTY6*9M2G%@7/$K<)(:&L1]6E, M3"^]Q('J0%M%50TLT87^]A'6Z#+7D_D=K'A<7W[=\LC!-N),$TY]D^T_/D+# M*:$H890@EUJL+4V#$AUBRL:*5=RW.Y_$_0R UWC18 OFHZU7@?73;$7OK"KK MJ3/JO*>II$BR1"&1,($X-P$)XK"76N- .L2UCA5_V+>N] K8X";T/=M#+SL? M8JZ;:I&$24_N+Z.]O[[1,4W-J2MNYD\66'N)90M"V9O? QLF,\;N9S=W$R:/M:3F&_HW:3X-I)\0ROSPM2\\+8 RY2 MQ\CE$A3YE9Z @H_@9FUG87P0WN25OKHJ_96>G]DL2AP BS6:,FD5D\IK1((Q*/5<(.L). V:.*E$2BUN]1[JSWB/^9"[#(/V MXS--#K@&DR=@-(-]]S&RNIXL&&<,9@Y)(1E*,8#JXD.WB0J24F43W%-2[)]$ MFX9&]Z#:M@ZQA^0^N^K=]AJSE&JGO DP&*E"UK(4228!(RH]3ZV0HDOZ_W%N M@!Q< P?!>? -M';6S>O2N[R.L_<(6P/M6%HZ?CX2CH[%%%VQG7 < &WU%!8Z M'C^,KOS?__*_4$L#!!0 ( %=YH5!.)YO=*D0 *E= P 5 :7)B="TR M,#(P,#,R.%]D968N>&UL[7U;=]M(DN;[_(K:VN?JROMESO3,R6NM=UVVUW9U MS^X+#DQ"$J?7JQ__X]W_YM__V MTT__J=^__L'FD]5]MEC^8(HL76;3'_Z8+>]^^/LT*W__X:;([W_X>U[\/ON2 M_O339M(/ZQ_FL\7O_UK]YU-:9C]\+6?_6D[NLOOT=3Y)E^MWWRV7G__UYY__ M^../OWS]5,S_DA>W/R, \,^[60='5/_ZJ1[V4_6KGR#Z"<._?"VG/_X0*%R4 MZW$D]O/KK=+F;\'@P_7GSQ]W09X_^ Z_'0BGES^N_[H:6LWT#PT/AS__Y MZ^L/:TA^FBW*9;J89#_^^[_\\,,&N2*?9^^SFQ^J__WM_:OO'C(K\D_Y\B^3 M_/[GZL\_J\FD6&53]_5SMBBS,KQ[_8B[(KOYZX^SXM,R(%31C$2%SW\_,'SY M\#G[ZX_E[/[S/(#R\G15F6R>_O9\OJ MZRK58FKRQ3)\A^%[G)U>7(.I?2]139:S+[/EP_ML7BF&C_G?TZ)(%\N'-7#I M?,/(#H2<]X+>R9U.9Y7J2N>O%C=Y<;_68]UI//W4O@G[L+J_3XN'MS=^M5P5 MV:^SQ>Q^=?\^#$WG[]*']9S?%M.L>/LY*])JWNLLW7VH'6B/\^*^X6FF+!H_ M(-)R%V4^GTVKST*G\VKW^'"7915_2(H!WERUGD[2! M4+5Z7'12/BS#?RNFO[WY>)?/@[B6[A^KH+9V?SR'FO.>V!]!Y=L;DY9W M?I[_T4ZHFCVI7P+R^\\!P;![S[YDKX*9>Y]U)Z7!,WLE:O/.;K)U^#%1EFZS M(C@$RS5 Y;)8NP]-C<$F<_M;Y)M\>5K5GY[9WP(KEV&ZFF=O;Z*#?-ZC+T9B ML^VX^Y/[([ #!;TLL9P4L\^5V?GV1J_*V2(K&RSNR*0XR]J&'8(QY8(MM7QX M9!Z?7%V#N5$6Z=-9\;=TOLI^#79IL/-K]\NWB?399%44P!'5:SII^G)T> MVA]9C53CZ9E1%OA+GD__F,WG;X.!5[P*[L+B=A8^#%66V=K\7O]^\Z]3*V[Q MJ*%)Z.!XQGW+T(3[X! NL]=!!4Z?#ORFRC>^H[K/B^7LGX\6'9/S<18R-'Q[ MAT27FP9O&9KP;SRI)\47B9/O&)KH9E9%ZP=&(6?C='Q,OS:.#1^>$7M!C?:W M0^-C+Z89,P].B+2NE@=E.>3SP4[Y:OL^^9(M59O)R^?9F^X]? MBKPL?TV+VUGUL(TTZRS,RYY]]CUBVN^"+\V.IIHDT@LBD1O07N;%P^EE/QD8 M]_6-]ZC]X^,NIBDC]PZ/LI3-X4NPA=/%9);.=['#5_>?TTGX2-0T_UR=>JAR M(@AJ"%ZGAT8D:_W?ZF,_:]V'9D5W-]^?@KV>I9]F\_"'LQ9\ M[M,B$M+(P-HS-.(2/JP^AX?\;&V41VTWO?3;) M@]JOMH#J6+,(G^7VR*VI$7_V@P9:?C-\SWU.3XNWLS*]O2VRVW03==V.:,V" M9L\;EIBV#>N)Y(::363DSK:6GO\OFL22[1Z9D]+?"1/?D_5]/;8T^LQ/3>EI:,U:?FA=G<:M/9?:/ M51 :5_D!37EZ=%8?"VO&S2-S^EA40SX>FQ1I6=NTN$>Z0$TF^6J=4]94J9_W ME $77AU;3M1B:F?SU3*;OLF6F^#)NZQ89SPU"_CT\:X!03!%-ITM7^=E\S3I MS@\>D+Q'QPA1J3O\W &)B_L%7O!+W&-(QV36R<S^Y^W8WY.YT]TWX$:EKHLI:I_H>O5/YH9>U'AYRKC,5_\ M-,UNTM5\V7*)!Y_3XX+S^W2VZ+[>[QX3?;GKI_]TG]U_RHJV:]WWC-@+O0O/ M*R:K3]E/.VA:+O?(DPXN.@C-;*-)7H=_;D=7ZVI3(+5Y2_9UF2VF5>YN[/?L M57;]O6Z?5HKXML;U1L.\LTUIT$ K:WI$.\QR8M;8#+/BW@7YO,*705]]I&IE MMXYJ%?4ZYOEDG_9=:]Z;M/RT5K^K\J?;-/T_;7R>[0[A 7/8J_+CCQCS]E,W_^F-X;7)X<,($,!1;[AG!2A+$-6 62(@E MXDP0]3UA\ZHD."^V^ Y$V5K(FE"U'I@HH GUW&(,A)*4(0E<31'G0#>AZ)O, MJ&+R0UZ$;^ZO/\)ZYG:#/,KW\*OD=7:; MSC=YX.KK;)\H[QF5>"&]A0@+AX0%WC+H1$VO--P-R/$CEM(1"3B3;7DL*-:L MC\_%S7KL=U;X$Q8^'I)XSSB&"B/O. )AZ13N",=4VF2O ](K'P\Z/]^XV G^ M/"H45\+'R_#ON^5?F'UMV-9])WT7GI451554F$]^7P=32[5:WN7%[)_?3*@] M.^OQB0E&CC'I C22*.(,9DIMJ14:8#\DO_H&@@MYA+$FM3X4D!K46"GP%0A$?H L(QAF; MQ9%9B:4((<\TQ,!P XW"M,906&Q%:T$@UR4('8&YF "\*LO5>C/#X-BTA%%HG8 6.24 M2HMP^PV 72/[VR/S30;^[><]0Y>@ M9V/>Y;&@:+F?GLO*@V&SO>,2Q3F RECM' ^. /":L9H&Y14<9PRT$S?V<[03 M'M?)VU'%12_'TLN8O3M]M+%PJIYQ^6)]UKU?%S>:EP@,J=;2.64Q4(XB0L26 M5J94AT/(\\-A0VKG/L 92A">+/7@-WYT?,(]!58'A\X;9PVBDNT08XA:/TX] M'IEO>7](O2QI&)7F'Z,07#P4\NMW\8+C\8_-V(13;HQ"/CQ;"^^<94S7-#'J M!CT&;1;TZ,B;PW&/5H@,Q>5OV7_OTMGTU<*DGV?+='Z2XT?G)4(J1%# RUBF M%31"2EK3Z@D>X4%87.['1&%(']$Q+#$2?.H6 @ M*T,U)YC4F'%+*!_?>5=!9;#/?S)9W:_6*S88,"#D^$[ (JN%GI :W$TT\[0LW]ZLM[>F+N+3.8GD'!D$ M-9"6 ZT$ID#6-'HNVIL(YRN*B[J''8$9S!Y\M,R3GL#SP0F#0%&,"+.4$H\P M=WA'E35 7XE3V)Y;3RW$6!"]% $8MQ]X2;Y?RC7XKU6Y*7GQ>?$F^^-196F1 M+\*/DTV_[!,[P%G/250@&0AF!>%4,:1\6/7$Q[PVXER0:H]Q' M1BP18]A=S%VZN TNT&-49HO)[/,\.VMW.?&QJOX%SH'+0H BAY4623BB=5!X"P\+QXEX7_3A]A]RC? M0S\\^L=VX&*J[BO"3VQI?;PN(G@1!+/@B7I)&4>6@\\!:"F"@O3ON!NR#KL]G4A'?$8E,L;.;2K MZG[0C<;;R.?ZCV_78:S2?0WFXJP\^M6?_[ $2Q:P0(!2%(Q*C27=)?$%%8M& MF*@26TKZQ.O"4K0N,8\D1(>?E6"%D12:!B $!HQ!K$V-"74=9&C(FN[(,A0- MKE$HHLHB*V:3Y;:OA?HC+:JVW&]O@B%UD\VJ'H7'TU\Z/CM1BC LM*/4.J.E MP8KNN*.!:=_8:\CJ\5[45 _PC4%K]2-QC1^= ,HE0% QQQQF(C#-Z6\?J6U? M2SMDO7H?.JT']"[@I'_,#V0GKS^J3VG0TU5>8G!SUYU@WV?!ABQGR^Q#5GR9 M3;(-'H]ZI*^A:>;A]_+J1$/!"0G\=LH @ DULLZ>45@)TUI>^17(Z\C0'4Q_ MKC> BLKP[7U,O_Y]MKRK?)[PP89?K/^JGQ)\3&>V>%Q" L<( *KJ4VF1]URJ MVAY6W-GV7J:X KD; +'3LO3\0H3J-QL=OEY0-I]^S$W^)7NRQ+7L%YN$B]\^ M!U$/FCW\^F/^1,7_%GA3;N)O>Z2GOY:SW79.^WLRK*GQ>EW79G/+$CQGEP MHI!2G*"@Z1U#7"/K%=E9#8!VZ/8PYFC[1< ;2EGM[B*KOH(CJN>[<0GDGKC@ M$6G'B(22"J=A30N$LKUQ#J\A%M\%BT%#$>^SSZMB&CTD,]8P;CI@@@!$N/5#UL9,6$'787JXF]MX/5.,2FE.A@3.>DCCLC6$* MA&\'AA^<@J8^P]*6ZPX=WJXFU-X+4H,=Y&\J7X,MY6YNPN;W]N9)$OPV$?#5 M8D/+MS3V8V?]K1^:( N8QMY#:$BPJHP$L+;1-&.L?3=>> UQ]<& ^R9>PS7M M+-_>F+2\\_/\CX$O2?IN"<_]AU.+&7_G4.V\!PPH!FFP39'3V)+J"(^X8+]H MTN@PJF?*SNP.?0\Q!(Q]8Y=$?- MATFV2(.R.M(_=._8Q (O%18JV.26>&2TLK8&P$O8P4<9-#6Z,1_SN("TM"": M,7>[K-\6Y>=L,KN9!8/G6-_)@^,3"*@@'#OG(+L/ICH4B*<>8L1^!1 MWA\Z+X/SHTH?'@O#+^56QFPP@[B6#DM@!<"4 8 #@#6-!.CV[8:&[3]ZKEZ/ M#1UGDLN-;>0@(A8P[55#D'Y#@U?$1N-6@TT@JBER( HU+TH^+[*'SV MC8]\_;=K<$\QEXIZ*("P6GA+I.'$$N,$%;"11SDN'QE*"3@UBA%*%!->:4IK MBABG8_:1&S/CN(]\'@*C\Y';W:X!E1(2$TZ=E*ZZGH? E9FI WX.G'CZ%4,[?"X3MZ. MRO2Y'$N'8^6[(I^N)LNWQ3:[]HC:W3 MUG=MHWLCX#$ 9ZN"[NT"RZ,?Z\'Q"5,6 (V"/4ZA\3@0R'?2"IFEXU7(W5CT MG-?1P'D9C!^=MAX!OR\3DGB??5YV,.,!M_P8!T: MWP^9\MC67VJ)0NO<5Y.7R_SF\T:_Y/GTL<;XD,^KIBC%,-C>VAHR';'MI]L+1I>7D%92D0@KJ&4L? R::;CV1EA- M)?$=FLL.F6487Q+.Q&4H[O]2Y&49;(J;V;%BF$>C$B ,%\@2H@5EP= @@MB: M#D=Y>_X.F?77EK_M@1C.WBJS\*Z[('XV[$SS_'-%N?M:%4<<"U@?G9=(*@"& M%FGNL.=(":UT3:L'L/UU5$-6M+>WS.)!,U@>0#8/S[P-2_XU+7[/JI34TS)P M>%)2$>,!QDYK'.Q1S\ WHQ1[T;X<:<@2\=9'&;%P&4RK9XNL2.=5Z[OI?<"\ M7!:;5.63(G!B9J(T"F*.G&(60QQ\5*%\3:_ '4XTABS9;JW]HX+3OFKQD5&9 MW[Q:+-/%[>S3/%-EF2W+-_EBZYDWM /SDD@%QASQI5#'B'&/2-J2Z/1R';XNL<?%'J["8OMG52'].O6>F^!OLD\&2V2(N'-5J!Z"IQ)D ^ M7Y.]S(JL/.;X]_C61&((F-4$24L!@E +16J<$>R07#QH"7-;^1L/LL-*<*!D M^Z'I8$T?#SL=F)%H2QD!PVCKP8S&V',3!@)Q MT&/GD<7,8TKH;J\-AG;[+EWP&@*+,3"Y%+_M;+Y:'NT%?6!&0KBP@DNN S72 M,.PPI+O=B<,.^_XUQ!+CH#(4U_^>S6[OPO+4EV"5W&9O5A5.;V\VG57>KI;E M,EU4'>5.??UG/2=!2,. IR+!J9: !"MF%U*W&.H.VO\:HHQ]8G5AN=D*^S-2 MSI><0T]*N ;6,^$1-!8%%+1VN,:#&=B^V3<<<[AR&+1Z+FNR63'[L@ZHOUJ4 MRV*UKFJRV3*=S1?T2V%K99J\;U#T"BE"<2,<)$U13&Z*#R MI0428H&9<+K1L?H%$- /_R.;WJY[BLXW;NO=[+-^>%*)]KI:;OBC?MCWL/>S M\O=3]53#+2*AP$#*)#+>5Q=V&.$\WG(",8]&4ZL56[#R*T%\R-JP*!]+1>B) M$OQCTQ)$**35]61 8Z.H#;I9U_#P8#0.*)!G53*,48(:"'E+W((CO[,Y#A,/2D8TO%ZRA%Q& M,DYT!AB?8%Q&('Q>!+]@X;Y.UM='AW]6%Z^XBG6$G")/%24 JJ)YSM:G0+CME"B<+&9 M9'3"ZV7+R"AME/&)QF5$XD,ZK^XC7-?2O,30@D"P# NM:RN]S;0 M[!#C! W:P*J951*)5T\SUB.@,UC^8G57S,%TK)."T&1ZLNGWI3V PE<7IWKF M:V.?&(';=_?H+=6M'[GH :QAZQ37@GU2)IZ-33"@P#'M+!6($60DI;5]3XC% M[>_+Z"W7K!\!Z(K,H$IA[P52C;R5)M,3+P#E##/N$1(6.:4 VU&.Q) URR_- M;>D!_[%(WDDCM=D#$JXAM!9Z;@!1FA%@F:VIQT+R<7LT<1E\IO1T0O#/)D>C M]'JN07PN(S9;[6VS+>M.ZC:>T+GITB_ MM,TM"N*7DZ>3BN?0E 0Y)P%&4E%LD;0<VG92"3BB]1'D8 MY=8S%C&X]-EP4_7:(G/E] ,3@PET6A#, S1&8X -J-'QEK9OX'=^?<=+VYX& MX1]XQ, B7#&8N2\DPI"8#"L:1/(C?"L*0*?GH:3 M(R#3C.ME37^93?YRFW_Y>9K--AP//SQE=/A58O/)6NXWUZ^ZQ=2&_7?\MD1GV&#!>NU*/H;,**N. AY C\\W*9LK(]GF,O1T, M]LS_:%A=.M#^VZ+(TOGLG]FT!N?MXAMVI2IF9>6X/[K]?=-QXV/ZM454OL/; M$F\\MS+LE)(0')P[AEU]X,XDANWOU^RMG47/,GAYD$<1CWF?3:J;Z-:WCE9= M8M1DLKEU/IN^-:]>+9;Y-GUC?0-]>,:[JE]=OGB3'>NJTM@TF2>*(0<8I@!HQLU2^F;MN9UO)L@IV. M(.JYLMHH"" +W]:&)A3$6PUY[5;#8ML6_#BH%MI@,.KRUUBGUU) S1&VA%-- M- ,.";N%%@1(.O0%&NIXX$S6-CMB/@^6:SQ2#"8:J)JI$V.=HQ15;D5-(:,8 MCSM"WY5M3<\6VZ'T$N5AE.'WL8C!9=C_)@\6U6:IV>DBTSVC@]:LNJ]":P6D M5.L DI$U7=:/.++>@47/V]-VA&4X#[9>IBJW,'RSND^RO\'LQ$%JJQHHI(0C M#&CEC-[2#;6R[<,CO85HHXM#?)BNM]I88Z XPT12YJO4FO 1U)]!E2_A!Q2' MB]B&\;"Y[G)/P"%WJ+IR!R&OJ#$6F9I6Q] 5EP0WYN)9=9_M\'K9,C)*\W%\ MHG'!@YV>"T-5V"D1Q-X8;3T43BD!=I1;T'XSN5#!<&-.MBD,/0^LZR@,%9 8 M%>QG PQA&%<=-_'.:J+LZBJ#VPI 5V2NK$^ XM1C1)DC5EE+N6:U*PZK3);Q MG?KWP_48Z(SBJ'3 U'7'N+$&!5>NZAG&D$;&;]%!3G7H,3%8V7 W_V,0V*XS M69AX3""W"B.M#,6#\66*S"@]E*N1E M9I%'R MRPD65BFEE=18(Q\H,W6L,.STK'V)U 7RRQOSJ5%^^7G(#,5UG<[3Q23[<)=E M3<. ,19XA '+&.S*>T%GZ$#V9%44 MZVM^FLO!J:D)U!H32X%7QCAM//?,U11;2=O[#[W%+WN0A\@H#5NYLEGSYD[Y M9O*P9TJ"M8&*"@6"H6T&P3JLQ ]3MP1G>#&(=W%+=8(3D.*&,F$AHK!J;[2EU!,X:O:MUU!YHQ5VUCK!+9*P#MH31O6@*501+OIIS,86&;CG M0364B/1Q^Q,5T&'+K12N:AH>_"E=^U-$L0[=10?HFA%1*")B=#W5&=)1$IQF MK+5A6#G/"=V!!:48=<>,B+SO#DU+EI?%\A&[P[^>LCK\*G&+K+A].. _?#\@ MT0( +B!ECE'OF/?4U(=SE 1L6C.4GYU0N"8^CLH2'YI]E]DN_Y86LTJYO ]:_D0T MYNG0Q)-JO[< >HT5I$$%85%3!*EO?[\('[=>C03()5A\TI-^/CA!/'B5B!J) M?=CV?75=F]M1I=#(NZ*W9](1;G="YJ7P?53:>@SLO@R;W^7EK$$JUN-AB47$ M<$HH@8)5+9\XQ[4C3P7H4'$LKD-S=P!C:+:>_'*_'YA8"!RT4$ 6+!4O6%73 M5#?M08R-O 5X.\822D1<@P)('$K*YP M8@P.ZQN=&W5ZW;IE6"P\AOI:S^F\3+7VG@ NA69".&DYJT]IF/.V/4<'B"&W MYVA'&(8MJHW79IEPZEF05C+#@,B:SHP%ST5K+-_GRZ"G8 MK@*H1?_9 .Y=0K4==-< ]%>R0W0 +F[7%X>T>&UXR:WL)&RVPQ-J%+>3\P[:+ZJY6< RJBA[)Z$GMJI8^G15_2^?K-@JGU$[[ M)R<(*HZDM]ACJJ5"BL"Z*0W?J_)CE115+>TPN:EQ?Z9T/!@HFM,?5'=U8$B@( M4S7""'8XXY37)747A75XP0V*-ZPTG:O[?+5H)GC?3TF\MTHY5D4GG00>:@K) M[M,,5E[[>!ZX+LGIA,LWS@]WM<>)>S;6)T_7?,V&,<0+PS1SBC/@ 0Y?W^9R M%0J<;!:7[)NV@=#_8VH09ZCM6&)N* &[1J^.QK-AKSX\0U&^=A MD YXS4;\C$X'K$8,:,>YD,814_5GW) J"1_R\*O3^75CEAW(Z#P+AC%E C+H MPSJ-Y##L]\$8D%4_A.W*PU]&6K75%OY#*8'M4+@F/H[J%'IH]ET^[>OSC G++,7+4 \&9P%#M MJ)+-T2@ "(4TBY1(H 3(D@L*:4 MB@YQK(&;^K;5[!'!N>9:>,P!0\'F 0!"2:@%T.*:4N8@'[?FC\/$(BN]8%8;@)D.+FI-#0/0CUO;MV/,B63Q5HA<.Y]'J;,OP=[+L/7;@=+C M=M]9^6HQF:^FV?35XO'1Z8$LL^K$=:WH/F9?ESHL]/,4D8 ME=( BLR.3<2@]E[$H$4*;0]T"BO (:JO"U4L&QQPI! MM&6$X*:9O%X @;TWE^B' U=OZ8=#;E7ST_F^%Q&L?H"\(,0#J) +GAUS8LL) M2B$:X<%_','J?&?50(@/F68PBD!K4/K*>&P$MP [K8VDVY R94*Z]OGO@Z4F MC$>"SHGAGH?[-4?H(#$0,VXX48@X[0)ZLJ:4 :7&[=7'8>(YH;IV>+UD"1EE M/&!\@G$9@3AR._81>3AVIS;#$DODO0#,:X$IXK9V&Y@.M(\_JV.T6U(\V"\L M7AWOH2> 08)S&;'9:N^Z M#/_T5K=_0J*DL8ISY;"1T &GE*^/ICFCLGU<<+ TF]%N;E$0OYP\G50\AZ8D M5FGH#;+.>L04H):I^N"8*PC8N+>LKFP[*06=4'J)\C#*K6PVQ=%N3X-P9&!U]7BU3?75\SD) M,-Q):@BQSA (O1-4>=S62,LI4PQJH5XN= MSGY[XV>+=#&9I?-W67&3%_?5)E0&O\E#*XW897=ZV[8ZN%E.W6,Z6 MP7I9X[-\9!:=F6=Y=G?[9R]^?225\OB$H-.XA(92#PSFS .N$5^S4A)F"6L4 MY(]"5 WLHU4>RFL\-CR!7&'#A:?,"Z>\L +*+4&4.3#D-3E[,Q!C\6-/Q_Z. M6/28&WBV-+S.;M/Y!J8##M:>48%>SX3E &E+*.:* HYW]%HR9/N31EY3'.;E ML0!I9E^T5%<';M$"N)$V(^H$?QX5BBOAXZA< M@XNP;Q"VU0JFRK0[L9E60Q)M&+$2J;!H+9S3C$.]VX$L&?3 [+C]W.-6V@*) MGMG7_BHCSH4S4&'$F:224TH8K[.MN>V1T J"0 @$0"$(:&D&YW($B-6KO[D:_Z:9'[G8#I6_%6Z2+35ET M(P8_'9Y@8 D)] A+=-08.E,38SRI'T>5O3K9_I4R-U0Z=4D,EF5RSY_%;S] MK_\K>SAJ&ST9FT#)%2<88$4T(\8@)-26#.ZD JV9&_T.EQZ8&P.27CGK9_/L MS>HQ'GN9^FU8HFU8+UUQ;^!=KS,_I]*[WQLS4:O;+R?78[ M*X.<+99OTOM#!M2^H0GV&"*JC<.0'N#P=V,2!B7T%',OA2?>ZZHKZ7;9 @7' MKWT\(_K-'SVPM L6O7ZT:CHMLK+<_D]%)#SZP>X9'\P+"8S60G"G/,#(2U2; M%\)KV"'"> VQJEBX#,%F$WY\6WS,_S@>.7XV.N'8PRI#D!M/=>7*$7-4%:==F4 MKR&H%0V8GCA=:1I59.D1WCX>DC!C@F&!E-?8$"\]QJ@^*!%6R0[W_UQ#%*L# M%#WQKTJAGK^[RQ?'@U=/AR665(T_K?2$.FD]UQ[!>O%<^ [)G-<0O>H(1T^\ M_)!-5D4@$Z)/'V?+@_E03XB) MEQ^+=#I;W'YXN/^4SP\P\KLQB1$*$0]E<-S"[J^48=+5RT:\RQ=Y#7&H+ECT M_#FZKY.[='&;'0DF[QN:",J(=P0A:+0,M!!$:Q@DL[9],!E>0X I B0]'];Z M61EV@?^3I84/OSF4>'A@=**108 Q;!3V3DE'+&([4DR'HUIT#;&F.*@,PN!- M.DAS%C\:GU@C+>3 26<,AY?XI)11NS^1KB#M%@J770,2'NVP^K]I8I(OC*1>/ M!P8"((;20"JL RH8]D371H1"SK8WJ-#U!)DZ -(O1^_3^?QI!<]^ECX>F3BH MM),%KO+PI+TZ&AXO4$D[H@TBM3W7U65-6/OQ3Y'\N[)M_KWAD) M,!XKZY%$$E)JE>"L#JRHZGRC/9.O(<84#YE^,^$V^\8F1:_RW);I\J"%=6Q* M0J&STBLMG69>,2N\!3513'=H)(^N(105$9J>LV^66=7%=_8E"^9!NEWPB;2; M?5,2S!3@T&IA/$ $0'%?BWXU, MG,&:$2J\ 1!YS042M!;[G[Y=O&^"MP58=DZ+6>ES9;I;'ZY>X5V"U-EF2U+ MM9B^GJ6?9O- =E9N*9@^6G08\"9?%-_1L./O'A'OY3V)0=4-44A3[3P36'O$ ME8$&(,VY#<9ZDR]BO'B>NH0HVCL2S0VQP"!J% ]J% >BP!9'*D&7DZVS%DIKHZ/UYI.?DT!M!,<&22:4E*1JTL-J+"36([\?)#;#FRBKR%#^N<5K[+;2^*7JPM+T M:O%YM2S7H,#F]M+S68DFQ&(.N%" 2HN]LX[4=!I)R76821'X>$A:.F-V2=E MK61C.RM1'D ;8-+$&*>LA)CML*M:UP]H$8U>-MIA=DG9P*UD8SLK$<)*0P16 M7CD$)%.*U[X"AQBWUQO1$]$N+QOM,!M*-G[-%]G#KVGQ>[;TJ\6T5$N3%L5# M< W6=!R1CQ,S$\XJAU)3@"3T'F' + K>!2,""@NZE,3V+B,7/?2(B^LE+=V_ MSY9WORWR3V56?*E#+%Y. :KKIB/88O37PIP0O]JL28)$5QDH,G&*: M 2=W(3C.L>B0+_VR)?7"C!A*M-67=#:O:/%Y\2&=9]M"H("TNJ^2V_Z934U> M[LL<._,)2?!J@- 02\.J*DTCE30U_<3+(6^MO2I![ ??R\M7*Y%*#"0:*L@9 M0P3K\ 4Y4J,H,+?MCTJB9Y1?BQ2=">E0@F/RQ9K8)'E99' MA;"/UR780@0]I!!HJ2B%-MC*-;)2=(AJ14^_'Y?4CH 90XGYM]ND-H@?$=&G M0Q-,#;1>:Q ^7,FLAT34!V6"B XWM43/]A^7>'4$/# N88F%Z/ *Y1%:C;3*H_&)( $D :0W M)'P1U*! X)8V29!O[P!&KSL8E[3$0',H27FTPO.4S/&)":),05*4:';)VH_?O&)?P1,7U$K4N;_)EUM^MD;_D^?2/V7S^=GF7%:\6RW1Q M6_DU.Y:M?_^]%77)-:CI=/WXZE*&74'4INCGP/+Z_^3KVG8U^<=J5M;4GRSA M.38M888K@F30:0AH82QA:GNAKU!&B489COU0^^W.UCT$E/KAT;].%=Z<^ZB$ MV^J(CG (A?; 2FFUVJ(BN*,7OT$S+FL/7I;;"UJCKHK9W?];D_YA\_+R1'KH MT7D)HBY$J8_27@JGW(^ T'5S?92IE&-@]F68O$?;G=#_ M!V8D$ 7%IRR# 18J&).FIH^S$F'K@\O1//' >Z2@E']6&3928UPY Y03$4C>?5)5N\AQ[PV=.=E ,F+@]>>0E5'N*.,3D2BB41;+1V(1_O54 M),*ODO=5L]\#N\AW?T\H0PHAQ#U%Q"AM.?.^]MNX=$->9SNN/:,+3+VS]F B M]),1"<+!#5>0!,(-549:#,'.+0^(C%/+M\3^*>K[< S@(FD"FCF:Y]#8=XA&ZFWC/)>PGPM\1CL_'R31JL/W:(?G1B@@5E7CG.$4P1UMJ->=@A%G:O7 _*DH]GU:=<6SCJ\=G MKV=?LNG3@=_,$[]:KHKL,0+MN[G-BD_5?H( P$BL!;CZ3;)9Q[Q:QVRWCG2] MCG*[COPF?;2"[.OGH,:S8^3HC5A3RDRX$]3B&M"/GX1QY-++?/"Q^PT(9@RQ0"FC *J:CU =<6 M#]E!\24)8CMX1RQZX?5'NWNT>V(BB$*8$%B5>CCEJ,7"UOA(*=M?PA.]=\+U MB5\+@,"80/:.W31FRYN2@Z[@'Q:&,\_ [Q9G\,^ M!F:9+]-].1PMGY1PXPE@TECC%$=,2R]032,U'5H81^^Q,-)SOSC CB<_8.^0 M"Y=U'OF(7Q])!SAG>N($L= JS"C 3BBOD*[2P!QBTCO8[-Z3?JA_E)9QF)#F M!9ZG'I( 082&R#HJ@-,>"6K]%@EK/6J_M\2^.BTJ6P^6>$;&:\AC_G@XJH/N85DW.J=1/_R:_E=>F'DP(4_=JM3\*8EC MBAJ)I87:,42 %-)L<7#6Z"$3=\>BG_N'<03B]&W];]+[TZ5S9SXIT;2U=$1/^_I(UJ#[MF ;N,8+U+E\&1R:8?L\G= M(I_GMP\G4WP.34FP@QR8JJ6""7!J!S4 -87,@O9M _J[]*(O'N:]0#:44'PL MTFE6D7TZQ>_IT 0A!BD3.H##$*". BIKBIP4[>N ^[M/8B AZ C58 F>JW*9 MWV?%^VP>I/8Y)">3/IO,3S#$TA&B+50VK,-"ZV%-NQ0=$F;ZN^UA(#'I [^A M9,?.RF4Q^[2J>/)^=GO70%P.34DXXTIZ28TAQE7>!=:XCA(BQ=KGM/1WD\- M$A()LJ&$XDU>I=)^SI:9NBVR3=?.DV)Q>%("N39<.4V\]-QA"X@D-940V/;' M8_W=RS"08$0#K9EHE#4T93;YRVW^Y>=I-MN(1?CAJ32$7R4VGZRJ1;W+BED^ M=8NI#1INCQ <')L@8XG&E &L, ]VNS.:UV1XC^Q5F9CM3T1B 30"]_67(B]; M!MO64Q,1\))5*C)BW'D"""*BIIA#TUXD+F%P=C\DBXS7""1$38*@K];&T./T MD)99//L?ED")/-$&& :9XEP :+>H* "<;5])< E[M%O;"5D]J7T_EKCMI%XWR+]Z-C:Q5A'H%;=($4:D ML,1OVQD&O\' 5AU68B=;U:MNGEGUW8P$"P(0YPI:S)@*.Q8&=DNCD (-V=+\ M:!I5!^X12.^ME\*UA M#0$U:,AFI"V/YENR-(\,39\)-\\7>/"$\]CP).PK5@HC*GPH-9Y:MFT R"4* M4(WSP#P&BXYRNQ,Z+X'OHSJ^'@N[+V..Q^]?A:K8J2"*:6VH$-PCR6LZO9/M MZQ('2[[JIN'C8W3=C8>"V20U])9A38/D(XV1KVD%3HQT$XC*Q;,Z$+7#ZV7+ MR*@VC/&*QG"60O-:"0DY,EY;K)$T0&I*2;WM*=8E-66P%O7=#?ZV:(PGJ=Y" MATAU 24$ #$A+$6[=0/I[3B5>$OL#V37M\/@>G@X*B4[+.LNLY>>TXG>4PRY MLI XI#63F (I:PJ(XR-,\XP73FL)PM!LW-XG,[6KZJK@389 ];NFY8(K;3B M2KBJX[[$C .B=I1RV#X/J[?S]?CLC@#,T"+@\R*;W2[,JBBRQ>3A8Y$NROG: M@OLE8/CZ>-)%\XV?XHQ?UCMYT52Z+A^WME+]D^6V1?KZ;31[=_AW8 M^2'(YNQF-DD7RSJY>)1K&N/MY>^S+]EBE94^J!$77EN$U7U;\&+Z.E_^:/O(Q$MB%-2$,:FYM;SJ@K/6(5PK'PR1,9S0GDE<\X/<-@].G!0@N,>* M4F<0@]A;7"/&O6%#%J\=/>_M7R0.'@L/@.N0I\?GE[ODBTEX5Y%NLNG+W_6# M#IOXW7U:_'[BZ.'4U.#KB< ;Q+TS @@+L3&PALD2,>2%:RT#3OU*Q[.FZ%'Q M'*Q@ZMFRZT6?#$6?FIJPZDH!PI7B+I"K$)):;RD6#FLTSF!7?(:>E)0HN/T9 M)&94H;7Q"\IE!&1],<16][[)EB>KI?:.3[C#Q&J&@ ;,A_]!#/":MBIP,;Y M73QV/;5W(@#49_A\4P:VVU@/GV8]'Y@0JI E$FGD(2(P $),385!?,@"F#%; M&5'0ZU,&J@+ MS??+?%HSM/!\4F (X@VEZZZ"I59I[FL:9((>SY.JZ$K@_+^ MH'D9;!_5UC\*;I_+Y0/=@M5]^L]\<7"7?C8F@=)3@0E@D%*E645JO?%(R53[ M,Y7H.W,D?/,X2%S.0'_X&!9P?CR@GI401Y$)5H:B%EFFN'7;JXD#G9J(]GTZ M!\L]N70HH"64%Q.9:KWGNW/?9B5>2B]QL'>E(]1AY=2WCXL:/_)LQ2@NYG>J/@Y AHPP M-2<*]PYT4(J#TFA[H6 K%?;4 RT-%P1[@.N86/B]'K2[<#-F#W;,%0NTBVT/ M8='5+]+;#)ZS/SR:EG"$@',4>L&+WO*V!C\%C8A?SQD[ M';(JME,>#_R4KY9;L#<7$6__L6X0\VM:W,ZJAVWR6'06YF7/\G0NEI"Q)>=] M]KGJ*K"X?9]- A=GX3VWE3#XO-C=L?NNR&]FRRK]JI*H[<2/^;>RN&SZND&^ M1D]O3(RG1F- '6'", X$]6PC8 8(81H% ?I*>ME2N.W9<)R^\GL"3Z5T=']X M8ACBU!#DH$488*^\KS]-;VF'VZ0CIW5<7'+R"T/?8^;'V0;7Z^PVG;O%][:=# M$D'"]DZQE]QY1JQ!2LEZT4ZE49 M]K2R-E%/W;MR=%[BH3("4:!L@,:%79#)V@D(/KYK[P[W? Q^ 4W=!Z"#"<]F MB2=CI]^-2R1!TEM(M&>&"DBQLSN+B4(Q\CRZ2'QZROT("%TWUT>U 8R)V9=A M\IM5%1^JHA&5OU1IMIKT(QP_/"F!@# NI<(65@USO"<2U50RKD<8#1^;PQ@- MW.$"J54XJZIOJP*&'[+BRVR2E1_R^;'RU\.3$H*H30J(5HR6MTL[0 "T@>=6EO9!AK?(>6Z MMQ+8L0E)>S2'DHKW69F%=]T%&;;9EVR>?ZYPV%Y1?S3:>61>0IW"/%CMAGG/ M@0VP,5_3BBELWZ"LMR[28Y.!<>7Z$/-+=EJ. M3LQ,.,/2$ TPAMH!80P*SL&67@]9^Z 9^[,(4UR$!W.^\D5>P[0Y[3TM2P?G M),&MM%8X3JGC0FF#@"!,3>F^.\24L*"\>^G]#_ZU+ MMB_J&;+765IFI9\MTB#YZ7P7B7IU_SF=!"].3?//E3RJ]VNZ7!6SY<.C./SZ#Z]GZ:>@#):]\WJSC'X[U&S>\6'U^?/FW#V=F[2\ M\_/\CV&HZUF,M]E,E0:_WGM;9+?; M8Z;MB$O?67)@6:\;Y&6=FII I)1U% H,F1/"(48VQV)"A]^:1A<\#$KUJ=2I M8],2+QC5ABI+N".< LK!MD.\MH*((:N]CR9%Q6/;\VM18Z$S9,>:1D6BNZWX MFX$5/(S#9>('QR=4,EQ5+SIA5; 8)3&.UD!(:X8\$SOKF#P.=_/X$/59&_S, MJD[G1VN##XY/L,784JP]-A1PCRS3HOZHJ@/ <1Z 1^)3WA]"+X/[HSH('Q/3 MH^2U3?)5,/X>*H;S^A\5O_DC?F]_G?SV80]SO_VQNL=948*QQ+JZLP57Q0GU M@C'S0]Y@UJ!R/ +P>4<(AHJ?N5^=.EF_]VU0HCR#G M#<'6)HJ+8.%-3 8!L M'[2/?K('!"9?4$ !NK<,J/EM[WG^?+>_JV*/[.IFOINM(5IF%_Y]^3+\> M/<0]^VD)$EY80Q&&5;J64$S3;7=P[15C@^:>-8N ]^:8]0]?ST'NQM&4P:,Z M_<8)G[_O73Z?36:#OO+1T<'_7$TWV6?#Q^_VK:)G;G]8YI/?[_)Y^.I+]X_5 M +'GYV_L5[Z>OZ]O2%>?RNP?JRI#I#I1N73P\\ERF@0]#TU)A+546D2-$< ) MH*I+(HW1B&NF**2-[,E!J#S9\GO/\$02:[EEAGKA%040"LVVU$E -!EP-SU> M\=F9/4\S4[JC,60PL[-PG.ZR=6!&< N=]EY)',Q:))RV)EBF6U"4T..]SKD3 MAT^(2SMP!DN$>[[:TQ4>A^8DF$ @D)<>!B_2,$FJG&)C'%;4"FY'VO4R&N=. M2T(GG%ZF3(PJ\#D^48@4>:GLZ"]9\9#?O+JOTJOL:OG(AW@:>MD_.C$>"(T\ MA0AC":#V@(- O0[J4&/.1MCN*)HQ$ ^6GAWE)Q3W[#WLV3C[?-O]?5H\O+UY MY FJR3HL7:4$]NT7-WN]3LO9I$J%G\U7RVSZ)EMN4@??9<6'N[3(6O?N.?!A M?^L.:O+[SZOE-AKR9!DN+19AD>6[JB7;_7UPIJNU'/-VXCT\8419HH4QT%@E MA0-"LJ#L'.(80]C,49P')UX9;J'B1&ALL+&($;Y% 4DNVA>:1/*? M+L'P_(((7W]C'&I@P#E8(U(%J\$*%K:T&F8"S9 'D8WBY)!<4A1C0#24&?\]FMW@QB)\*.U3DJ)GMXQ C/J$ M]J)BML7M&2%J^E^K8, =G.2(Q20 (%A ZVI0^.AI*U74DU .U%)'H#A!&*2#L0AQ(2M5C.IM4* M9U^R#]FD*A>?9>4FBS6;;K)<'V'XE#AU7QW:'!&I*,^O+M:KKL8-T!'LH78& MR#I,$E1SAPX1H M=T\.^J6S5^L:O==-\E:?#4ZTX!YSP5E5\F,)8MQN*T8I/IB;(",NL$]))PZ95DDM64&TWM. ]>^V+O6=+3"<$_ MDPR-ZM#WFD0GBLB"Q0 M^USHGB](Z;C1Q *D5^9NE_7;HOR<38(/D$V/=_HX-#ZQB"*+G15>&>JPD%2I MG1UGH![G;A&!1WE_Z+P,SH]*QX^%X9?9\G>4FWE:EL'QK^I@FUY^]71.HH$. MT"@A%:+::HFLJ_Z;*_M MZIZ)B@V%+#'3O*44LTFER^Z_?L&7I%1*3!P0H.C9B(XN/](\W_D ?#@ #@[^ M[7]\N]\X7[.RRHOMO__)^XO[)R?;KHIUOKW[]S_]^O$5^O_[3__CO_^7? M_H]7K_XG_?#&X<7J\3[;[AQ69LM=MG;^R'=?G+^OL^IWY[8L[IV_%^7O^=?E MJU?M/W*:7VSR[>__6O_?YV65.=^J_%^KU9?L?OFF6"UWC>TON]W#O_[\\Q]_ M_/&7;Y_+S5^*\NYGWW6#G_?_ZN)/U+][U?_8J_J/7GG^J\#[R[=J_2='>KBM M&ML*1OH?__;LY_\(FI_V,,8_-W^[_]$J/_>#\K/>S__SES>'#N^\/V;__J%?E<[/O<&1>>>1./AG[/-KNK_Y%7])Z]$%:NQA+7^;^I@H"B[CO2DO4FYLE)'3]JZQ]OM[L/8QYF/,!$_]E'8P:!#@=+';Z_Z+P\*X M<H;I\-]<9!-U"1J(G75UH#)F/&& ML*)V4$(']-!:V\Q#,>VY5TS4Q\>H+BNJW2+P:9A&+$ >0S2A 2.QUQLB@8CU M=57I\U,K9PUJC"RJ<:8C?,;I&BEM@TQ-H%NU?65E I$W1^V!.3"H+AIF+AP9A:MIA MERN8=(!HLJ((O)SADZ=?=RQK3,/#32GGN0O9SQ/*HJ[H?L M:[9]E 97Q=TVKY,0R';-L]NL++-U]Y?[3?P81V$2H]F.:\4$W1DVBGE> M+>_NROJ 6II_=]M9_52ORQ8IBB/*(L+#1(1)Y$:)Z_4F48@0)$8:9B:$7+GH6-F7"DL=#XUG:K* MW>+C;KG+ZIS)OV;%7;E\^)*OEAOR+:\6$8X#-_"10)P$"<,A$U%O"W.FM(@; M9\&R,AWCD=&"1*2H12-Y&Q:AZ2B#J0^$+16]D7X>:8W\W:G.#!)Q1F#,$'== M93'D0V&R*P&T)+L[M<2+>LFT"'@0\"B@:< B-TE]'E/4V1+(BP)E+=&V,*F6 MM)@@:J+/G(*:3$+:YB2]S>G*)BDMZ,IJZ&>C)>!\*DYU)34^:I)GR^^+7 MCPLOH20*@P '-':Y&Z!8\/[#09PJ90<"/F=9*7Y]^_J3X,['3^23^*BF$! N MAN7 $@VPL:_&P)DQ7_6#OLI6?[DKOO[ MNC42Y[<6"W#; L*-VB:%)5I@0UF-$2O;#P?_!S8;-$B:Q]:"#O!B= =1&^]Y M^7FW()O-N]V7K/R0W>7%MNH,)3ABH>L*-TYC@HC+0Z]?4PB/"*XR[D=\WO+X MEZ"!F$^W:M#T!8Y.^$Z&MW9/R60/Q M42.>EQT^(Z(&V+FNF)IPH##64XR<';W)M]GK779?+3R?$"XB#P5>+! 2?AP& MO=G(8ZZ!\R-U8]<[0ZHQ.@U(,P=) ()''2;9X=;8@9(*K5.>*NWI@I\LP9F> M1PAHSAVU$R9=GH Y+:ETE!7;YMS][_GN"WNL=L5]5HIOJ\UC7=N#5%4F_[?^ MM/RV\%&*.(O\P$-^Y"(2TZ@_ET])'(,2"6W8MZQ[_7!L:I?TH-NB)CWL&VG@^-9TV)P#.)7<01M\ E:MD_*JMX =QZ_:6O8E&BXM:XW1-X,5KCE? M"AL=#!8E[O,5VH0GGE*$7.0%J9_X<2 (3;I0E(=)&H(NE0$_;3FVVZ/1RX.$ M\J06C%FD"*;-ZNQ8B9Z>\C 0&&D2-H^81Q=\8:330&^G;QZ;Z8=L-L4?=;7" MBFS7'UIUJC[);W5)322BS!,A(HRQ.'09[D4I=%./P*ZL&S%I6T<$<^HZCNO' M37;C>/XK%]\X>^C. 7MS2Z)'[]3P04F/IAM"39"NT 9 H;)'OZ7;]"J$#BB> MX1:9AQ*:=NK997P+G)E1SBYYBW#DQ5P@&;B%"4X)CG'3%QU$I3_ @Z"74)I)):?(%NP'Q<9=MEF1>- M%G/.$H9]C['42^,H8 'K4F9X%" _ =]^ 7W=MOIU6/1OO<"X&I:N:6@"ZI0B M0^9ONAP3<$9<3_R>2 X M2@F+1(!P1$AORV,>5=8);0N3:07\5HL^:PJ*,0EANJHQW8V62S1KW1K>H2Z5 $82)'U%.L<]%']M$W/<]KM+@J7.-&D1:6U C& 1N@ULE#Z8M,-[L[HJ?TJ*R0:Y-Y3Q6/@;\N+1M M/I(95=TY-M,)7!*$4M,B%GL"R245I4G0;SA%Q.>@'%*-ST^L-%I[-SJLJ8F, M9<+&J,S(@+"/HFX>BC'&@,-:5-&.7-_MD48J2-$A0$M?WBGCHQPF/ M]D&24+OR,^+STYW2O]'---A2J[$S-0T'&.' I M&-'E0EE!VOH!'[*'HJSK+.[3B=PP\0,4IP@'E##DXX2W:0,)3=PXPJI#0O?[ M%@=&"\G98[I::<)+Y P-DK%\SF2HC';C=,"8X45YV'1G9OO;&E6=/2R^R2EM MN]STFOLX5W5YN0(C%SB<1)%@OFQ%Z0\<'M0*8M!]_$M M0[&^G=FB/[KM5+79_+T'^T3^]@RR=N)5XX73NJ&9KV>Y 175<3YM!]U9M=YL M=A1W%.%#NCQ-2\Y$O2=R]E3CI^18>1NGIJR^-%*?E'_(J]_I=YIM5U_NEV6[ M>\0]N=P+_205#+F(>P%C7F^6ATCI1,J8,=M;/,?XG!J@L\>GM;4\GEW%S9\I MB05N!8W@U,ZVT M<#6T2F:)Y'CIHSIW3#22S/.EK66^TV\6*$19)F!"2"&F3 M^#ZFM#.+1$!!]W]'&[NJENEM7H_F5U?-+%)K4LVNL\W] EL@/=,D>JYZINO. MBWHVBB?E5?IRDU5=K/@VV_4%8D007J M+\4?#2RM(GF:]"DN?:TS!Q,F#=+LK%#/\3*T\!S%XSQT9Z0/I\M$ XRH)"'^ MLOS/HCRL.NNP+*S/\D+L4S_U_-"3&A:RW@CS$Z7#-\U/VXZ&.C#@%&4=EH85 M9 *"@#&-(C?&D@R?>W\ANW $3==/*QP#OC#25=2UX.WR/GMW^\14%]GXL2>E M)\$"D2")N: )[FUA/TB5+R[H6YA,&< )R2-8>UDBIB%,5RDF2TB^2,,%R1A/ MV_65PX /A[_\9['M8A8/IQ$*0C?VHHC0N!:K/F;!."9*U3;@7[6L M%RT6K=JS(&Z&%<(N+3!5F(H12!%>6\QHUMY59$BQX.Z1+W%FF(\,CC,F4[T^\N:Y< &46G]OF8 M%29';R9?K9#' $.P S$PK_/8PS'BR.],!(! M$>00[44L57HTS82=:RF3F2,O"*&:VF2)2T/:-(\SK@-'$'728':FZJ3CR4OJ MI,V.LCIUR\]GEKMH36 /818CDL:^2!./<4$ZJ\1GH=)>DRE;4^TZG1EG>J== MH\E55*L)>=7IGRYE3!C+($?'A -7GSS?X&3(I# M1CP:QC&F">=)@MT^@9.DH=!Y?< \B&G.]L')UF]T;\O9:RTUO9Q%0\&$U&8; MV7R< ,SQ@ !;;[9Y*+-]-\^_56";UY>T?)WE"]YMY;[/RKQ8B^V:+W?9(N"8 M!&F4NA2S!(5!Z@9]9JK\EHJVKR%Z=B=I&$,RHUGK#KRH\!_(6IKC-R@TT:K?]@>9=YB\3W M72$B+ZT?0(Y0F(1^?U>3Q#1@HW;8((8FWV*[<0[P1FZP@0C5W&&SQ>78+38E M&J?98#NB"++#IL/L/$(A,ZZ\M,>FSP^XILJ[V]?;E8RK9%3%BON',ON2;2L9 M6G5_VE\PIRY-?$%8XL:$I4F4UL89\T(A%\\T51UCILW:&W:'PB+%K?,$HM-B MO%X]!1B' ^/25FO,8ZA:\^Y2%1,K+*H.Z+?9KK7SIJBJ!4&$!3X3PL=>$GJ> MBW'0V2">"&)(C '[LN6@0H)Q?MI((']V\@84+(X LJ0F:O8(@DE6S4VG33^] M:2@BNUV9?W[V_N_VT_-:ND.2?E]FRRGC6_G>O7SQE?N*Z*(I\P9(ZJYSA'E@J&"AW M:0(XE@6I\51%&_ M@[)=-[_;M*^B[)_@I-FM_#>U'W7M,?DW1['%IZ*-+!8^C7 44;E693A,>,PY M]WHG."6@DE\S@SY!8'O;>N:L.M>,S5>>S MTSOM''G='+,>^>T<'+]Q/C>NUU/ -\%\^[A'[]Q)^)4CY7&UK+XXMYOB M#^=+MK[+JAMGVZX3=LMO9N9=FTTZ;FZ=26L:GS\/?CFU8_WNF&SM(^^)LYCCM1O)(UY<((>,>^Y;@H"%.>SR=K"Q%[BAVQ5/P^1W^:KDTFV MSNDB[]CK)^#W2$5].!+X%/D\1'[$$I?N5\&8^G2QS>Z6NVS]R

HRV82G*' M6[E[YA'L,*29N?[LU'N-V;D9S"GW/DK]R[=7F MMC6[G3IUM )L14=BAICSB M1L[0IL(Z[4+MIW:B^_-AQ5:7,7LG7TDO M7]5N.@<_G^R 'J:Y'V,'U%#S:4R)4W><>4^/D[.A.%5>IY74\]Z? =Y/U 3[ M#,<>"\(DH#RD*/5X;Q%SY"]VQ6ZY49ORQM@!35=[2,KJ]:G^)R?Y(",2UD8Q MJC:33$4F;!903-VXF86:#U XF!8_GOAYJ*@13YXEQ9MB1R,GOGG4]$NQD;Q5 MXA^/^>[[/D]#X)CBF% O#+&@+DO=%#'/=V,?1<)5'G5FC$V4_WZ,\+\Z+<8Y MY+]?9DXMZ]T \_,8@(9]NISA;HPQE7K#'[*JM]Q4P\)!P$2=)I_*CU+.A%D'@$S-2@F@V,]K@18#X."\C3KJU4&QK9-A&P5"@1=1BH4@ M/'")B/PP[&./F! 7]/SD.$N6U:*+O0^@M&KICB03N,*QSB-,4< 4VEW%G&-' M9?4RBM69K5K&^7)IM6* (55U.C'5*6&21BZGF+LI$YSYD5P@^;TM/^(I1)7T M+$RL1IKE;!U]/*5C^,!#D[IYZ,<(_,\/-T8QH:H;9+W.ZS/@Y>;],E^_WK+E0[Y; M;CJ;"!,_]*5*,1Y3XC&$<=3;3$-8E9!QEBSKR0&<4Z-[E6^=#I^FNHSD54UI MIJ,4ICICV+2B08-$#>B1&8+GH4V&?"EL=$%HY>R=#*2RM>BRU#MC+/&34 B? M"X^PB"9A$/:!5<+#"%3V7].$]9W@%I73P](4)UT"U51I NZ@.\1@VBS5ESY' MS(#\C&1R'KHSUHEGE9\-<*(<':U6C_>/F_KVS:5\N\Y^Y(5!ZG&>!I%(N8NH M8$EO/W9A[[69LVH[:JKOC9Q/K](-F\P1KAA"785K8#@UAF8[\90J:T.QE7'F MYZ%W%OPZC;DL,:>^9MP7FDF+\FWVAP14/&YW];72LMC*7ZZ:[?5V/YU( 791 MS%&81"3VB9!8>@PA<4%5!LQ:MKZFW(.M"_X(507G==J M ^@BU"#]EE:E "8'5ZDV6F0F:FK'MV>K6'L,JJIJ_6S>NUNR+A[J]70GX('K M)F'LQMRGE 8X97%,>E-!$(#>>M(R8%DCF[<@BUNG1Z5Y/JC'G9K>6:<-)FMP MQJQHUSE6!B1J%(GS4*)Q+A0&.]68:(U]D9U)!HG' I=O5_G#IGU/V/4CE+C8 MJV],((HX7K79Z[GI(F@H#YK*$A_*7/DM[ MNURNQT$9&*.MS4P_]9Y1'\^Y8@['I'3;5@C<*K )Q881L?G2,GM8+2ZS2EF@K/OA7'"3>X M >WD^5H@>2A-^)IM.H_YX+H4G"8I7[\]]'8R3H!WV=5QZ"(WY%$J32,1QC'' MX=YR )M$3-B[\IR@&6<;85IG?\(^R68E^TK1M0)IROL/XRB?AZ(:]6APK\$$ M6QIW.CY^6^KJJ'K/U(F("I2P(PI 0C,(HC-S^_ F',4L67[/R7;.L?+H4OY%ZOLQFD!:M_S@+&HN%,P 7TPS3J^\]%3=N.T ML*YV]>.8FZ&E_T@VYR%'H[VX?!ED!"OJ%^E/*_@L<)C&KH<$CN+4XZF;1J[; M&PH0"V"WY\&?MQQ$'83F#9/?B17( 4I=6LX]B6]9NOT%303Q/Q+FFJG&6>DN98< M/*?)-KDLPLX2.!C1"-I' 5N''O-:^0MCD@8D>P1UBTK=GO#OD5\ M^D!8@_JFNX3? =]+P.6!/U6SC-+JB5I$(U0UVQA3JO!E3N$B;*!]9JW!)OQ3 MDV!C3!J)FNL#F#)?[;)U\V--@-%4OTZ+\C;+=X_R9Q:$A'& J(@B+AC%+"!1 MG_B$JXWR0Y^= +1!6Y=.?DC;RR%VV::U4#T/7F+FE-X>&/. M0O75>=<-Q8VVZ:QG!1O^0@)U"TR;B-N58+E1@EW?([&(11 CGL:"'B8S[IH* MXXV N7Y4;T!EKM2.X^/^R9O0^#+@!YLCE%G77"@8;=!9SQ 6W 4L(RSPK)%$ M]:FX4+VIF<2:'\RK?91^S\FN^REI_/F2KXF[;?*5Q;4$]E(1A MZF-!F&RO,&(8=[!)0!#3S,"Z#EC;Z5OO7[.;\SO&ATWEF_IQJS*3?]VF^Q?5 MSCER1#NSZTK-#TX+FW_+ W/*;#:Z[70S*XVAEJMVW7XPC]EL/G1R%KDL0P1'WTS3!I#]P M(8G@L&P8&P!LKXH:S$UIST:<)&SG"'?S9\W/./3Y::G^OIF5IE)? M=^WRJN_ GPI6?,U.X#032]G6[?GU0641231> M3%+L"X^B /E1W%^7)"A1*W]Q17B3;(?M56-7.(U?SZ3CV#6G]LWIG*O_R;,M ME\9!I_50;4JX9@<8GC!^D+;7V4?[_W>SKXO58_W%5L]^\.9_X@RP&_SQK!OL M9#?XXZ@;E$/=H#S;#?ZB&F+4!,O H7;%1TW88(_R,T'%#-KWNB''' @H9C/6 M8&O-2[5:ZR?K^X?+WQ=E/2:/T^H_%6U2_8*&+B(A(E[LD<#EJ4A07^*:^ D! M+3MM8[$S>PXIQ7TP&/P_[W;#7 @G%>K:>W.#QIQ>6A%1^Z5EQUK;C>M^*Z;\75 MD2]CEX*CR;RT[)NNE6:PQ)O0V>(J(T$CJ?)#]B [_Y=Z7ZPV&9W]=L=GX!YE*;L*XD!;L7@&53@;M$1 M9F>Y73L=ZO,IVQH)DL;:!) ,.6D[C-BP-<.]O?1&11Y?2F4TW1SS6"+9<>U< MBJ(=_LPJ:YL"(H*4L9BX(@X]^0M!/-87)Z \H:XU854S/T-=;8#;D%7%!C&I MJ@8;P;ZH#A-_14U]*=_.1EO\2(H*]$Q+4'784ZX9U[X,EW_-Q.VMC)/?W9Z\ M9M25AWZ];;$<'B%9^-R-:9"FGL="N:1BV/7ZW2T:QS$"E:NW!\/R)M(!N=-" MKW>BG[T=UA=7WY?O.'Z2!UB?SF*+J>GO3!H+)LH*FFX=Z M3^'H:=6]J;A5UG8YC^2[^K""?*YVY7*U6T1"^(1%@@01=4/?XRGAS.-1RDD8 M1)[J;0N-+UL$# U"??9F,KA&.' Z:,9RH7R/;;,I M_JAKI*5%R8O'S[O;QTTW.*L/V2K+O]9'=^W([*_2\*S][\(/HMA+/3E"*0VB M@$2"!1(2BT.)+Z"@4D56@=@^,>MP.@>@-\[>H?;FT6$TWO1SZ/YJTD^](\!< M?KN-IZ9YLVDWX'&9_2:SUW3\FE7^!4N%QU"( MDB1)F9QKJ$B(-(X#C,,X$*EYC7_1Y*S4W(9BOTRZ26TVRK=-%9ZCTH[65&7V M?R3U5'=*2R>!G*DJXH?L:[:MJTK4CU&TVXRR!][7< ZW^!8N]5(9AT=AR+F7 M4C=@R.4N]@)$<81C4&$?,Q8MZV$'LJ[RTL%TCG >77"\ 5U#,@;D$2S],]#$0W[5-CLL, (\9GPOLUV[+%LDGB]6/@R,$TX=D,O MBAGG/NY-!C)"A;V>,\H49#AJ/:%S-DQ9WDHM'5HR=O"! >(HSA7#PJG(-A , MCF;93FPXP.!01&B"^'FHGAE73J,_<_RH/PZV;;97ZZMN[+':%?=9^29??LXW M^>[[7GR;(BK_S-:+!,>0E 1:4>K0'$0*KKPW MSAYQ';,TF)T#:.@38V;;0O'0YGK- #S0,=H"EEXJ@W Y=!9DIU'FH9VVG'OV MW)E%#HWHZX*&.$$<"2;#URC&3 1LK^DN#T%KZ7&6KJV>!I7R958-"*-10@WK MX(PT3U?BE.G] 11-W1>(@ $94M6KOQ;%^H]\LR';]>OM3G:[7$:AI*JR7<7S M:K4IJL @5+UTZM&/4WLCK<38INP>D M3@O5.6"]6L()B,F!P6FG1>8Q6"WY5DS1IP%7P@]6FOOJIR .>34L3; ;^YRY ML>O%;N+Z86>:\Y@J71PV9T#T:FVWEB.?#5V',6F09<-'W&FSK7>CX7$7(%37T4\70/(/5]4)E=C8: M0"U(O!+WL&G&(.UV;G+#W7I9O(M MKQ:>SX24WR *>/ULE!=1(OIONV&,5401]D7;>E=')M4N7RTWSB_9LIZ7FGK5 MO]7@%+4-2-&P;-EC!ZA(>L2HJ(]T\4AYY.].5><)!V<$18^CZVJ%)N9B3*\ MCO!?LOO/6;E@"252/Y*4NZGK>JZ71GO]B'RD5-$+^LUKC7)>U/DAT'&N2I3B M2+? D:&Q_A(]9D=[R\/0> 8>%;$?NAAAUB$0G%%0"5B3=BVKQPL!^>?O3H/7:0"#(@!I9&-UIC'VLB*9X7]OFQ,10_VWR[OLW9&7="8"Q'$ M;H*3F"-?)(D@/0J2(-#3Z*9M7U5-;YX,Z!HU,$BSUB*C9=5Z8YB45IUVF%I? MSQ&JI[&CFF;V.CO..W6M-<"BJMZ^7^[D J6N8+;ZLBTVQ=WW+D@.A)>X+ BB MB$F-I\*CKMN;B[D+NEJO;<1Z4M3]PR:KWS#9[9'!Q%&?/C45G(0YF-SUD)P# M)N>W%M7$BG:)G 'I&LWG/#1JO!N%X7X&4YU/Y7*=U=I6=69\/_:B&%$I:['O M1B)R(]R;$1C%$+4!?]RRRC1XFID?>%<;SI*:J%@E""8F1]Q<241.R1@0#VW> MYB$:^O +0_T'6@*QS;C\D&WJ&JO/@J1.H+P BS"DW"-.KUMC$*0 M M,Q9M!RT=R%<=RG,GVR^-))M\JVG0]%3#A,D$RY;*#RH0-R!B9HF?A[(9]NE9 M_4#SC*EJ(,^K]OVB^H'U_.[+WEP2)P2G.&(L9*).40AHGZ^:^B2.(+*G;<2R MTAWC)"+@;XCZK-/5<3B'Z,\*,904Z(',.T#0U M: R9:BHT$8\P'=*DT(H2729H0(L,L#H/-3+A2&&\QQD['GR3;[/7N^R^6@@4 MRO"+!''D!@*1E/C4[TT+#X$N]1HQ>-VTBM]JH$Z#U-S1'X#MT>=]=H@VFC^A MQ/'4QWI[WO3.\N"TST/GS+JD?FJGRY)2$,W]$/4 MFTT\Q@WIGIJQ*R<_-""-J9TBOZ.5SCRU9E,9AEF=6M\:-'K:!B-Z]KH&=$== MTW1X,J!G9+5J'^W(UN2^?LC[G^VM7 _[:4B9RV(O)DF"7(]W0(CK"@ZJ?F7! MO&7-.QJ0RS;L6!Z .LLCI,:$3[LA1DOA%&U@5AR/$#M$I3&FULL+E.HIZ-CV MF;VFCG90767-<&E =]]FNP5S4X\AG\3<%03C.*9NT!OU/2Y7S\5NN1FML2JF M0'JZ1Z6CI_T8EJB,::<2F:-UTC2/9C5QB,^IY4]BT9,Z",6SES60,^H2!N=( MN0CTD2*^NSVUN_"#V'.9Z[LT]4DJI#FZ-TIY"GL":IPIR^'?,;KF^>1!*M)V(33' &+ M@'W,[NKSD=?;IGQ^C8!\+AYW71U45E2[=[?=;YI5]R_+\B[?-M7+5L5]1C/Y M[[+VUY^6W[)#@9\@I'$8RX4X%2R582)#:=#4(4RH$)2]E!4Z%YA64R'Z(EB= M=\Z1>T[CW[YR<>VA\^YV__O&2:?UTB%-V<':-Z=UM/]=X^K8 F;7ZR%:M<]^ MB)XRNFS:J[-]9GG<9V[:3E/<'O[@2:]9'GK-9[U> RW 9JMISDP_<^L4LRK[ M=GTVSE>,NSXNX+M8->WY)N\F[G"%=NJV.3K M>D>EK>7$8C^)6.@+C_N!&Z0DW0-+>>0JU5N:$([EI<13#VKEVOO@M$XX/]5N M_-FINW:O@)6S*YQC7_0JUTW1FFIKDIDU)"RJF:H-+;WC-9;Y@970A,TZC]72 ME X_>QYL8JY?FC/66;YXD]TM-V*[RW??FU(5U(]C*DCL!PC'C LO1&%O(4") M4F*$SGM=HF M?W$J:6<\/Z--8_BYKLB,0EZ,[QWJP[[]>%K"+D;T! M6&Y\)^.%.H*@CU6^S:JJ#R@:*4D]PI ?N81+X1"(13%V>YN))Y0*;9JQ9%D M>DR':%ZG2-Y(,M765M/Q"-,,5>;L5/\>(F5@16.&S'DL5@SYRG\C"" : ZD/F[=U^:V1[5U\+28MR>'/D MZ=[(F_UM$I9&C 9N),(8L3AQ493NT2*I91K",CG&B21J[]>-<^19;A; M98?T^0;I&]W[GC&NUC5F-?=L1C?1&\/DBNX=9;_7VXM/#<,$XP)@'W4HQ%FH;8[PW&"04E;8XP8WE6 M:I&U>2$]MOW*'5@\8@27:I/!1#3"]%R/03NU(R[R,R"C!DB=AQ*:<.2T=H0I M;M1?@J_36NIG82NR77_,RJ_Y*JL^%IOU(O0C) +?13YA(O48\1GO#0:^AV#/ MP&N;L:Q'G^HK,LZJRU4KV_P>Z+OO^ARJZ=!$],%TJ,_O:V U^7P],*=&-O5[ M[Y<8&E B [3.0XE,./+LF7=#W"B_\5[GU+41VB*D.([2T(V%Z[LX36/6GY

(&)2$O)^V%*[#Q*?_!_0")T6)J' M)F@A/WTN7MM[]2S6*I,_^T5J#)=S[Z9XJ*,=\>TAVU;9(A(D2(3'69RFBYM!Y)'%UZS\7*BGJ(ZQ!1D#Q[ N8LMO&8J71\ 0A-)1Q&JIAW3,0E3 MDR<4'B%S.FA3YW,.L#28JFF"W7FHD"%?GB58FF-(_21C4^\I29._+,O?LWH_ MJ3=(4,(PI0*'/$UB1$CJ[@U2UQ,PF1IAR+I&==B:\77?HX/N_^OSJ+J%/PF! MT%WX W-[6-?1I*V7;K%QNI$&ROL^W=0'D MY2[_FO56DSC +*1N$'A4N(@Q/Q"]U=2+&4R0QEJSKDH=P&9L+9] !*ZRQM*J MN/*:D$_@:NR(R*?8KJ-4+S UM&XSQ/$\-,N8-Z?K.Z,L 2JH%_V17'M?LK<7 MLXAS))(H$@DBE/EN&O;V1(0H3+?T[5A7K'>[+UGIY VH&V<++; T@D'%@Z]) MJ .>>QUAZB^+_]3!^O/D-=//TS-T[#6:TGEHD0$_GA=,-\*,JOZ(?SS6]VWZ MZ]F,N2SE<1HE+HY]D2;439G'7)_&Q(U3U=QNX%?MC9,6B$8%!3-CXRD/ P-" MD[!YC )=\(613@.])U*L?O^0/_+XJYBS/_9E%=\W.Z\ M!6:,L+I8 >.I&\51(K#?6:>)GX">"#!ETW:.9 W3.>!T.J WS@&JTV*%7B#RF+H,I0DA/007<^!5.H.&)U;'=;,Q MT,%U6KQ."_C&:2%?=>P.DJD^@,VTR2Q'L2'7AH>R2?[,CN>_+3>/V2)R(Q3$ M84A1H% MJ-G*1R06. %W9HF+&O0X?YL ^O&Z8'!Y$>7/S7MF8 ZF/# 6;.B.>=Y&1"< MD43.0VW&.E$8[5S S/'ZJ?=WM[]6[4,%[S[OEOFV?H-%?)-KE^U==GSSMP'T M)E]^SC?Y[OM"1"3AH9N&(?9H@I,H8%&/**94@ H?6\1A6;$:Z*^*VU<2?/NN MA]/#=_*MTSMP4AV@\<'9.P%,3[?9:FH2.)<&@^FDW;:RD_^N3_2 \$[1?/-0 MYTD\/8\+>B-^CWKC6SM 10-CU02Q\QB+1CPIS'<[S;'T8?G'+TL9,>3+ M3?U*75UPH,K*KYD,UKA/0Q&ZOEP0LH"@@*6L-TR2 %2%Q( YRQ'0'N&-(S$Z M>Y#-(XUMB8T6*"S*,<$S4+JFH5A3P;39M:ME%SE3D;3QA,],V0PX=$G@3'$% MUKGZ<<[J2[9NZA@\M'1)\(RQ!5:\^LWA*$F#F(4" M!W6U!D&9R\/.1%2_G YYK1ST89"&Z;Q-WF'1E"@E;H!:9)H6;=&9_%7Q8PI4 M% 3"U,RD @3]DB; _5=Z3+>]0K#AY M">:^CSA!;;5WQ#T?^2_-P29-V1L.W=67.J^MJ>C68G2.0.H]1VN*8\"3LE?@ M6N]96#.D,'E4U[5%AKP/J7-'[F*T>RWR79]7?FP.\?@G1I]F_%[HW79R6)KJ45C\V@HK;G*0AM9O-:I M0?% :&B_V>811T[@Y]E[I?:955^>=L]BGSOJ8*[P7>*3*$))E%*D>F;L+E ZQ^UG\#1Q/>(E-(F%2&*O!Q"1) 1%0^;,V@Y_ M>J3.T?"KP3I/7V:^J:\[K< E-DWRKQC?7(=Z8$!CC'4[ 8PRAT,1B_F&F(R8675&NZ4I(;B7)DD4>Y23Q V[%]BY MP %379J8-6IO]![A;/9RGB"=0^P"(G)@"-MID'F,8DN^/7L:P!Z#1L?RX:I+ M3'V:8HHQ\D/AQ0CS+C4QJ8M*B!3VEHE1TY9CH<%Q#7WGQ"SG!@74#MVV%/1J M-^M@7(X547BC_$ JJN&7G:5([*&->Z>L")U:J)GG368M($)F^)>< -A0*-&<3@/ M)1KGPO!%8!T^=%5%_N/FR7DO$31-"0X"FOI(4"Z7<[TU@BBLPJ"FC:FUI08F M%TT2VDA]42913V)L\#=2952HFT1I.FX 8@-EA MYR(_Q:E'ZLI$.*R?K6-,!"3B*.&@7&]]*]=1GA;<>.U1I5);?2RP:$1_7B)P M*@5J<< T",CI;%4(ZL?+.J3%C*82O=D_*HXXCS#WI=@A5R"7")[B3OA(Y$6@ MP@/:1B9?7=70G ;;.!D"\*BE0G8H'+O44F%O"@W:LZ,N07!"9ZE &FX,"Y N M+TH)X?5IZ]>L_%[VCN%N)A4+G;D:8L1SP] M.J>#!QIX5JA5UK.I6 6+F3ZAMI1L@*IA&3/!\6PTS(@SSP7,'$? J$'^KC4Q M1=&\D;DJ[NNW )O@'*QFYJ@&A6J3LZP7M/4PG1[G5<(T%;)>#MB,4CX;V3/O MV?D@S@)[Z@_W++?K9;E^7Q;KQ]7N[\NR7&YWWQM@RPWK;:<\YMP-"8Y]-_90 M0KR@M^V)$,&>[#%A<2(1_*-#!WU]T BIBIOHD_,)W%'O\#D=0*='Z'00]W'> MU.\=*? VM-=NE/=Y:)YAGYZ];F2>,6#@1XOM8Y6=%UB*7!R[42#2($ N"MP M]0(;^'$(.APT8&XBA?M<0]2*[$9Q"0KHIJ)1+X[KT%TE>AM@YN6@S02M\] M MDPZ=#]',<:7WD,N^S'H M/E*0J]#ZQ&?_7KVS:2KL;PZ[H&->>X&3K"9C$_(+D[!GK[_LL5TI*!MF:D#2 M#%$\#SDSYC$D^=EMMJECYO;?+.ISWI94>VJA1?@D%&*/#=& MGN#U"<7>8,P$4TZ)&&=FHD!KW:!S;@_PFH)MD /_D70JY$E,QZ1>K-4"#U5LY0]/I-%5C:>Y/=R>?N3;;FSLEM_D M7SRT1U5PL5$G4%VCK7"GI\H-E+K>C$UFX,)KA:%Q4OLR4R!I[3U\04S!1,Q' M/N'0SPBFIO_ O<5]79VL6B0DB@GR$?-B-Q$>3V/L[V-I%H *7FA\?B*YO,UD M#UAN&L&L=G6IJ;PM/=7(I=:F(HA$T":B+?[T)/-0H^M*.X='=+R\4ZC#W3R6 MTF,<.+\3J,^%\LY?'7MUQLD:FA?SPS#\Q C4\Z<[NN9Y&AT_OW" M#W$B".5IR+B'?>)Z">OM>;B.?=2?O]&W I(F^%LX_=#*OM7I<9K!C@YYH)C' M,F]ZH<_UU4A'B,8S.@\-,N"'ZDT$(#/ &PCY]NY]LEV'US!H$"H!XTTK8=^>W[K]7*\FIQMZ MJAFF?QX*9]JIPFJ7A2G?V^R/(\-EL96_7&5-'=#S,#R6A E!S1OPB>M%85S7 MZ&M@,(RHTJ&7->.6U?!#5K\4X!S''D] PX31//5J$GE5UF%B*:%>9GL^L@EE M=$! K37./*34GGO%1)T<)J^_5MF[6U'M\OOE+JL6A!(OYA$.(\P##[F,4])K M.$)A!!%/X*SPP*832I"9T%AF"R=@I.?-1KJ<4#>B2)I?S4!U= M\(61_@1\2Z+,UOGN35%5:;Y=;E?Y_39K%J6CYE.&4QUX:>Y&?)%+! M/+&/":D'>E_4J&'+:M-B=6JP-\X>KG/ "QI9$[2#FF!=K0E@67 M4Y?E5BY.J_=9^?'+LLQ.K08N]7P4)2XEL33LAT'L]BM2#R>@,A-C;5E6J;?9 MKL\!E B=!B+P&=2Q9*HITY0\PO2I1W8@<#XZ]0)K VIEBN]Y:)8Q;TX?,S7* MDM)=F*>W)^LK-_LCVH B'*4)#D.:QB%G 8K:]U(1=1E)L,JMCA&?MYA&^/1^ M<'/7#ES><#1[@)L?$[&H=PE$ETVU*R&773^C-J;(FL%%$1->%&:[$"PJVMMI MG@0[:!@-<9RB,/320*I7$D@[O+=&0@RJ1Z-KPW(4U%4=: =" TU_C:9-HUH< M- 6#,''6),]*O'.!G8$X9RR?\XAO1GM1F.UE@'CFX^I+MG[<9,5M8[3Z^/CP ML&G."Y<;MJR^I)OBCQ,4."#(D^L_EH0B1#'R_03W*()4$.7KOQ9L6U:J'G%] MJM5BOG&.43LU;*?&K2UDUEI%(?J\VTC5H$#"?L M4F1LD?H91,PVO2NFZ<#0"+NJLNQ"^:-?EKO'4O[W!$G,1>AQ$K@)QEX<$MQ4 MI6R0>,B/0 \9V+!O/3*O(=\X0Q7">N0&0G<+[:,:UE^W:: AOYU6L;0F %,[ MN%ZPUU!S64M8]/#9.L,VFTIKD'29EW];;AZSM"AVVV*7[;=:!$&N+__GR_^F M(D4!(HCX:<(QXSB*0Y6@5O_K]D9PC?3[=]_5=(03F01JCA",:I5[B2ILH M$8C1- "]037.DF7-.@+GU.A&KRE'\JJF6=-1"M.L,6S:R4X>(FI L\P0/ _- M,N3+:<*Q0894-8MG9?Y5!NM?LT-N39A&!O7!Y0']T=: O.=L"= _*C<.-JA3Y& MT#PPJJ=HO'F,^4D\+:8?&@;TXJ_+?%O?DZ#?.V ?LDVS 5!]R1_H]S8Y]F-= M5;3^\3=U0\J_I-_/?>Q#7OW>*-_""UV_/BA/78_X H5>+%#O0.3YH,*K,X)M M.?HZKTLW3NVL\U/M[I^[$ (8A8;*^Q#IZ?K=H$9 MSV97)D9E\IM#VXV9*VN;Y%M>+0(/$98&3 ;S;B H93A*.Y,QP@*4$CK*T#7F M(QD$2V@&)B!U.O6G#"M,&A#YETB<3-5[@H Z#.9UOLH)=T5!ZS3Y@:L3*[;- MDN&3_/>\N)<**P61>4&J@10].I4P_.^:V%IJU. M.G1"U&K4C=!! M(/<_AA)"G0)JH19GJFK8G9KRK,KOM@?I)9AQDB1$! Q[PA6$I%YO+(Y@!6HT M35A6NSXI[PB65FRG2Z":EDW '4R[-&BSHE3GB1E0II%,SD.)QCI1&.U=8Y6F M$S9.J)^C%Q(QX3WILCG@NZ"*%MY!IJHQ5+Z=.HJS@6@.5>)CRZ1 M ](=()]S51ZH&R]JCQ8O]O*4&RE,I19&./8)$2[V.78CM]]\0R+FH%6@)0@3 M*=,]Y[3 M\W+ -X+2>2B8 3_.AWRCF3$2\[W)M]GK778OE[LI<:E'(HPCE 1I0'RO/V9 M":.@]:_ITHSDX__/0 M/M-.0:(U77=[?[!L_=9>5N4]_(W1Y4(TAJ;#"(] MSI.(!T@NTOW1RT=F1!E"LTJ9HXS[LU+>CXE6NQ&.=[0/BOU[;S MF".NZ'\QEU$&J0>:;_-=MI'0UOEV)P=67=9F6579KJKVQ:27]T6YR__9+ ^R M;P_9MLK:"[D,I4F4Q)[OQH1'$AZ+"&,D\1(B= WRG MQ7_C5$<5VH]]<#HG8(4>IFBVX6ED9BT&FR_^]VLL2''9V32:9@%:VXVG6*IV M#(UGYNX)VV8.)6^G<;28O-]#RU!6>L7$0DEE-YS"EG$7?C M2*XPD\Y.C!$+%U^S\G.A7GP2^GW(^#V&HCQ\FX>SY- LLZ_9]A'X^JH&7VJK M(;M$P6:GGJ$&C?-;BV?RRI$G? RL-O2YF\=J803^9U4AQS&AG"??OR @6HGJ MC,6)3[TH\#A+$Y^CB'BLUZBXODD)RHO7,V$YRCZ\P"'ZR?REX6&40#4QF8 [ MF*)HT&8GA_TL,0/2,I+)>>C+6"=.<])-<&)U7^"P38Z(%X8^JA]_#CP)(W5Y MT(-R<1I8WQM0AS+[_0'PH=]4;6AQH\!.\TV]63#;EIM@U\!."^KM'!PWA'-; ME,X/OI4P= 8\<:/]P%L*&LZ:V%;0Y5CY59X&UYL:U^L]+M+@(D=HNB#B0U8G M^\CFJ8\?JM5R\[^R9;F0;8"88*D;>:&?XL3WPG[UDO T8J"W>R; 8WD.WX.J M]: >QL#W?*9H$;45RMP:0VM&;N [!_P.Z63[V(5^Q7/C/&F]U@^G=F3B9X3& M,S^P7IJR7>>QN)K4X].'BR9GVX[XUT ^_5'()22B+ QX3'R7AG'D12CJL5 > M@&X6VT%@6>"EIGLV-5V9:!LJ;H/C*72[QNU(X'/6Z8Y;8\H,;:L?48O!/HY2 M7SU&+>JM[*S9 H7$#\+0"SF.!1%U/@_OT6",(\N*JX3!ON;ZUC57C6QKJFN< MY^ETMX8^>^6M09K57E"+_;#J"_-RO/YJL&I/@5,Y7!9^&*3(\Q'#"",4(#<( M^KV7Q*PK;]J5-N27^,L3Z:^-?*YBV^-T:CV@IKK1Y5>F).C ME5>#4XO"*W]VP:,PH($OQ9^Y,?4\WW=Q#T:$'%2_UA($^\(;6A=>):JM":]I MEJ<37OEO9B^\\F?-"B^DN7Y8X04Y.5YXX9S:$5YR*R5JCX@%/N$BP:Y+0AJR MF+.TC\'E#!&!GF6QB<.R!'_ZDI79LD9D4XB!U-M08WNL3R')30O]&,+\A&AC MZJS7?#^B1&MZ.DJGQ[ [-H_R]G'W*"7H"-2NV"TWBX2EH1MCQID@B1]3G"*_ M1Q$QJE3RP8EL5FWS=_(9L MU^]E1^Y[^%&5@GWE@HI\KIH7)Q=N0I$?1BF+:!KX?D#=4+0U"@0B7'FK=QHP M]E3W&/^-\\0#9[E=.\<^M$EIG1>'E\4JY[?>D:GOZI@@?R "GK9QYQ$+3^SS MZ<6A*S"NJCMOE[7*O;OM+C=)=(LH]A/BB<3U!1=F0.9& M$#D/S1KC0&&L4VG>CWXC@ZCL0W[W9??N]M>JW0)8$!($,6%>Y(51B!B+9.34 MVI315!*EL!(+XVQ!!HU6N87#U=\ZH,RN#*N*+_SO%IMBDJ&9T>5 M)E,_KA=Y7AI[=3$)0KRD,TF"- 0]L#/*D&7MV6.#2 M2&VJU,(NFRS!I!U D.47MBY591_+V3QB)&WT%Q_'TF'A)86HRMU";+/R[GOS M "H5+J=^[%*1) @S$3)/]!_'8<)5A 'X2M/?3XSQ#5)N>[(U@5=C.H(T''ZG\&,.)7!3YS$/8 MB^/^\_)OE.J2@S\ZT5@&O1T,9T9U/%L@16]$FW@+&#"F+S[YJTW-7,8U%/:S MD:WEMVH4_[=EF=4OT"@4J'@CUL> MZST>IP8$FK[UZ5(+Y:TR!1, $$E6HOE3,@;">6W>YA'/Z\,O#/4??;7H9"E! M7L*3P!=1ZJ(D1H%']H9P(D"'RQJ?GU8Q0$'"&-+@JF&!KU&Z82)^&*4<%R,* M ^S-3SV@#@SHAQ87\%W#PT[EA[SZO1$M%[E^$GE1@GT2ND$4HM#K348H);"$ MWE&F(.-$*Y_W@.[&^?S=Z5+CKS'=#O&DM),V@MYY#"0SKB@\0*_)C^K@>E]4 M>7,/J#9!0M]->23Y2.K\5N[&F'?O"[LB<$$E24$?MCPE]UBTXG<80VJSL#5R M8/.O*B]6-.28@P'-T*)J'AJA![TPT%7T-*";Q7F<B.Q MZX%.Y8"?GDP'M*)R*$\P+;! D:X:7"40?\J#@B( "9N7)D#!7U %+0[@@?>; M_8-%C(4I8C&-!4EB-W4##X5[!<(\U#NR5__^A,?V;Z!/MXWB34TL;%,&4PPH M6Y;7(F\&WD0S0> \%&24!Q<7'+IL*&=W=XE'[V[9LOJ2;HH__B-;WV75Z^UJ M\[BN:W61U>KQ_G&SW&7K=[LO63D,-S"'7[AKS MF(>NSL)IPOZU\6C.AV<3<8_N&!#B83\0H9\(@N3ZWXWWTW&24- %<&-&)YRQ M+B6@&YM]QO(/G4XFI%Y_?AC/NF6M'V912;P--<3EE/9,6V&:%R[&K> M:3?',%01)R177Q'W(&^<#N:,U'"8024U--0([ M]*AI7G6-LS30.&K73>&,G1%/V]S/X!*J3>^*:7JPQJ7[=[=U)/78E\(]@226 MY3;?WE7OFYV#^V+;X&IOPZ6$)=PC28AHP +&_3A,6E"!CQ.DM T]$92IUN[O M;ITC%^K?/E?BWH]FJ+>>]",>[_ADVG4:AA'DTXLH2# MW::$U7C0)O32'#Q=2\U@2I[0V7,5(Z;BV/J$?3CICD/"0XH8\Q@G& D7X;@# M%G@>5=TI7:5?[\_J; M@5RM*S3;#SZ_:SAL:H[7Y5KUX.?O65U_/5N3KUFYO,O>/MY_SLIWMXWMZMWC MKMHMMVL)JP&[H#X6@9\F%#.""!(TB=T.0\AX(F#7PAISX= 3 X< M$MEID7F<%%GRK9BB3QL0TD[:GP$AZ_]\K'9UD++P0X18?:O 2]+$9S[RA-^C M"3T/E/%O"X/M6P$UPCH7)KN]S5:[>HAG]P^;XGLF-797K'YWBH?V9:KZ)$-^ M:%?FJUH:6@$V(+HFVFF$_$[<1&:$N(^%GZNQ<\ ] T5^F5RH-AMLKAFKM$DO M5?3:.*LC0^!+>!:1QWV*W"A-44 1#P6-^T \]#'U%\TKLJ-"8&W;(*7>PX0I MM1SS?TP4"NNWP:A@>!+ZK8;#G0&=6EALB$55>3W: MUVA,MD%X%";"#5*2N@&/(H0\3'AG*\(LX;"=!#T;UG<,VHW#O$VW>9"CM9%) MF#)JTJ>F?_9Y@ZGLBT\=D9F5&F40]H;'!WGBIN4K4=($:@-Q MR9RGX("]>$%R]%A1%1VRW>7K;M_J8[9Z+/-=GE7B6WL9,I7>/CGK.05'[HM' MN:#U<$HIKZ&%0>I1P5R,>VP>1Z!2G=,@LKP5>.R$<_#"Z=UPZG[TY'Q6+H#. M#>76'9@&3M2F:HHYO^:$Z>M4+6E%DXV0/Z#@TS;N//1^8I^+:PXGV%SRUZ)8 M_Y%O-F2[?KV5B_&[_/.F?0V].OK[D$G# ML&G+LT./]J:KFW& [+28FP.B]N_:/X!- *8;0DWIK]@&,$GO@38L/^=^%F]X MPL@;9>:GM7'1^]NTWR[W*[RY69?];._]42P'_FI MM"07"6DJ$/5YS#SF^BSU:/XM-'X/H32([B0M(>+\ 581LF7$MDGO(PM#C3(VP>PJ$+_G2Y-(8# MF!ATA1WVM@1+&1UNA'R.X)D M6):&OK[)L@'WKSH: >8, M(A4VZ=)1C*.*,%>5CA->7E0071[G)"3:/IS5DW&,J,I*79]0KCCJ_XA_/.9? MEYOF[>T=6Y;E]WQ[][?EYC%;^#%F.,4!$A@%G OA>F%G.T"$@"K;FK%H6W;J MFJ3URGU5_R([X(0)D"%VU01I>F)A K7GM/G%$<0;9[ES>I1. W-:R5)B;D#" MS#(_#TDS[%-ALZ\"(ZFORWQ3WP9/B_*C-'S8X>XD=^$F21KZ*0V$SQ(1$+\6 MVLYNY,4>**H:;R???LW:[&&@SAF@5#'HFI1-8 #68WMU M6Y2O*HGNZ"AO'Y=-'(R]Q-=08&:,ZWDHFD%_3@,VPTPI*]EJ59^T51^R528U M5 )XF^UZDTFY,B8K#MHC&&;&\>==B<<@_NQMEF4P^T M 8:&QI@)8FA.![V'( M( )]V/*@>;DNKY51HT />F&@I\!Z>7/N_V2C82'-^$$0^8Q1 M05(>Q@3UQQ1LB5HM;G M? R(Q0CRYB$98QPHC'6D$:<1"Y:B"%&/RX_*]7D4>T+T)QXA)A1!+GG"O@P2 M#?@5SD_U/QDE&D"B-(X>C'(TZLCABN<,JN<+RF3-0QHTL0^=)P 94'ZWMRP> MLG+W_;WL(#NR7=>[>@_U3E(=PB"6$+\^"\4D9CAP!0JBWF0@/- IY2A#EF., M'ENSRYWUP(97HQ;85!.1R8B$:4H/Z\9I@#54B@.5;Z=>V _1-* Z1MB=APB9 M<>7TT6!S_"@O>:3!Y2[?WKW)EE7VH;[N_>[VUZK-L5PD/L+^/\R), M M!S6"/,6!Y?/3)GM_RFM608PZ#:U#\1>;")?\];]^**A+7?A9A\UK_,T( @ M&:!U'FIDPI%GKWL;X@9Z3VSAN6'HIF%,B1=QS/R$NK3_/*.P5[F5/VI98WH< M>C>V7J9$34:LL $3C1>)L'IO:D +P-S,8^3#85^XQ03T6W54I_DVWV5O\J_9 MLTM2M92(*$U=E**(1X2ZOLN#(.B->O(O855,1AJ#]'JM8B9'MPJ7W40Y^;GW M,$<# \00N?,8-J:<*:QT0.V3P;?2^V[7,&6!7!($B'!6USD+@HCXO:TH9J"G MO_4L3'(^./)<$$(8^&C0$E=C3@;UI]?BXXWS07 A M?B'TC7#8N[=_$Q\^O:Y__?Z#2,4'^9?.QT_OV/_MD+?=K_[CW1LN/GS\KX[X M?WY]_>E_P;3$7+.HJ(N^]7NQ*IRMB F!DG?1YR9]ZMPG)G MU9;,T_N<:9B$* @%QZF'_ A%8?-<56/0IVFB*9)0,Y9EL;^-O#D@!%[B'D,A M6-!LLJ_TWV9(37)TJ5U=B*E[PB'RW)2XG;$XC6"969HF+ O0_GK00PL+N$[3I$UQW6:?,> ZKB>K0W2M MU,ZSO PM]<81.0^9&>O$A:M3HS@!R$OYF*V?R]J"DC#!L0A=Y.' QT@PX>_M MA9P!%4;3BGV1J8$YV;>';%L-O+)F:[B-$6:@"5,? MLJ_9]C%;1$&01 EA*.013WG,7'<_0#GU0/=VH=^>*C6J;/&T%58>JUUQ7Y^] MK+\N99MK9DLITZ"_K; M"@N*>.3&$1>IYR5NP'$D^FS..(FQ!SE=T?C\)";"6/W$E[F37FNWTCY-;$=H28X!7-<69EE*8 !W8;,#=.'MX5\P9>8FOH?P1 M8US/0[ ,^C-XY60\4]K73HZ$M+E2YOII2&DB S O]FO;$>JMQB@"Y:^-M375 M*JN^@**M8Z,)A:VSIN!2<]UU=!_E26!U_4LI3[E26)N-97D>ZF7,FY?NJ(QB M"91O>VSI6"II'*0AIP*G,4XB+Z#I7BH#5X"3;O7,V Z]FI323;&]>]54H=0/ MO48PJ1AS34,B,-AJ^'LJ3=?,RSW+SU!P-9[4>>B2"4?.I>F:X$9C9^G(5L1# MN0@E.! B]/R4XS3MBP@E'@I=S<])F1$-?%FD8,.8'0>BA5) X28*D3[E+7.1S355Y\;O3:(D! M!7F9(;!N&"5'6RVNIA!JNJ!,TNS40!WY90T >J_\TDAQ?Y^WQ>7KRO_%MMXE MRK:KVJ)'6/'\DKG"%I[]'T,SOGI;;'+ M',_[,_"-D3&\JNG'5)3"].24S2>X)GY Y#)! XIC@M9Y*) 13TZ?"#'&CGH- MPVX#J+DFT#U!XF(W(2YF'.'4Q\SU:+_G(Z,C!,K&T?F^947:0W*J&M.-$]VX MKNM4]3/>5]5CMIZZ>N$S9@8$:0R/\Q"B41X\*U$XE@U(:%1LC\P@A/UZ MF[E^\L@50>K)A5AO)@PBV'MKT(]/$ 05VUYO_D_W+Z[G/"Q+YVL[2CS7/2]! M_\WQDQN4Q(T4^>@FB/S^A_)F9#5_<21/-X[\NX=LMH4TY>B)BTZ)N'.NG#/Q,;C>!!.:M_O6[>N5YNWB_S]>LM6S[D MN^7FR/H""^$)S FK[Q+0$/ET?YT I9B!DH0,F+.L70>$4K+R]:M\ZZQ:D,!K M10:(51._CT OB MO>&0AR%$UPR8LZQK/4(GZR#"Y,P$GVIR-C&5,#G;L]BC]H29=0.KG0YE]R;:57/BTN4QOBJK.8'IW M^VGY;<$"WPT3&29&$0U0A./ [S?/D 0(6ER:MFT[?CL:CD7[(-@Q8!F U(C! M5\3-TJ\8V%V1>6"4=T1ZFZOT!&N?7_E3#??/35JE4]S6Z9:3WZ*%$#H4 UIJ MFGE(J#7OGM_#M-3T%60?G'4SGMP:H4R-U&JB7 MZ]+9)%Q-UJ;G&J9M1FBV<_%,A;D!V3/+_#RTS[!/IU?1+#"FO.19?W[LE@_KG9_7Y;EP(C$#AV"4-%"0>#N(&1E*7D:>@,T#C MQJWO*.WRKW5MX0]9N\.Q*QRY6G5ZV$Y33@IZ/FB^"=0D\JKLP]2RAUKK9 ?V M0/H>[M6E$\KHT/+65N/,0U#MN7>Z-+;+HZK,MEM8'W=2->Z/Z[]BDB*$A&"Q MY_M^&.-ZF9Z$/&0"<8Q4]X=U/V]OQ';[O'M(5ZMF?(&:@:$WELQYC+#17A1F MNYC:>*G*W:(;J._*CUGY-5]EY%M>+5CD"M_S/2Q(0GS&4!"SWHR;ADKG6-H? MMQQ6]#-:OJ0H\G>G:G*)BC,R M,IJUZ^K'>/B%H=X#5HQF^Z@U5/'B?IEO%S'AKDO]T/,BCZ6!-)S@WI87N@0J"PAEKDSH",OT69:29XS,BPG(QB&YL(QF1#V) ML-F2J19!)+]/4QPSDB8B\9F,=O;B%4>@AUR4/VH](7"XUO!(1M26,%;(@(E" M#V'JG+W6ZF!F'I";>2Q!X+"?9=EI^?W2H,[+S[L%*ZI=C%-":8XB3UD=?;";#@*J-;_^N6AWF-J=Y ZU#U==G5AOT(SH;'_S1TP83@ M6DRMB]5CO;ANS@&NS-@3+-:8.U'4VC6IDS4*'S4J>='9,W(YGICKZJ8!_(6I M+@*]TUKMWMW^M2C6QQ'9QV*S)O=%NE+8%.%JL=D5N(8+]HUS#&;J6ZTJ M! U$>(89GD?\9]JI9_=B+7 V7O$6B*.(Q['461I3+Q(8B[@W&*:!#\F!'&%F MDNS'53?? ^=YVZ-.:Z0I,SKWT:7NB/*( G*C.HK^6A95];XL;O/=PD4L03X/ M0XJBV&-IB$+>6Q!1 AHVD.]:'B<-E#H>EEBF'1Y') R,!QVJYC$ M) 7XSL* M=.>PRN3/?I$#BDN1W!0/]:I*M&\'+G"$W,#C/DU$D"8^0930WF;J>J"7"L99 MLK['V()K=MS7!WA3[[4-4#2X 6>"VGD,&T.^/-NJ,\>0R=-_K(L M?\_JDG&]P?J[J1L$@M* NBR-W<.&89 B4(W)$68L#ZH.63.F[GML$Z>\721G M*+EM/*/S&$LF'#E-6#/%C7(,EFVSM+TC, M R](0X)(VEM%@0"=>(VU97D\=?":\;1\ G#BR&V8IJ%HSA#!\QA>QKPYC?J, MLJ1TW'2\)5'WV:>L=BR1.$\Q3&K-ZU@Q=[@=);SY!(58^ MA3)I] ?;*#5/NL(QUK7XAFV6GE)]P.FT0)OG'0Y0KT4XX#3L6L3K'9(9:P"U MTS, .9<.U6SP.X.S-BMN%9;[I>;+K]W<5BVH#"(#C@1%+,4(,0^'^X1MCPM0 M10OXUR?9E2[V+Y)F'2[-9UW525,[2+/+%VP:.#S;*EXBR>X3K;WY@;!6G[=Y M!+(C\%]Z"2A-B!ONUY],Q*#-2IWO6PY!#P/B MITU=G4JK0)@6;T#QL$29KGP\*>EU)0TY4**B(AH$SDQ'_K_NSK;';5Q-T]_G M5PA88+<;J-Z52(DB=X$!*%(\D]ETDDURYF"V/QBNLI)XC\O*L>QT:G[]DGJQ MG2J_\%569H'93JK[U',_-\6+#RF*M,G@'$FLW=!EB:QSZA^##1/M),<0YBBG M)1 H%R@E/;Q6 &XUGY+]RBAN=(>@_=+7XH,6+F+UF-?*7S6H0M]QMW5:?0< M#WG4OI\WFT^(53<5,KONBIR=C-WWXWK=%-6G>E/M+S2NFO+[=C.7UB[7\\W3 MJVWUV%[Y)_^7TKE5*UL^SE6SG1&8Q(@7*2 \BT&2%)BF@V*0%,1D3G!+G8%G M%]T0UW?@Z+Y-8_C;5B5B5BO3#5AP&\D_3HL5]D,(Q8F MF@P!8?VSPK>4-"Q=1;_TJD:>?Y[QYBI![=V<$OTCU?9HSENB MG+.DX#@E29X5!2N+?8R\*)E)[6OVFP-7J^IL=;V5K#"SS6,O+LTPK3R;1C^P MU/Y\)NG@@.XS/UQ4\:[:?%#WZ!7S9ODP0[$,E@A8"L A$C!+L_U,E>/2Z.(; MNPB!1]E6Q+C/_4D?+CS_;KY-HQ\XYE#[?)+<^@5?KG;;:C%+<\QQ3O)"7?[) M$"QADNWKW3S1VH/C&B-PW^AEW+9W]"(,^H>I>]/L(<997.DC=J[H]I*_5%]MWGYJ(S=O#[>P=CT5@"(1/*5IPDL2IW+&N-_MS6%2 M,).^XS?R?[[1QLB?"[TLC,_3Z'N!%*]]-,>#B^DS/(BY@)A 1+&@8Q= M%"4<5""6E!YZJG7L_XRCGZ%'YOW5V>U)]UCW[/3ZK"<7M3:&\WX+Z?!/&:E< M;Y?;IU?K3_7FL5VWW1^VB@!&<2YK8$AH3AF%<=(=3DS2+ %(:Y.RUX#A%OD& M>=&1SJ@3&ATIU3E7.+3I!AN5;V:^W4YECXV@MU?9Q)\3= SG\01V*X?)JP[] M=.JQ<%$M]^&/HK6'L\^2G$K,8I$A@4LJY PG(4,H5,9:$PJG *%KD:&;_="G M6FF:5'.S[_*H,9ISE@.$B6DGJKIF*.N:ZN&_?ZZ__0^9;U?1R3\\+^0N>7&" M1UZLNRUZ_*10>WR4]('R EZOE^NJ?ODV4D \W88NN=#[R<-^0,8#PX>'O$^$BB]OI4 MF=4&BYXM^$>+= M$LO"XZ(;/BL-%>A*=6'DR>V[NYWL$U6$1=XF7?K_[.8;V6%63^^KK_5F.XL3 M3+!,%I<,% G#64[V\" %T/H$RN7WC]71][JB3IAYIS=V3K__AS3-$@7:?OG$ MPC,?KA#"UK7IP,(Z@Q/<<'/#J"K8S-?-4M4@?2@8\S25T6),."H2=>PR&T)1 MD6I//:P#C%8M[(594\3ZXMG3ERK-6R-FPY*[%,X58.X M^:&_DL%DL,U\]6J]J+[_[^IIEI".L M7_2JHE96)'69+EP8FZ:[9A'2+ZOE"GVK_*U3/#/AXA*%K6&WQX:C_A<+$VY. MZ -#+%?]2^U9P>7O1%!.CK(LS?,X5:?-]"'R.#9DA<$O'@<32E#4*3(%A(E) MNFP(Y(\5%G2L\0>$0^8766!AT%0P8"/]!0&L\]?O_.^KS^W)ANOMF_EC-8," M)B K6 F3/&<$;#\-?/@X$#J(BI1YG6!G?W*..@2WT/_Z,\RPF1M9FZI!K#1RM& MF5OH#TQG3+F()%8,B/,SH HH_5>J&6@<5J_GF&$I*(#.:"8)$* M4! MN%N$<:J*7M+=\(=(B8O>KHUG058FZE84H?VSJB;,K?-739PPY&(EX6+@[4'B M(8<7%82[(\: 8?*/;S <2JS=, 9)N^[R M=O-N4W];RGQG'!/ U?[86,8H 1(#!M2<,9S.YJ8!AD9*?L%QD&@)5>,O32$ M2T@;W0BC[Z!WS#PS18K_+K^VZ[U)*?&6 M$0!RQ!'-&90_&((55'\YQ"'$R-CIQ$52G=6[(CL7#9$3SD WX.AZYQTW/QBB M QL[!R>&&LLDSH'&Q1,=S*CRB6ZJ>?Y+O1YVPZDST4#,B4BSDG"1%P(D0X@<"ZVCWZU^<>#.W>J)6D'&KV7- M3;K>R8/Z8];1#:SQT=F?9WZFPUL;=/M.;R^]]O" Z'?^#]7#;B/YDH#[C\OM MJIH5.2]P!G":,93"HL E'99%2$'U7ZH8_^+ G;\5H:[Z3< O][]&@SQ] I@[ M=9T 04TR(X"I/SXP\#S],QBP=NGV&+"77GMX2O0Q\'$S5Z64& $.;?([XQPY<&?6MS+H]%MSD MGQC]'7PP.2M#+!LYZ?CW:KX1\B?-K ,Q A!1J$H*2E3#M ^$C,_*L/T]P=& MQ?[8ATY7I(1%K3+SDS*,K;M.C#%<,X.&A6$^S\EX9L09=KC:=GM\.&=PXI , M-S?,(?*NVBSK11>+,\*3/"Y)R5B6((9+,+SR)#&!VML?[".,#)).FAM*C PT MA4DH[]QPHF6;?Z $:T7C[O-Y@>"E>L%GV^K&< $ M((QB1$%1)C@A10[[4)1B"K5?0MH&"/U"LM/UPV@KI45*F\'K26O[-%Y5CN&< MX6M+&].\O,0\X\6Y%YJNUMT>*>XIU!X?)=,-4Q^^5*L5JQ^_SM=/,D@"$\*2 M#/,RIFE6IL6P\$)!J7?CM>6O'F>#5"LIZC69[HHRL^HZ-@*[9 8,(X/\;7TZ MSO[BEBT*$D>R^HEBSDDLLG)H,&.S4 MOR2#@POZ:"@?J\WGY?KS7S;UG]LO XAB)B#E A! DBSC%.=HV(Y%U:=I9HBP MBS$.*@9M42?.MHZPM%&7'>$=M&*(J7G^8'+2D(M0<;-P*G!QS.(%9'RX8G#, M<#<3Z@XS5N^&M_/MKIEE2 B'"B ,3QNV"S(.;H8Y_%Y= MU,DS/GO8TDE=X(Q@HA5QC/WS>"#Q24LN,L?1Q:E QS6-EZ<4^_#%Y"A"V6'G M#]OEMXK/M_,^^@PB&N<)+S 3,4A! O-L.-2#,I!FIF<06@49!SM'XM1RX7SH M1^8'#MHYJ8N=$4RTPHZQ?SZ/%3QER47L.+HX%>RXIG'B!$$/OIB=D;YA\VWU MN=X\S4H&"Y1F6+ X :+(,< #W(I8"C _)EW_=X\#F593-(BR.2S=P"U=HH0S MR@HDFA[Y/35]G_]%:M@Y-1586*H_>7RZK0L&$Z'Z\5$=8EH__/W#E[E\;-[N MMHVZ%5L60S/.,2&B0(R3#*:0XHTEK%V$R5;3SU.F"X8='G:Y,/9J8#)3S(OIU#^/+J&K5WSV^?Y M_.NL#?:E7DG+FO(?.RGB3;VM^+)Y6-7-;E-]K+YO"YG\WV<$IP6,08FA2"C, M!(4(M_'S$K,4I3H$\Q\U,,R.A?ZWJ),:*:W106STAY(;M7HU+\H.X/YEPMW6 M>#/8^?/\!/8&ZGV:-_>MRMZ9#GW5:ML,/WG.0&,+3^ P7#/S(QR_>]O0>W7CQH.<:Y8L8VF:%B N18IP26-.\4OE)"BDA +<,NI#Q M"=KX\.>V7/&20>WO:3&KK5B];G_];KYZ>[]:?NZ>9HZQ2"E-29)G @%&DH(. ML6B"M';JN$4(7#,=B8H.JLP*(TOK](J@\*Z9H=;0L"!5S4E/+E0P;AY.HUIQ MS*'V^529SMKFVTH-26\_L7GS1:SJ/P\P(U26.#E4Y0^F11DG!4(L3WG*,,XA MNW:FEY<8(6<'O2QU (@2%K7*+(977].!\S9=G %X<'<:W+5^^[52UU.M/U/UDFFY758'(:F,CH@ &>,@90C@ M.-\+@01J71@5,'SH@5[UOD]M[U-/150/4J/Y7NO_-!OW0[2!'NYN;+\9!*78 MCGV#W.C^*?I%*8Z6ZU^CO>CHH/IF@#0W]@(V [;2-& :,L%ZM"?>#+QT\?]V MS5;!OOE8OZ^44^J^XVJK;@=\K%[7C?RYJ51 $ \(X)3%#->]E()30JM M(U]O*C PO(]RBK9UM!FRBM:2+;^L9$J_2I:H]-2_5C]\4,#Y>@0<#[R_3=/K MC0B3;W6S,>-9@^\3BM1@TJ44_?*Z;7?YKW^6T25$(UT8?V[Z3$QCA+JM!?6$ M^JC9*,>KKQ*RRW990/YY5:D_T/6"/JK]LO_1+1?@$@)0EAE-",*0%R6C8 A- M2F@T:GD)&'@4.M88S=>+:'XDSFPH\>.OWM PNK5FJ#^6=Q?M!;8&4QV#@Z!: MQ[0+Z/7J^310ZC>E.N S:H:ZO\R7:X7>M^L/\U7U]M/^@T9) !@$AHI2S MB 2@I ]'*4VT]LLZ!PF,-*5K**1DG^/+YFO=+-O^5W\R_'[9W5 ]GHWBI1G# M'&T,0K!S-EV@EK.STR"5>QJUYR?.C$B'O M\;TV8YD7FX,03,"L:&^2YE.#5ZBV498HQMO+_=*UG1PY$NP]VZEO9IOF\/[YSA MFW8EJ#?MW?RI?>=.-QMUL+/Z\UWT1O8GM4Q8?E=RC8ZK\_#>_:1=E]ZXN_D[ M#3:Y)O'\+;L/3PQJL$TE8_&J^^K*_IE4*C>;45[K_OZK)4Y>OUUW;G+]9='YZ?!.,\Y MO:R_O#NF2\"WVR_5IA\UNVC]T#DC&1(8,Z+.YQ$QR5+!]_5>SC&SH)Y]L'%( MU^HS@YJ#?WH@"^R9W8<82M.^UAJFDKVN7\?%U5E_+B#*W=-I8,E#'K7OI\VU M -N_!67SK\OM?+5_!1J+G)=?WRU6WX>&__A<,$O"_HE]VJIKH?J5KB6;?'+9UVB@M MX:58.^PZZ:7>;,N)OHM&A9MS4TP#DR$2NUK">?+.'J3TX:'>K;?-^^JA6GZ; MWZ^J64)%7$ BY] "28SG.67#7LDB$9![FXO?7+1X)A"]M,T*@@^M3A9]+2E>QY^R7/?#4RXJUM'JI)LM0")9Q MG@"1,( YSXILB"F#E@/I;"%G$LN";J:O3#LQFF>A>7+0EF/>K?,)L"-QMP;7 MD10C8MGX.U546>5RE5'V#CE,:]7$^K##MYW S8J<%#(29VD*6%8@ !.Q#UXB M[DHIJZ#!<=6M'CWT)RQWIV>MCX??1IQV>FQ)J8GO#.; ME+J8/U70N25U?3+J[IG[1/3=_*FM!T$)!4Q(EJN+#;.2X>2 W!S%6N=A^XL6 M>/UN/R/ZVNGQ->/4-M-UNAG"1[]SS7=7G!UYHMG+L9IEFIH]59Q9YZ,]O[1S MRK%^D\$W.UGN'-;<9QDO&8> ,2ICIYC*4C(?XL=):71TDK^HX:&F%$55]VZH M>Q-1M^7&T?L(+S6=C>5.95U@MSU6=D,KO-:P?,SB[J6#YO6=0RM,E8G.>>E5 M><[.^3^;9L9X7&*.08Q*)N(L)B+I-^^1)$_51PSU=K[2@Z3'L$:4W"O4[KQO M= \H"'4>S77?]4AY(\O-4&EQ_LQ4#YVY@,L 33$-7H9(S/IP&4/O'(G9?61Q M^KM_)"2Z09X!0"@F4A3"R2"DH$GBX30OE_"A-[\\.\UK.4CU?IJ74QLX470L M^[W2="]Z"N>MF!MK#E@?K31IT'I)4 ^X_KS4!6__J5#SL:8/_]@M-Y64)*F_ M?7HG'_HM72_4-V]?U7\R R5FD$&:TKQ,49X(D>!! *4ILM@BXS'Z2!ME%HOV MJ_9&?=;^M1?;SO&K0:D9='WZKP?;L3VW@NP@4AUNUG>A/] M,HAMIPJ_]FNDIPK5VT!4TTX-DOINF&GAU'MV9Y@:QD7KBG0X;*9J9-7<'3#> M_YO%# %<0EK" F$F.,( <#9(2+/+MH/?]T+EW%_*Z\Y= M:K]"5E5JN\XZ[W4[%J=.36%9GH[5"NX%ZD'I77M,ZW#E ;UF_C@EZ@4C38I4 M'^TQ+:[Z3>U:H>K//VNBTF_SY4KM$9"D5P=Z?:@>=IN.Z3D##$.2$XPA!Z@4 M(A^6=P$E&7("JD/U\M.N[0]1LNKT9:X',EC=UKNA?XFA[#? M&BDU.FB],2K/FVA"2@]-,5%0^LCL&B>]N:>-R:.:MSOFL-LUT,Y/3]6_(!$, M(T19 7+!!"4T'59D >>T,&*E[^"A@7D\I8R48D7.?O=-*_K.;(8Y4I-H4O66 MK6&(5M\-$8:PAH9>PFRHMID(:X.E]QRX87VTI2Y=+WZ?;Q7IG]Y^NC &I'$" MTQ(G-%67@ I>Q)D8U& 4&QU.'4I#8 8K-=T&T\=.[=*U?@W5%G;4O44S.,-7 M-<>@6C4&K^ZW1X7MW8FZ][8HUG39@,B^VVV:8/:>Y14^AW'5_P:MF4AI@F(6 MYPS%69$*+/"^.H\1A!ZVM-J$'6M+ZZ[;"71R1U:H#5G7/=ZZ\K+;2KLIIL'1$(E9[ZXR],Z1EF*YGJ\?3F_O$I22+!$"0 (0*TH!Z/YE M6DH0]K"=U27\R-M9/PU2O6]G=6H#)XJ.9;]7FNY%3W@[ZP5CS0'KHY4F#5HO M">H!UY^75JL)ZAH!M1VL40?+,08!*GF1 MOZ[JIZJ*&B4P^JH4.BP%&!AI,=,/XZ'31+YU[=U%U\+/S?>^Z$Z]S8VZ'K#_.O_]MN?WRI5XM)/C4]/STK0UIP6%>BBP7!:-E M3K,DW;_JAQ38W)P03,LX&T-?[>]0B/X\J%:G@SSVIR'5ZH)$69BH?QW)W[3= M+!_4WSO*]<6]W2M[_^UG]O[^-FWF\C+_3MW $!UIO8NNW$%SFY?ZILYJO.$/ MUE@3X7'P-,^\^P_LJ\76_O?5UWYGT-M/,O)CO6Y'E!E@. 8RTHJ;W9[\@[QVFV@KL*L[;[8' M_XQC>MON7>V>%OE\)'1^<[T?K_RO1ZM"P_ M?:H>MF\_E=\?VN\4W\N"].VZW:2_7JA_J.]*O\U7[;VO)$N3E. T 4 47 !U MB-0@06!B= 2)U\"!Z\%.JRI5CNU.G"<5I?JC. 2" M T%D+0V&)#(D"I,Z=F+21ZB%E\/)FDMO&)^8B9H#P<14AQM*E/2[%X/%771( M[C"D//_9#_^#+NGHQ-FLZB.$/O5GXU67_;@CT[@M>V%LF^@C-HW1<:KFU#\% M)LQ'Z)?EP&EULT((C$H.2U+R'*)-.[%M2TRY]UKGI-5MW1SSVU\!03!' M.&8R3HKB/(;EGA608-#WUW*M>2^=GZCFO740Z*FO5NJ.D__,O52W!7ZF7JJ= MDU4O-7-,MY?^I:X7?RY7*QG_U7HK']#E_:IJOUA_]?AUOMRTYWU"3K(X39*\ MQ"!E N4\VV\**B$WVNSM)6#@6V?!Y7=Z0_10:?91,2/U7H3D-%=-IMX M.!L+S\M']3!QMT=;Q*S[^K5\F%9 M-1^K[]MBI;8/Y1E5DY<"%CG)LQS%B''&""5E(75 (^YY"AEZ7^+N\7&^:8]9 M.!(<'11'@V0S]ODR7(]^-_#:C']7O(W^4"*C5N7('P3J67>!@IZ]GP8'?2=5 M!WU>S5CXU_6NV@Z-?_:3#175]JF] M]7*^VG]X31-&68+54AD724D9S!"/20)SGG"67^NDH<*&ZZX'L<.^XJ>HEQM] MK*-!<-0KUCG=8)R&6-0/.S6MZ+YUFG*#_*#4IF%^>]DT6[NF>494Y8[DI)(* M<$M)2[].\#*T\[7[/Z\O?Z6_NMZJOU!SG)7\PWBW>;>K%[V#Z3 M\;Y>K42]^5/^![.XE!( A"PN2IK@&&&:#TJ(*$N3:C-$_,"UYR!9[1<<1$>] MZA-=6"F/>NF&56B0QM&K26_=+F9#7I F"5*K6OAZH7(-V4K3J&.#9EB/]\P; MKH!>C#\3!!(B,H8Q+EB.4Q*+I \*"IYR\VT4C@%'V3]1S.5?'RK3S1)!#-9< MZ1S/5<,5SFN,''E9\Z)/EY8S_1@\#=3Y2N;Y\J5/C_P K/_KLFI>-^6O/0NH%^!C[:)V?$2TJ^2"G=E"M;OWCZ6EFS-QWYETS_WS^-H&@QOH IE]'0X%R MV#C>@G*0/"4^#IJLN6C<#C\##\V3,N*@I6>>)L!%"O(R)9C+^3;+8EPF,>^# M0DJ+V'1?LF.X$38D'TU^;[C[.-1$3=?@GZ'CZ2=C-E$S\TB[HSU\J18[=1O6 MA^JSZM'OJZ_U1NUP>;66P']LWW 53_V_/+S;S?(BQ9RE"_KW39Z7WVKUKOJ+F)UTYY8LO_!7S9UTT2_SS>? ME^M^>VU[".Q])7]'-?SMX_R[\1:^4.VH6>A,H D-*Y]><;N9LF_)O>CC-KU3 MAW8-_\6MM[I8^GR)S(%;;B+(#IWE(' "(\B(',/$QK61]U]_WV#ZRY!)U]-P1K64GMXVK@9F(TOK-+BG[W! M4V.<0R9G.>;JCCFKQ'*]W%:OE]^JYU^@-.V3=D1-6A(,N2BQ2%&.J ")&)0 M9O@E2(#X@=G677[\_$,MZP+2H^^FC+N-Y?;LZ_3^U@I^V0 3(J*VL5JD]-], M4R-H@ S/DC64FZ;$K2\I$;NMVJSXJ(K8_VBKU_*[NI>@>B91Y+G .44%+B'( M"PP RO<2 4]M4#R*L,",+IOM\K'=Y]L)CHX51[WDX[W ;+?9=*L+7K ^3N.: M\7YR[1IJ(+B[V.A3&25\-(?&\#%JJT]K7!DW]3,#S@W\USZ4IEZW>]W573AL MUVSKQVK3ZJ+KQ>OE_'ZY6FZ?GBDA10IYJ:Z+4#OC89Q!3#HE+)7:C&ZF"1$_ M\+@R2.[N"!M$W_5G-:@5YKUPY^6.(,VC-V3@9LJ",7MC;X \Q%:;QI, M'R/1>O2>$8#P?%6PY*Q@^:""IP7QCG6#V)-BN=3= M B&2R@/PVZ1)/$([4&N$)+560]R.S@='79%LT38_$8=MLK.!K[6+08@K'\=J MAD6&40GS6&0Q!HQED(A>!\X ,_I,RG_TB5)7:0_(7;V&"4!>[VTR#GLO-L?M MZ:OD^>*O40O]A 0VR\^%P19.AJ"PD)UA!J! (LX(I)E 2!"8\G20 6-!0T%8 M*_@T&:RDAT.P7JOX)[#W!AD%P!?;XN;\5>H\X=>H>7X^^IJEYP!?"Q^#L'?Y MK9J1-"LQA1QFN(2TS#F 22^#)!SQ8.S5"3Y1]DKI =FKU2H!V.N[0<9A[Z6V MN#U[I3I?[#5IGI^0O4;IN;#7W$??[*6?)*L.6LJ4L@0!.1ZD>8KC%(BA!B=Y M7F0A &RF8'(4GBOYH5ELV$I^@1RN@4)36;=M;LKF'^SU &B[YOJY*&V9HR6J M71SUS>L9R I2)G$!(<,\+TN."K0?+E)L]$&?MZ!3HW(8"E_WWB]XO=H>F+73 M9*L'G&HWPL]%4/VT+*%IZ)L73OYUO5@V[14NU:+\_B#_4_JH_C8K*6"4Y##% M&10P)06!\:"E8(6_-VO6"B9 T&/M42<^ZM1[Q*E]$WE@ZRBMXQ^T%@TS/G7/ M>6N+8.>V^@EX[)ZC"9P].:I+ZC,JWDC?NF_?9@+)4$F<%(0API,B3>BP[X( M"M#L6[6YKW6Y[![/I)#59OE-ZOA6-6_J+:^:Y>>U^B*5-O]2+3ZWQ]''Y<-TOU-=EKU8#RG\\_;$YR(&!,,ES2+&&( MLI)2@!..$HH1-WJG_G-D%+B<.\I:@F,;'?*.YDW49QX=I>[Q+)PIVVY\(L64 MDPE7= 9]? (?=7'#%KLP$DY"G_83-8W1]B?S[.P!'S^%>J.JX9#,D6JIJD^E MO]-L636'>\Z.+LH5@@F$"B!RP6&"Y/^#72&3E8 @H^O#@@H9;8S^@:3J\^"! ML ?]T='E@5KW3]^@W?3&ULDTF>V0&**U@HR)+DY?&,I&:'JH5(S"E+QQUZ7Y:J)Z)IG.6 MGP2_G+*X?!VKARC7J-)NM.OJBJ5?+15O3OI+5 M<$._+YM9AFF:(\)23(J2"T)*F@R!,@9B'> X_/K K/E!5=3*BOY0PC1)XV+< M9L*:9880,Y^"S'->V'%AAF-OW33F-@[Z M:U\/D1TWZ,,_=LM-M>"[S7+]^5U[C]L,%[2@.<5E6O*,0)3'*1U"IGEB]&6- M4Z"1:'(7#>JB3E[TSN(>=S=+S1@3W$T[W!@;&90\ITS2@)"3M]/BD5LJ9]#D MP1]32HEZ4RT_K[MSZ!^>/F[FZV;55EA_D:75Z[II9D4,*(@)8QC1&/&$<][? M1Y 7)4Z1#;,\A!V-8+W6:! ;':F-E-SH%R7X5SNF^6@ ,\*-[+TM[YQM#TK MZR9J\-!C2TR+CCX3.\-*[][IDE/,EYM_FZ]VU>'%7$/OF_8(YQF"&* L!D3M MUD2,IPF&+&$Q*/)43E-U#V=TBA&NY\7< M:?0W/ZG4 1X^RS[5W4]Q=/#YLFI^K^9*P^+M^GVEMDFKM^/KQ9MZO1G^6LR; M97>+TJS(67$?D8F10KXZD*7,L<^JTZR;J7UVYJ.=9K M][Y[Q*8S9.>D6LT6M$X-%I:ZKO[J('JT-IP8S\?+^QS\1W;>>*0HGGHU:N.4 MV%3_V*DRL'W+*)"L\M3'QAQ14:8@0;@8(B>0&7UGXB->8+H?Z8KVPHQV%'@U MUY#2(_EJQE\K2\/2]KQ/.ASUX/+$".DCHW/L\^:6,=5.Q>W?5YL9!%G.1)Z464P*4K!8;>?H0J,RH4:'67D) M>)/Y^!^=. ]L,S?8'FY!O?4Q:[YJZVAT>VZ5(=ZLG9XNW^Q3T@"TA/(4>C7+07 MUZUAT7]SG9XZ.6T\0QW+9.NW,<;^AIZK7G!,;[KJP_*)<<]34NH_T8QW2<9)S/; M/6N=:6'HW 03(Z7?W'1*14\.&G/SU?KK;MNTF$[Z*K5(4P[S.,0.A<2^G&N1FEH$=*:9MJ3ZD0?OJBE(:5HU$*6E'*U-WI4LHX$PU*V;DS MY@[GU_LO5QF03B)09$4I$(:% #D=-'*2V^T%&479B"3L\FG7?8XRBH:4HGI] M:6]MFY?#Q_ C-[@A)R;CC&BOT_D,E+^KT1:W NVB^C0:-'7W,A@1G=_4@/Z:Q9MAV\S0(?Z^8 M=8&HOFR>!B.]95.'>1C=WTO_;;G]\M=U?=]4FV_J Y6N])>XE09)"K>?#K__ M@;8MJ#N9,0<<,TY@7%)4H+@D^VW?>0ZQT=%/HXL;L>8^WF#\I\PI.DZJGU!' M/Z9UO%>OS:POZ6P(.WZ[V[\XGTR3VY?>X[7V:._D75K%\+7]* _ -$:7VZ6O M\?)_Q';0';_HM_ERI;2(>O-AOJH^J/#M1($^UIOM\C^J!:N;[8PP$N,B@83) M 3/'C%#"ANBI(-AD6/(5,_!HLY?YVZ=Z\ULCA48'I7?17FNDQ':(,1M#O'FO M-S3Z/*( MU>MOE:2>#,FK^^VI4Y1F@((\2U&,ZG#/Y\U66-_) MQ_O+O)%2(4] (I(LB0M"LRSA60P&J01;;GT?4V!@GCZTS=VH U#K3]%"MOC- MED<-&FWT)=(P[36)9=*[:)_<3[M6NL]@G/52\Z=A&N/&;2T(MVYJVQ[FMQ9W M&RUF,&,)%T41RP&0("Z2% \'T>$4IT9'@AK_\L CPM%]M:T@VXN"=:W28WE0 ME\PXK&U0X+MY.R,N$,_:LVG0RE[^V7MQK7S07CUL?_F)@GDF "JA.C.+YLZ,D9\VKE:#?H#*<"81P3P5+)O(P!&;"/15(@C-[KVD48 MKVX95#W9UBY&QID6,*$\LZYBKML5N)(Y X%!9CF$,4H'3:M$%$@HP.R'4.%WINX7,_E;'2^&K[\^+3_P9%P M+W60J^=Z9!K1;L,%KR!.!V'990\O0,V3^=.@FZ]DZB /J!GOWE??JO6N$C)) M5J_;FVK4ZA3;-=OZL=I\K+YO"YG[WV"<7*%&=& M'[!X"QJ8@;W.2#T"T:"T6X@>M$9_*+51*]?P.T=_UNL!\":NFZ'0F^%!Z*=K MX 4.>F^#:1#1?UIUX&?7<,WKX:'>K;?-N_F36J^GZX7\R697'7^(>$#UD1I6 M8%#(0I5):*,&ZX MO-8KCGK);4TYM,'Q5]X'V3,4%5D7$H(R%L!H)XQ+H-#S\_Z2 MWT%7 M4V^W7ZK-FWI=?ZTV\^UR_?G5^D%6JWTEU(=.9+B"%").L$@PC 4211\Z91@: MO33U$C PMUJ-T;'(J%,9_=+K_-4287[LUD/9Z$Z;(?!&K^L]_J1:?#S?)Q$F*2\8E5D5):)+$#/85(EB7-+.W3PU=XY\QX96%:F"\P3OER 4=N/DZ#/XXY//^N MPH,C1O45JQ^_;JHO$F?+;U5'M[^N-]5\I3ZB_$=1?=MHI',U*+V&_M1,"@5 M)_P4V%26-WT PM6E?EOI6AE[HV=B&J/.31TX523?M#7,]SR^6C?;S:Z]@6<0 M][YZ6,V;9OEI62W4BS+Z\+![W*WFVVKQEKUZM=[6??'_Z5/UH'['.W741+U^ M4VVE7)HF0D#!\A3G!)9RP.[EYIR:W2-[,Y'C[;P\2NSN!\@=I]>]Q3Y*,)(9 M1DN98D_,NVB?9=2G>1>]L?\49>QG0F_\^RD>![-!\/9/0N"=JGY;2FNSZXT> MCFF,AK>WX>R6VYNVB^ZX^.'A2[78K:JWGUZ^E_RHWE@>7DFF#!0@12DC><+2 MC'"1]@,SHCA.C*Y?\A@V]*J4K&[JM6I$]?V[VYX,GV;K#2$W\MEL4!A$'AM\ MO.'BCU9I=+.]%OHF7N!U@):8!H%#)%8'?XJM]OK^ZV[Q6?&P@1GCQ(7[=7=1;V^J!>H M!R ??EYFT,A6FF)H,BXNZH=V0M2>TS(5-W\0-8*KSPBOLI7<5GH ;JE]/?\3 MX/9HVFW9[3.1VOL#94_P6JV5/VRJQ7+;S->+I31AW:Z&SS("0)J7/!64PK)D M.>QO_Y.Q!03(%N;V$4?G>BLUZK6V.^\/:NWQY&"Y.>_'<=L5_9,SVGY(&,=P M7Z.#E?%60\597S1'#7=?IS> >,CIPECBRS'=Y8AW\FFH-C+>AVW]\/H=D2A:NQ>BL5(WIJ-EP<[/S0V=EIB^AU.X,L6UPVZL+JA2>'I[&( MX2N9.LA3Z$ZNM[MMLVVQ^7F6%@F!BI@P@2+/>,$)'**F*=(JA7W%NA&[ZH-$ M=W@9>6M/KU"V^L'76PU'1^/7D1A#@-F8/%V"666C@3![E_0OW7A\K-=MR'?S MS=O-AZUZ?]\>.O.NVK0J9HG(:88R@4%"$U%"2/H%81F9I,SHQ9"/>.%?DDN) M \B^SC?1-_.+-+WXJL>PL2TUXUCO9@\Q*5#VT*B3V)]B)45VLV?2J:78R&BCC-,V3 MG&*2H9CDE/!XB 9I;'C)F5V,6S!IV4J[<4_J_#'I18:.3K0'F69QK?=8N6+= M(D3#LJ2\!RDD"+1AR0<0-OIBGF@6_0AZP47-TLM1_90;KH/[7>W M6VBYY)()EVS,G2B&K]8RYF=UX6!W M4P)=+]J?]W];+);JW>Q\]6K]J=X\MB]J]SOSLIB4J(!(:B6$Y! A"KJ=>1AG ME%P[]N%6LL+UW*/3"X=LHN[3Y$,^W;5%LE9?+_I_-_Q@GU1TE)7QCN";-;;! M9H.)-[K=MH2CQO]MW_QW9]M__KS]?W-X O3V,OBW_=RNAQLV\ 3V1]PR^WH: MWCO[6?I(RRSDH47[3YC ;[OVW1.!/ M[/0WW$7-GCOKCIJIX_3A?KF>\X#$E19GE99SE*99ALR$N0#QVI8]9M!MPZ"X: M-$9_="H],,G08WLZA;/7G5,FSH[&K!\,,Z27G=G3Y9AE/AI$ M;:O'9H983E- 0,I!7&#&4T2'D)11;#1G=0ITD\I*R8M:?>XL,_#4&F-A[/11 M:>DX.1:[]BZ9874V_J]:)JEI_7:MM;?QARB5!.RX1S MG&1947 *&*$ E #!F NS(]!M?G]@*KVIMQ'?:XKFS?Y,[\-18I9GHENYJ0>F MT$::\%#N$H4W_Z!R>G"%R(@%'60HH M+E,4%[1D11\Y*:C9+E@?\0)S*1"3O#BMQZBQ339\)3]-7FF8=H%?/BV?!L^\ M9O3BU%#?;FG/!^?R67RH/GRIJNUKY?"PM);F*$T#1)Z'MCIBEIAT:#,;HW=VD?-^=\8%AK._:S<"S/O.^/.I3F?JZ'3H))[ M&L_G>GY\<>%/OP!&U3[H-"YE5"X*D4"*XCX@I+0PFNXYA+D1@^Q6U1WG# ^W<<&$Y3E",2J+5%)/ MP'28$N$^07N-D%&X5R+93WU0\24IQCC%!0"8X:08"@& M^PHN,UOD=HDS=A7E#B);0ZUJIV!>.I9-MR?2:8_TBR4K9R?$)==,+I=(#NXX M74S[IMY>?".XOU!070R8$9XB(+*"$A@3!@O*<*\KSRDR.KPCO)K@>Q5.73 : MZ6P+^O$:4E_WR?IM2MWM#E-J1=/-$*,TX'C7P)KX?G$_Q5AM.@VZCYBOS@VN M 9TVFT?[O6R=%%D, )#3>R98DO.2QGQ06L2XG'VK-O>UV21\7(4F)#I.QA%( M/6K>5P_UY[7*+))_ZZ>KQP;TUU3OF?3BMNI;S&*]MM#5"?!MGH=I4.RF#IR< M=M^R-8Q(=R3A*GSI5LR7F_9P7,5?D- <$,&A@%E!**!I @=5C'#SA<6 6D:9 M^1_IUZNDHODV4FETYTU;U,+!F]!@'6$BK6>SUA"TX<*-,/:.7QM-1FC+"8T< M8V1[:I08S67S51*IISWYB3[6N_5V)@2GM$0\B[HJ65:[A[/J/E;?MX7,\>\SDL,T34N>JU/-&4D!ZT]!S5G)5,TA*(0IQ8(C7,:B4%?$0-@=+(_5 M[D61F;#*,51@6G7J[J*]OJ@3Z L5V_UD#6BK6;0W6!7)Y,G@:[ M?"53!WD0G_/K^ EY+?_TS_\T_$3^?_O6;&8YO.__07^%?SEEVP^SB?3 M^=W?_O*/C[^JC^;-F[_\M__ZG_[+__/KK_]+?WC[B\W'C_?9?/F+*;+1,IO\ M\N=T^>67?TZRQ1^_W!;Y_2__S(L_IE]'O_ZZKO3+ZH?9=/['OY7_^3Q:9+]\ M6TS_;3'^DMV/WN;CT7+UW5^6RX=_^^VW/__\\Z_?/A>SO^;%W6\( /S;MM;> M$N5OOU;%?BT_^A6B7S'\Z[?%Y"^_1 GGB]5WU_B2JOBW5^7_Q*O24$KYV^JO MVZ*+Z:Z"L5GXV__Z_>W'E9R_3N>+Y6@^SO[R7__3+[^LX2CR6?8AN_VE_/)WKYKX4F2W?_O+M/B\ MC&*7@B!1"OV?]Q1??G_(_O:7Q?3^818E_:V1KMAL.9K.3NW1BUIM=.S3Z//L M9*1^K-1(MTQ^?S]=ED-FH>83D\^7<7#%038]WKD:5=ONHAHOIU^GR^\?LEDY MVC_E_QP5Q6B^_+X";C1;*S)!D-.^H'5Q)Y-I:8]&LS?SV[RX7QFG=!F/M]JV M8!\?[^]'Q?>;6_^X?"RRWZ?SZ?WC_8=8=#1[/_J^JO./^20K;AZR8E36>YN- MM@,U0?9FOKAM>.H9B]H---3=^2*?32?EL-"C63E[?/R2925;VXY?XC5_R6:3KPOW'8S1; MVS^>(LUI+;8GT.+FUHP67_PL__,\4M5KJ5T!\ON'B&"P3MWV.ODN7QXW]<=KMM?! M9QE-[>-@WQ:T[V)6&\Z3F^Y/0$3)&BEBXMQ,7THWPG1F7+1EUI^?^8>'^U=C;J-=-*/IL6_CV:/V>_1+XT>[$I'VP]O MYA^R\6-11$=0CQ;3NH,SJ='VQ*IE&H_7;*2#?\_SR9_3V>PF.GC%F[ASW]*UX#XN")?9VV@")R\+/IGR]=I1 MW>?%15G-]B( M..M%QZ?1M]I[P_MK--VA6O/;OO)-=Z:>,O=6:*@[D\?H>'[_F-V5T_C?L_RN M&#U\F8Z?S0^1,1^G=_/I[70\FB]-+!\[5-3H>'+3?8N8,"FW^ZU] [.I\KS@ MY_QQ^2'[FLT?,Y,OEC>WFU_^7N2+Q>^CXFY:-K9FL\YBO>S5L&\1TW8[W+>HW>6;[4Q=1>XLWDA7UHS;VQU.PM]/1Y^DL_N&D#I_:6H."U'*P=A1ML L?'Q]B(_>K \;J3.(D M^&HTT&!WZPWY764;Z<1FTON0C?-H]LLIH#S6+.*PW!RYU77B3VZHH^[7P_?4 M=EKJO)TN1G=W178W6N^Z;DJJH_5:Z9SCY\7V7\\1M*XUTF''RV/+L9I/['3VN,PF[[+E>O/D?5:L M(I[J;?BT\5T=@F"*;#)=OLT7]<.DDQON4+QGQPB-2K>_W0Z%:W8$]C@2=SC2 M32KK:/,=BEK7MI_>UEE"/+]A(M=RS,O52S9Y._J M;8%L)[)ORVP^R2:K>W#5-\WR\2Z15N+(AY0_I;- MEHOJDU_+3WX%<'/C[S]O/@Z;?E2[WJ7?]%B4%P;4Y\5J:Z_JV:R$XV]_B;T( MM>L&:2'5B!G$/6;.<2.HLD!"+)A14J(?Q9Z5]QSS8H-OZW*7D]GB_>A[.8E% MS_BU-':Z&,_R,GKO4]2(CAWYXS :Y[08L-$":>(C(D@P+H@2L,*(&P3K8/2< MA:H8_Y(7<7']M[_$NO$OMUE4RMHH'[C8CVL#P@^=M?MFH:%>-7 MQ/ZQE4V)WQY6ETY^'7^9SK:7 !O/3L.YD,+GH5.3?LTQG\^QVNMQB,I^\R^?C]2_'AU6= M5@)54D,AI(*4"2JBZ,!6.""EV-71K1%2O.9:2X!W1;RXRIE/1L7D?9%/'L?+ M%Y?)S5'*U:H?J+?,6D"49 @P*+B"N)(=.B(2R(:&[]BTP;PV<._8V.E\_KC( MSK1Q!RH'+8!D@&+G,19 8(!%-=(P8L0EL W_;*:M.9R[8M>>&*[CINQPQ8"A M4]9B'E<> #O#D(J>R49:&=66P"KRT["J48R/,^KU;G;Y2<5M.RVR\=(_SFZG MLUD95% &+2YV,.1XI0"Q)$9K 4'T4YTMW=5MSYEQ)H$=].>:X1H'.Y4F'T>S M\GSCVQ%B5,4"L=H:S*WDB&-E,>2$5+V#!-;:Z=I#!7;UAJ(!1#MV8Y[=N5H;97M8)'ZNB:<5P#LV1B& LE M4@!R4\D(99)IDB>3ZMGYX.62JBFLNS]GV!79<37'#!P@(BP32'H"%00FSA>; M0QY%J*U%])8VYK9WZ5]+L5))G8/(^HT$8I!&))HRR:$A5$8^Z@H) 6#*D+_\ ML\?:-'FY2]<6_AV8@=K)5#LT!@?Z]'2$6\,PG-1.X$8Z%R=]SBF#VBH>#?]* M-=PZB8WMSTC4DJ..H3BMH< TTEYJ*04B#C(AK:$;1#R@KC=CT8Y]:(DM>8G).S^.JM2K3L5C'@%!-4)9%NLR;O6Q#!B',X. M;@A>8BD]-4((;;@@$OAJW"-M22V_L"G>/;R*6>]@X=0J14X*>#A1%\-@WN;7 M.*F\62P>LT-F\;2& O+E+I4 #A-L-%;:(52AX5B]8.L+C;<9#B<3M3(,CE9/ M3IS-S:J!(#!AP&I!A(>R#$N"R%32&T53K&7]J)R=]\I^*E:>J8]AL/'\N5H3 MQ!V1PD88#07"06 WTF*E-.@R>N?AQ>VXGXI_)VJBYXV+NJDE:^U6[%F=WSPN MR[?.RC?DWM\LCJW =Y<.V!EJ""$: ><)$TX!J[B0&$BL.:O%[[9V5]:)H:+N M;S[/IG<_9)S?N8NRHWRP0GBB%)&04\^0D5"K2CX%68I',[0U7JJ&7^TKIN/9 M[RCL^02RG^U!J:-))%8X++C0B",M*^MK9%SJ#.%D\H6%WX9SGG$^6:^I. @D M \H(:ZV$%',H<;6981C3O5V2ZF *;XD^>T\L6]%()X;DM$?<.K0DS]XQVR9W M?9\OINO\RD<-2)WJ04E$D8=8Z.C8>Q=U;]DJG,1XI+'M\Y[U.I]^C;"-'PJ& MN$(AW''+H6*82[ *\=U(9"%/<=V'/N:;U?C+D*04F#N+:UMU\H20GUWE@S/> M6 >TI]"+,K[""U_)1A!+N7\V= J=J^6=9$G#M2O.E$F(RRDR_E,F%?PZFJTF MS:6)4]GW.&FN'F,ZY*C5J1\0DT9ZB863 EOK'(!D(SL62JFKY]399'BY0&D! M[L[,T]?1=%8Z1#XORNL*'\MWR.J&WQZK&P#GGB"OL4.&.ZQ0B>=&9@I9RM'Y MT+?QFZ58TU!W&-6]"D;^D(VS.#"B .^R9:W [KW5 F<\(L4=9%8@*:GE1E:2 M.FI2W*FDV[&71ZKF4.Z*3]N7,&)/#_#G>;'@I9+> $ <$$*5%940*92)FP!G\+ME&N M)&/;R_JL[KHL&"^HT-#&SDSQ87KW97ES^X_%^J'.0Q/5H7J!(U'&ZRH@$7&RC!&1MI*54MM- M7$IWU[";84^3D'9%'[O1Q/:N^!J+PU9H?Z7 RHQ*E&DO)8^66WIGJQT)*A6F M?3G&@R9.8WAVQ9KJ<> #'*F*! @( 9XPK2"UTB"N@:XD,!JE; DFN;^#9L29 MZ'6E_P//G!^V'(]!R(Z;)8J#1"P&.-*6AC_V*4+_#4K/N>7P99&4>UA M65TKQ]W.\L$;'.=.+%1YL*[*M:!"E6R4F92,G4GY8B['YVT"UVX7UD=7U*&$ M 0G/O2JC+;@5FFP93Z1/V9X[/?]+'TOIAHXV3P2R*QH\2QA0OC7]ZKVT&D?B M=9L(3'"@O!9.44RQ$^7]X@H!SNN%CESHHKK50(N6%- #!>O'81Q(IN$))P(3 M9Z6' E%!B3"5E$C[E(Q50S\X;YX)^ZF6!GO7)YP_IENJ<;;Y8X4 /8-:QLD; M0"&)@, KL)&.1=?OFB-\FM!YK1SZ)X)\F:G/M")<,D> @!(C*9QQ:"LCL2F) M7(<^";9#I$9P[GJ/VP'7,Z1./.7Z ML680 'FB-8]&&#)42DU%)2\3-&7K<=B36SL$:Q;N3G>QG_>T]E;VSDIQ$&F& MHZNGG?1,<@JQ]MM!A$%*VJ8!GI^V;[6:0KH'5ZH6E7;+1BV),[Z2V#D"D8\> MA*_"XC@4),7O/OW,]=53MA?'HB9 [H% ]6@3_4QL#,*80.&=8IQC7J'"@4 I ML3Y)<8>73Y83H>WL*MCQ),:GW=2/6%%%$#-E[AS*(">45.L+[HE*6< -\-6. MUBG4'-3=A;-N5+1"X]A=PAVE P(2< 6DL4+ZZ-P!J"OW+EI9D3)E#?W)CM;Y ME(YWEZ8IG]0T2..QAG)PKB0BF*8%FI[_/<64,2@2[LU./ M;6JJ]Z-I7$F:T<,T.A3/>G_H^.-HY2"=@TY:9L^U#F/IMG$S.4H->3<26HH MD0A) C';2DTLJ944?1_K+N@\54=7NQQQG$1-?LGFB^G7;+V) M]C9?E%MG-[>['VH\LZ5@, *$1[-/J<:"2H91Y8**"%52DH<+.@YNR0JVJHRN MR/D:F /\>UTX&!T7S40C9)BU$F#%]';(&9]T_PB>OKG>VY%@.Q1+QGLH<9X) M\9T!2V@$@L0PH9CPG$M;C1OI0=*6!;R@0^?6]\":0/^);STFR'N_@O9+MIR. MGW(N7V6V/$;+C20C)"0(4@^A]V"5O3 N^12%M:*]6I9^E6^QCIRK@D$!3:CG M%F,@E*0,2> JB3@'UYPALUF-O\YJ?3[,]6:11<6:13;^ZUW^];=)-ET3)O[P MDB?QH_ VNQO-W'Q9VK%OTUT[VCM*!2^DMQ!AX9"PP%L&G:BZ+@WO[;F<+AER MHA+SIM!LB0CK_MC\/J[O]K#@>9'@/>,8*HR\XPC$KE.X%1Q3V>G+-1U1($EW M>2,X=K@79F_CCD=<[7A2.KA P%%ON&<%*DO(B+JND8H*D+'J'ON9- M-!"-@=K/8=;'+Q&DA7ICW,-I:5R=WA0K0":K [KW6;&2HMX!ZK[: ?KH_\?505RK*^@=QI)4 MSH"0Q*3CG!;;E#N) M0\^&(@ 0X(Z('I\&>?[#@![%:TG+A_?W3X/VS+EA42R?D23^]I(@\:/P(5M4 M7=NSR;^C5) 8&T<<%#YV65OK8)E,<=U_[WU2(-6 J7&B\O*F .R( 'MW^'>6 M"XIS )6QVCD>UUG :\8J&91/._@?#@F2M+>; 6?AU_GV_MKRE5%3^7QU@6*W M>:A5+P@,J=;2.64Q4(XB0BJ[R91*.C<>X!WR1(/1!J1=T>=%5_>:E(/E _<4 M6!T73-XX:Q"-LVZ%&$/4]K;!WS)=TO2<-X]L#ZO2W[/[SUE1;RFZ+ALXY<8H MY&/;6GCG+&.ZDHE1U]MYN"R5'Z[*X0#$><.(>BYZ<,U9Q@4F'&+:$I228' MF+&D6=XT NF [H8<-T%UVP@4DO("H/68.F^!T*X\=UACP(#H[3&T2Z!56RAW MONXRL]%BL=F$JKOF>EDG2,Z105 #:3G02F *9"6CY^+*GIUI>KV5"&=G7O.S M;AY=:+TN'!@$BF)$F*64>(2YPUNIK.DOF+MEDIROW9>^8"&(02G'6@-\8:L5B]4LQ)UY4OM[?7P_\EC= *"(8A)L@(E+V?@C,KZ2 MV<8ER#7;LL;X\-+W:ACUSLY'BB*"DD=]C4M5EK=ZWY=A2N^S^-_),^R>G1?J M[\]^V12<3]1]*?@1^]?&UP6BC"O?;>5101IR!\IW7#?((JM3'+ND>*]!F\D! M:**?R?N%X$<7JC5JAU5^;&*ICX(+1QBSDFSEQDD,'*!%[9NN9XLP2["GVU50EB3,IA](#S,W9])[:N3A>7E@]-4YX4Z:!44H*0@D% M;BL?,YV^0-;%VZLI*JX92W\:I)>2FTD2SZ*7ZB1E'EH//"W?H%E+A85)N7\Q MP-/G!FF2C&6G#%ESV#X6Y2)E-1.ON;WZX\UJ+V;AOF7%>+HX:&].;RQ@R2(6 M"%"*HOW66-)M[%"<^M&5G5,WS; VL>Z9@:LKDPT1<']; :OR\35=OB\B,& , M8FTJ3*A+XM^0CP!:XU]C4 _" )8KE&(Z7FXNBZL_1\5DE8XQ+BQNL^GRL3B8 M1S^Y[: 485AH1ZEU1DN#%=UJ1P.3DJMHR/N]+9O'%J ?@K5LAZVUFPZ <@D0 M5,PQAYF(2G/Z:8#;E.M80]YU:]>6MH!\#[MLG_(]P9BK ?EY%.>',APJFR]6 MFO^019]Y,5UF'[/BZW2S7QE%+&J0]EL\BDW^=?L11=7XZ981V?\XR$.DSBCQ(\_Y2^FEG_$4;18 M[[_O8%Y[7Q9HA ,RY25R4 LL$&75.:@2/"FH(>DUE\'R M>!DLB9K L=/MH@_9PV,Q_E)ZJ&H>%TS+2.X=NV+'MH9J-A,,]8P;CI@@@!%> M/O)0'85J 5'2E%C_3$>N&37/[LH+5Y\NB5@MHCTLWAW;Q3FAE>"P-X8I$(WJX)A+^",Q)ZY\D%OJ(V4T0?D9".+ MA,BE9(@9.IW:U/S!Q=YIF/=RWEJ>B\5)7.FKXVO"TB5#Q%Z*#B5 MWBH&C'45L@KJE)MH0W_CHD,V#T!U70T*FT6ECZ'W;/DEC_!\S3:H'J!@K?K!26JTBCAJC#BVW%*&*]D=ABG7T@88 MXS\H/K:AH$Y#IDX.BGH=B,.!PA0C9[FB AKEC:FP4T:0E/7V $/\!T6_1C32 MH3$LLMA7FZW_?3.O#G_7T'T:?3MX2%:K?O#&"H;")G:FPTR=.UL6R#&4?)EPQ^?[0K5U7SJ/?IB9[BLWK!8^\-M18B#PT2UE)- M*UFCL"GKE?K;-S\2K3NKUPOASD>_QWFW]!R>)H/%(CNV4U.C@1 ]7AU%M880 M9*AF**[^M]([UDU6[I^*>PVHH?]9]OWH^]E3[*9N0 Y[#"7EPD69G1'P:>!Q M!FA?VS372KPT_'LV?+'SQ6-4YG3T>3I;.<&GV[[7;83RJK_%R!@5Y2="Q7F M5Q@ Z+K9G/F).-B,'CJ,SZFY(FLD8"P8"YRP @'FC <42 \WFPH2;C($6<(B25D!$A)F"%BE8PY?K9T$-U MNHQC;$X%71$S>A35[;KQZ@9R%"F.JN7W][/1?*GFD_(<\N'YB^L["%F_D>BY M"(,-5D1Q1QB'WD-1H5!F\;G*G9DVV9)WI(JN">GS(G9]G&63U7'XROO8 5@- M5M9L*5BG-&6LO)GEF30:<+S9Q9>(.]]-*,Y/0,UV]-&;P:S"AK+U3?@2S,H&0-142A/*4Y?8 @W+ZM);-::$W/JJOH^FLW"4H MT]V,9MG';/Q8U+65-5H)W" CL.12"&P1<][SRL-&2M*4*7R ,3I]LK$Q)71& MQF=V?1U4N=XU6.V4GCA[G]A40- ;43XWI1'WQBNI2(4ZLE:EO#\XP N<7=*R M74WTQ@(L!YXJT&U%?X" 92',T!YM[L MD:GM*&1X>T:-[!4%3Q1DP !N&*":>.'%=DH!#*?D CD]36:W6Y@=88F8T)O@R M04JYY55[_MY6* \IC,'1I[::1'>%8 2J?3&DO4_*B70QTW,CZC\T/9^+=]?K MZ@_9;+43EZL9$I41;G+X%.8BE2AMT;$TA7=&R2DCFOHU7 M#SQ_B-;]9K[:U)]/RG_*P]"OH]F1F].G-!,D)9!(02!"7ML(M3-;;\8+F1)I M,<#=\596)"WBW5EZP]C+%SU]2N2^D>3'#YZ57.?)>QU6-9X]EN[(68<0_PUI(HGY1=>X#;\JUQMR6\^V6>BIY047R/0^A8'N1: M]0,G!*LXWK"(N#H&M'@ZOH4>I)RAG[S7_K!.4;T<%:=FW=X:ZQ'UIV&?&>IS/)\\N=T-HO]?Q-5 M.K^;?IYEJY/]-_EFJ[3DM! \V14X8#IHSGU&O%RM>6 MB8-":E_+[VP9DT]';HS^6##.L%QZ:["WUDG".;105A()S)+>=QCTB&]6WZ\> M?4@ ^,C&T]MI-K'Y_6BZZWCT8/D M 16$8^<32[\D*WDIO9:!$=A/7KV;N- MR-$Z 7$M'9; "H IBSJ( %8R$J!E)Z?EEV),FH:SL^7RLV[NM2S["P<5%"&8R,/4?/S\?=/Q6B^B%*LW^Y8_39;GOPK9UATB5]:XZ<0>BU[U'V MCWD$>3;]5S9Y>J3$1CU\7;VSN5#%=#&=WSU_Z[72UADCZ?PO"[8,^H-$P.CU M PDT='J+*O-67==2>X"CI3/=]3TB2M$^9.-RU3F]G8Y?F(#R1HFZ,6]^$#YA M2"1\6W"E*X&1%L@2@6AT*?16Q5*CE!"XX;ZH/L"AT9T.^QX;VYO-<1Y<_'"S M^4G>K1(:=<(:^N8@%4"&*B 50Q3P.#_3:G- 6VI35BH##)H>X&#I1Y&=;1:_ M%KC&Y'"@5E 2&R&$C4DX#L\T0A/*.1"7D_GB4%Z4"5$K(:%:HD])Q1#!U MKNH_@"XE-\\ R7"N\O*F .R( =C3UZ5"T80R 1 WC*O!);>>5G)@)5)6<(- MB 1)VMO-@+/P:Y,#[XM\\CA>WA0?L^+K=)P=L 2[B@9#@4,00>D45\@8@9G9 MXN')E6UP-6 .&D"Q SXLHL^ZZ>#BH&W86SXP90'0B$!(H?$X"LBW'(?,IN1D M'9B-2%/I:VXD@WDIH2/<4\REHAX*(&QS&A1%0F81H)K+YE1GI<7;*-OO1TMC%ZK5WF&"O-&$#S.@6GQN9P@ M2NF06.FU_"28?+',;Q_6AJI8?_D.!>\M&QTH8@B)[H]F2FK)/:K2 D;71[J4 M1]F&[#"] M[5-?,(M.Q+2SF[Q%OEA$#_MV>O#"[E.I4&99+ \XB1:41;>;"&(K.1SEW3Z@ M=TG<.!_$[GS311:_J[R6;N-L.LM7+_YLGJL_Z+ >J!=(P_^RN%4A@/,'9: MX^B[>P:>''CL14I>M-.SBU\2>1K#M+.9*)MGQ:C,5: F]]/YM#Q@*L-KCM/G M2,V@=/GP+7**60RQ)THH7\DK<-+AS,G92RZ*0\T">_;J^KD#GM^^R&2Q>)?/ M-RO W0NH4YL(G'DNK=?,E :6 (LPKZ3B@J1$%0TY\4CB6KP]A#N+DZN>A=W0 M^] 6W:NR(<+DL15."^.E$*:\![G=B[9).S@EXE?L%Z=BV3D_:EW]VU$Z(!77 M?T)1*:#"6G,%R';B-8XEO6)ZW1NZZ6AV=C4TFK\?.WO<@=E;)T N,.:,*X<\ M0HQ[1C8)DIW1R"99E>O<&&X:TZYX\T3L,L;[3 MZ%NV<-^B/Q:U.9V/BN\KM*+0XU@S(CY;B1TUEBV.A^NU\JU!8@B8U01)2P&" M4 M%*IP13$JH 4_?B[ZD&7$X6NF6_5&2S2#5<>5Q>$MR3XV@+64$:,.-$11 MR+&M=M8,YC;IS'2 EP(:9UTJHL-.P> 8MP9J&Q<9D%.MC=-;6;AV21G#KGOW M.@7'KCCA1L4\VKHRLSDGM!(0TC'@J M JV3@$2O;7O,8S'423/6=>]>MXESSYS;#)17HIS.NGTM!:Z!]4QX!(U%$06M M':[P8 8F932YSFWP;I#NX%;BT]7V-_/%LGA<74JTV7(TG2U^[$R'5Q%W=DK- M)_\]F]S]\*B8G2[&LWSQ6-1)EY70:F"68>0Q88)Y:KDD4FD+),0"1TW26BEF M.\2JRO2AOV^$6SU;66XF?)D^Z.\O+OB]S=>I#_3W78U]F"[^.'9=LKM.! H, MI$PBXSV6S!KA/-YH C&/KNPJ9B>@;<\4JL'R,[75/2_+;>)RC'^*WW\TM?&A:L$RIID7!A## M$(% ">0K29'B28=.E\'+TY6^ETG)^';%I$T&O>JMO_CKGZ-B\GM6>J\'F'2H M6C 8( 4M!EQ!)0D@3--*4@=\2JSPH)F4HO2\-7R[/T!U!X&,>C9[[R M5XD1."4%S0 GRG8XU0+0W=X#70V*HWQZ539@0(%CVEDJ$"/(2$HK%Y40BU-> MW#PY7NMK5GS.+Y(^J;AV:HYVIA.MY:[7J1Z\ )2S\I%NA(1%3BG MI*C>EG_ M+NK)UVL@< VAM=#SN%17FA%09OW?2(^%O+)=V68)<2+; MSD*\*[YMAJO-%M.[>1V+N+M"L#P:_R@29MK"B!P@>&O]R[S@"7P:8#SJ!=C M1O34'PN/VKE]50)R3@*,I*+8(FDYYK:2D#(MK^RYW%0U'V7-6:CV>5YY>!R> M<9)YO,%@,(%."X)YA,9H#+ !%3K>TI1\AZ?'6_]?Z]>1'CNVCL][6]<\OJX3 M(" .0(SC>EY0I*UWKMHVHI:G7;:[!JZ>1H3=]C,9]LZV4D:++WZ6_[GI]_'M ME%WE X!$.&,Q2N;(^W 1V_W$QI -5!3+EO:^2"K== 4,H3 MB1AAPA",C.90RHWT3#B=JQ=5+1=9.._WN5??YMDTS5C MXP\OB1H_"C8?K_JW?BC(S24K*K@&>0;5$D$14NSUP:B[Q MJ,?06065<\M_M.?*]T^[GO&>4#"MP5O M/+:EQ7?9R3>?&OC*B+ B,'K0929 P25V<;&V M09A;I5)VF2]MQR]]" Q$2WU=.GR7+[/_>^7PZ?H615!:B) FY7H44NH<5P@Y MQ*CCCO1XY?#C^$LV>9QE-[1\61V:9!.UV(CY3/;G#U_ZZ7PT'T]' MLVBWH\F^C[^4#X4^?9POIBMF;9;TJX7[I\@)'<7ZXU (YA#Z%VATM3P&D@JG M*#31U7)*(0$M@TJPI(?O+V7MW#337P:$7J">>_4R#NNCSM!*:39P'STRQC3R MW%L,6?P?KO2,)/L9;G:T/"(Z5$]?;L+3H&\X=<&>A-35]^6[O^^ $W!*]2"! M@();:IPC"@$&B%)K\)'W@-7RI-NV)/6S *SWV%V4 E'/E=5&00!9](0KF;!7 M5_)&:CMJWCNPSX'VTL+HI(":(VP)IYIH!AP2=BT=!E&ZI*QLPR%.LF[KQ;J= M!N8EQKIQ*T'Y. HQUCE*4;FI64G(:-)=A@'2)57-=6/=3D.ULU2@>9S(*\_^ M:*#&CM)Q>)7IH*&U(OI56D>0C*SDLOY*PS02U/LZUW8BI-TM@0ZL (]2IT;M MX""UY258I(0C#&CEC-[(#;6R*2< US0-$ZEYB&^W*P'&@/%&2:2,E_&%L5FG)YFD/TLE,3 ZY0^7+< AY18VQR%2R.G9M2=$:T?I)J0E. MP_>:+IFK:'01Q-X8;3T43BD!MI);D&*7+H=9I[+@G$OFIP%]&9?,!21&11?0 M $,8QF5V5;R=O"GK-$-!_Y?,SZ5/*JX7EBE%<>HQHLP1JZRE7+-J'0O+*,GK MB@IKAS%-(#N(<)@.+Z\YQHTU**YERL1_#&ED_ 8=Y%12AIX!\JXI![P3L"_S MAAGQF$!N%49:&8HY%9Y7,B*ODQX '#*AVB%"[1MFI\%^63?,"!96*:65U%@C M'R4SU49+G"58R@7; 5*J 1W7NF%V&JI=,4:/9F4@RL>, >8T MB3A%>UWMPF$L\)7M&C6AZKP59+O>B1P_%B5@IW#H6-4 M<;$4N"5,4X;SSUS ME<16TA0_>H G(RUPJ6&$N[T@MNZS6BRR94TN[:@2L#904:% ]!N-0Q90S;;0 M09^R$3G Q7U;'$I'MB=[= I]=M<*Q):9K@G27@C#F#<,H*W=I=?F0K=OA1+ M[7-G,O49(*F! $9@!C5Q.*Y+.*F&"Y&.I$QF)U^8Z^)$I,U]QC-![9X^S;W6 M4V[<1Z2XH4Q8B"@L\]IM)/4D[?G9X5FA9I1^RFL]I^'[FDF7B&T*#%<3T-7& M@TA40(F.@Z@)&*3,- &G23M M/)BTHB2'W*17L^'!XTO:)*A+$/ M8AQ=.[TN'!"/RP%$C<1>&^;+-\O<5JHXO5V'D4A7Z@%VG(5D5_RHDC,<,1K/ MBP6+B.&44 (%*U/T<(ZKH!,J0-*U'3$\3C1E,!(@[)H,1PW%CP6#A2 ZO5! M%J=5+U@9B[V1AJ&T^(@!&HGS%+F'#6,YK?K3T7R7H,Z2$CLB. >22D1<@P)('$K K)9@Q>RZ*C M$44>37]\&I9=&8U3TA]3K;TG@$NAF1!.6LZJ36CFO$UAPZ"W^,YG0R*$W=Y[ M:B[7,>'4L\ASR2QPA$M%**VD5-YHL]ICJN MOA6!U5UO;J1-"5T=].E&0Z:M,^3[V-/:!G+7W-7:E@\0&:&5!\[#,B4E(@I4 M2V^N$$A9N YZ"[Q)@W8^GH.X6W]A3TT8*)C0'I?ODF-)H"!,50@CF'3*.^B= MV)86+MVKI'O21X,?>SJ:J?O\<5Z/M#]6"=Y;I1PK3S>O-F6W M%_PLK$O"](DU@THSOCH?N;PLXXP9$Z$63EGCXI %5&Q>1").(% K@4#;H_;4 M+..PS'@+O>-Q94&H@9YC5RC)\&[6#"01VP&C&@'>="&D=, MF4!MW6M)^)6=YI^MLSWAH">!-Z1P4 9][*>1'$;O([HFLKR=O^EY_,N5W(TY M5UW[PD%/0^T2PD&-@) 9P"66@'HKC8\>QUJB^(-(B?@;])GL><._(1@O)1R4 M"\@MQ\A1#P1G D.UE4IR=R5/DJ0K]7@XZ&E(7O*=72 XA12+I$B %,B"*PD MI2)IY^'DL_L^[NR>:U(:!/62[^QB#AB*4S0 $$I"+8 65Y(R!_EUF9QFE'[* MG=W3\!UR7+HB"'A+(^K<0!J18=*N):%QG-5;G5]B;$::F4F R=9&FB*/Q*6?A.#EQ*4;0[PP3#.G. ,>8"C(%AZ9%'@Z MZ(>WF_)(SD6R*X8\;3\_SUF:+=[,Q[/'239Y,W]^4+,GAJ<\WSGCT>1&OS%0 M QSTB$G"J)0&4&2V YD8=+7/()_!L+W/&_>ID>X9O_O Y20*'VXB.*6@1-@1 MQ)T2<:8!;*L1SI-2A30S!J/CS-M09 M01'UI@T3Q#B]V4^F5'-1:V3T$,NR,\&\_K[G=0W]?=\JM?[98]N=B#X.0%X0 MX@%4R,6%,G.BT@2%Z,I\_TXXF_QV14?*O.3-TCB1*..Q$=P"[+0VDFZVA2D3 MTJ5$2E\*;7NFT"F[L*=IZY)W82$Q$#-N.%&(1 ,1T9.5I RHJUV&I"C]E%W8 MT_#MBDG-O]/*L,02>2\ \UI@BKBM_%JFH^S7NG08K'UK3ED]DS+Q"5@"&'18 M8T8$D!)PYRVM9 7*7IF_V(C63WH"]C1\^[Z\6=/2U:D>1 31:H:T\ (A:XRG M:",Y%Y:GI$L:]-WUP9J\%K0V%+X>-8+U&@C .U>FHT><0(XHE%Q6T'('Q97% M^31+B!/9=A;B7?%M,URK>W_'+>+N"D%)8Q7GRF$CH0-.*5^=(W)&9H@ M[F]V^#:RCWA3R9!2#DAD):"@\GV%8TEWT <=;3!8Z]>)'CNVC@T]NPP,=Y(: M0JPS!$+O!->5C%[BGR#W6H@:"\ AHJ*B45''NL M$*Q\:\%-4D#!H//#7*:!/%=O PF%J<1X,]_">7/KI_/1?#P=S=YGQ6U>W)?/ MMS40,W/Z=P5?XAA-"[264XM%])ZVF$:PK\Q!;9IHI\7;M*Z>3@)S%N-B^E!6 MN[G5CXN(V:*_D)R;XFXTG_YK)86)QBN?32=K&LXG[Y])^ SF+?2'KNDWVGX M7 M$J#=4>XP0UH!L0AZ<4!;4.LUL![]WH^5C$>EZ\Y 5:_-_ (S7A0-E*"ZX M' ?(62[+>CP4T[R8+K^OCNE:VL7KEAHOGX-*U447IF*31CH" MXN;+J(TW\Y6!*]LYPV+LR<51?4OU[VC'MQU+R'%*&X$AP0#WV&&IN#(* [B^ M@RU)]'%8K9OKNT;SV>G1GW5R7T3(!A1;(TH\J\*4Q;HL.Z/WNW/CYX-40X M6W=Y(SBVJOQGY#ZTVW*X0O"*2V@H]_T,.Y< 8JC#B35')*":.5&-KY%&8,V5JTQ(P4;%NFR/]\'!41X-GW#]E# M7NQ:BATH'0 44D2,HT!(0R,HEUM0I$8IVY0#BFIKD1EI@+8]C12C^3H10"UR MO"P>,+"$1'F D)9I*+!TIA)&>9+B<@PHWJ?-&24-T5:]4I.5UQ=F;^:3[-O_ MFWT_Z)"^*!N@Y(H3#+ BFI$RS:90&S&XDPKT%0IQ6;-+$]BV2A$_G67O'N\_ M9\5!=CP5"]K&WC(CM=Q\/4F'/VU F*"D.-E0XHS0E@V@A4B64930E1'] # M&:UQIAE86V*+BB[UI'2K_6QTMX<=/Y0)#$KH*>9>"D^\UV5^UTVW!8K+]I3] ML:27*RYK DH!M57+H2:3J)W%YI]22'C0:NPH'QTM"8S60G"G/,#(2U0Y6L)K MF'3@,J!0K=9,1CJF75#$Q!]OBD_YGX[H<%19/H&Q MA"GT&-!=][;I<3:B79!CY1S=%.^+_.MT/C[LLNZN$JR0R):G!B!*HA%&S%<; M.X):GD23Z]Y);1#6+KCR/E\L1[/_;_IP='&SJT* +G*>2H0XLTQQ@^,'E4!: MI7DDU[VGVABH+;&DM'"JR$8'>/&\2&#&1$<**:^Q(5YZC%%UT"BLDDD/] SH M/ED+3$B L:V8KZB=V?LO^?SP=NG+8L&2,L.SE9Y0)ZWGVB-8=9X+GW1-Z[KW M2Q.A;(D''[/Q8[FL@^CSI^ER;\CHRV)!,6>) (94L\^%2,)M/YW3 26<,A/[BL>D)"("0:80MI! :7>QM\K)53*#43T$P60-H1OJQM; M'[]DLUF9VFPT/QP%]KQ@% !B* VDPCJ@XJ*+Z,JW4LC9%(<5_0P;G@E@MLN& M^]%L]O("^FXZ/"\9'%3:20ZBS:/ 8@D\K69+A:5)2@G\,VQLIJ#9*B' MZ]:1SN4B/.IIKY]ZJ$J@T%GIE99.,Z^8%=Z"2BBFDU[]0->]+=H@K"V'#$98 M1^5[)EETAT:;#A^)%=Q5)6"F (=6"^,!(@AB3JMH%&4027DN%%WWUFF#L+8> MA5Z8Z#3?Y<7AB>>'DL$9K!FAPAL D==<(%'178,H70HS?J(MU71HVYUU\OO[ M,KPU'__Q\4O$9G'SN%R4.2>BW3L\]QRH&*P54GK-C)44$VQM&6.]$9 #G9*[ M R5MNEXB=QI$^HE*K:77\:-I\>^CV6/V>S8J7]A:)1;:?G@S_U#N*A>QZWJT MF"YLMAQ-9_UEZMIV[.E)L#H)N Y5"PP+Q"A LKP''15#H, &&H T)P[5\]1; MEE8M%MGJ:;2WT]'GZ6SU*-I&7Y-G*HH%WN7SX@>-'7O=KK'O")H;8H%!U"@> M+2:.0H$-CE2"M%/=X7@FS5(J'X8RZDU9#1):?W]F;GR1_<=C-A_O2R!T0NW@ MRWT#8;FS3)7G7I )7X>IM;MC_]]FA7Q^[]\?YM]S6;U9]<# M#01AC2><2"-U',,,6&-I);UW*.7&X8#NAPQR@FU.+;U:O]=BG#7;[FTG0&T$ MQP9))I24I$RJQRHL)-97]@Y8TP2I8Q(;@KYS&KZ9/SPN%RM08/VY]W6MH FQ MF ,N%*#28N^L(Y6<1E)RI11KE@/[F):,=Y^\0F?Q:E,K* ^@C3!I8HQ35D+, MMMB5+V)S:.:_.P[M/7N&S>+6I%82PTA"!E5<. S[/OO\^*O[(EOYQ/EFHI1D5Q??8_97D![A]I&;@K-P>T.7F/_0> M8< LBCI@1$!A0=K-^.MDZQE?HK8 _1MJFORH BZPP5F+@%-,,.+G=R.4<)[W8,V0_M5>6]ZS$ MKH:%^CJ:SDI9?%Y\',VRS;6VB+2Z+^/[_I5-3+XX=-I?LX4@C01"0RP-*R]- M&ZFDJ>0G7J9<*+M2QR*=Q.WHIG]NGD7'8"#14$'.&")8Q]'G2(6BP-RFN+8# MND1P*0P\41U=D<[D\Z]9'!JQRS;[O-P5>'* ?35J!Z00IX0!R+C%0DL>EPZ5 MW$R:E-E\0%<5AD7#YO5R@7[K^\=B_&6T.$C@-KXN8 L1])!"H*6B%-JX-JB0 ME2)I_WY -RZ&Q?@!*+*K(?+T;N\:\0/T?EDT8&J@]5J#..@ELQX246W;""*2 MGL8;T 6/85$S40F=N9^KSNV8*@YYG_OJ!(^8P\;$F01P8J.T'E=!JH)KD'), M/J!\X\,B6E/:Z-Z0/4.KEC5[5CX($D$20'I#XFBB!D4!-[))@GS*0GM *7V& MQ;0F--$5RY[U\#3C=KAB0)0I:#GV"@G%,0.,5!M6TY[7Q;??X?-\.8]M'WM*?&^%X)0 */X?BO]ZYP462BCDHTK* M*V6LULJEN[M9GR)J.G[='R=>SMK6"PQZ(@WR5'O/M.%,=I32E] MWY*K 6A[VNY:G677H='!>@$!YUP9.<8$MT)3#SF(L@KNA(FN5DHBZ@$=6+5$ MHR:A[<"B_SW/)W].9[.;Y9>L>!,;F-^57=_.BJO/?UR8=WZ1M>IC[,[+'CZ- MU1HW6T]J)V#+%9(&$H>9,58)*-:9PT7\?X)JW13I$8\Z9N"TAH*V1%I N39$ M(*NM5UY7B#B-4O(X#35+8,O4R3O4Q[",B9I,5H^?EJ];;C,*K&_,_V1V!A#( MHD?A@";4,ZZ($>MT*D((PUVM4573M7[Z]E1-'?/)F_^F0(%T3&,&K9,R>E^, M;;)W1YRH2GKR#P[#;-1F0CXDI+OR=3^.OV23QUEVWMUFB+,U_OY,H[U5EG+"Y?,2JW M32HI/F9WJUV4(S=.#]8+A,;YWTE%,-9:,X8QW3@<0CK!4Z["#&CAWSX57G*N M0= [(]BZBT>OB?Y0+O RNX H7TK"QD;_,0+$*UD\3\H /D0"-:/7EVQ)0+0K M=NP8,$<,SYX: :(X=I1E$( ("U7,25/)ASE)2J$WT"FQ<_O3#/9]TH=W')2T04>3LJR\<7KM %:XP&-6B5 O:9!%L4RV?DBK^] M)%;\*'PH7V?98Z)^^'N@#"F$$/<4$:.TY)B%RA"3E3<2_5?A: /H=!W:NI^3MH847&MA 4DR$%DM$*:&:,XY)(P[<\*!]L7Q+;2RZS4RW3; ML=&J8XN-7O+;T3.-9-\>LODBVW=RD=YH,,)SRAE$@"E+/?:E"[>6GC++DQX+ M'=Y\U!(S\I[4T=64]F8>K5"VW1]]6[+@^![A@5I!$0XLDUI(QS7U3'D$*SFE M]%>29+I+0N1M@=\SR8YN$AZL%P#T$3U%G2428Z*MBVN/M:P,H;0 ]N$0K5&M MUV/26?AV%P&[6-[3OKTJ&V@T^U@PJVVYO\EHA(=7,DEA.DU-^34K M/N?]L.94#;\*>4W#M2NNW#QDQ:A\],RM[>Y1PNRN$!A'&E(,K?%QI2"H@J:R MU(S$E<-UQ$>WRYE&H#U.G(;=\T/[BLTT'(2"A"!AH.081ID]L+A" $A_)=FB M>O"7>M%/9WDF]N\#/%_W;P;;AZP M<@1)-25PZ_L+H1L0K\\@V&*4W[<7I26A#L&4* 4T8 MA514LQW7%E_)@PX71>+S5#-@VL:O/YB>\KP6@R *84)@>9?=*4'G,/5TW MPV2NNHU:;9R^/[0:#$;*.BX!4$03PZSQU=P4!SY-N?4[H/1_%\7A% 6UL6=V MNPHP> [,,E^.=D5)G=E2X,83P*2QQBF.F)9>H$I&:I*>*1M0HK^>2-B-4H85 M.+.SR$]Y_UQ1)XVV"&JL$ -.0!]_0 Y%S2KM:EW]JFE"GKY]MX9J7RH_6#U0 MXZ,U9,C&B1U !CA 9".1M7&J3]MJ'$*\2FV=[;XIWB1\W5__/C!7UK_X?:R1 M 01&B+KJ !.>R2H]5L4_%4F.VF')7OO<3>L@F'<0H+(N"@_IMA2ZPRD6KFJ MSX"PQ"P50W%4VE3FSBM'I\$ZG"M'AFL5I>;> @\ !-#3K=04B2NY5WVFKO;< M,CH-LP$LS/7WWT?_)R_,++K+QQX.K]]*<$Q1([&T4#N&") B3NYK')PU^IJO M ;1H5]K7Q 8^=3_=Z/[X[>O3VPI:&:=PW'.EYQ9@1SG3E5X*"Y2CD&'ZANU M2IOZU&Q '5W1\_TH+IR7V>13-OXRSV?YW?>C\7;[J@3L( >F3,1A(IQQ@:,! MJ"1D%J0DF[A@PJ61(6\%^Z[8]:D83;)2[.-AOR^+!H08I$SH" Y#@#H*J*PD M./BV5^GQ4?LEFD_VM(CD:4UZD?,,32$:(M5#;VPT+K M826[%$E10P,*O>B:8FU@WQ7O['2Q+*:?'TMM?IC>?:E!M7U5 F=<22^I,<2X MT@_&NMH+]$BQE,"> 45'=,VNAN#NBE#O\C)*_R%;9NJNR-;O,AREU/Y* 7)M MN'*:>.FYPW'=+JO=/0^!33EO&U#@0M>D:@SP 2PQW]9(L5*G>G""1*NL,*, M.Z'BXEVC2G('14IBK\O)V]3'-L>Y*JA'OD7%OD4V_NM=_O6W239=$R_^\))O M\:-@\_%C.2+>9Q'XB9M/;)S6=Y!K;]F C"4:4P:PPCPNO9W1O!+#>V2O8[.U M')I[/K9: M'P#5U#B.F,?5,N1YM-:9 7F[&PM0(D^T 89!IC@7 -H-*@H 9U,N4 U]GNR+ MCLVH8@ $?9<=BA1?EU%MIM?4I._R7M>!,YU6C2 \K:O-IP515^CDSF5D- ML3',Q54@TP1 H>TF$QX7Y4NDY\1L-AVF5TE4/R;OAQH!"P(0YPK:\HV0..5B M8"L9I4!7]J9%2_K?&WR7@G6;X54FGR_RV72R4MG*#AX(N]M=.%"A"&?2$"&U MLUY*%P7;2$,-ZBU5?-N;2&?J-&\8T&[IL3>XY5#Q$*<]*X41)3Z4&A_'T2:3 M-94/J'I@U+ M\\A>=J)"*:S4T%N&-8WC!6F,?"4K<.)*;$^C6C\I4>%I^ [CVH"$'!FO+=9( M&B UI:2RH(JEA20-,$2D29?E7 R'BW)I# ! 3PE*T[3>0_DJ.K<[4 MU9X[ J=AUM5\4;'Y;8VS\5=E@[6*0*^X18HP$JT8\::2R1F8,B\,,)"G:>\B M%<^N.5*#&L%3#+FRD#BD-9.8 BDK"8CCO84]M[L%Y9<_ MA<5-?$WPG/MR]T,+AQ'7 B'&MT@BF_(6R=#C^[JE=P_:ZL!C6^^)?QI]RQ9] MQ\1LNW*2 W:@5I &. 044I0*3KV67*RM##<2LGK'M>W(ZFYOL_$R,FG;_0^C M96;R^7(Z?XPKR#L9N)/'*/#WC]E=>6+] M]RR_*T8/7Z;C-_/;O+A?ZW ^^3B]FT]OI^/1?%E=;^]OC&_Z^B%[*)VA^5V- M ;ZO2I :HKBB-5!0[4'YRJIS&X5P[^JMW;J1\K1!7J-V<(YY!S24($XG+/JK MT4NM9.=$]A;OT<4%UV0^O/3A&\=[V(-?32:K1]!'LV=E>TY3W*1= (0C+)@7 M$FME1!G_L]%5=+L8K94NL^W]K@_9UVS^F"U\I+>+,!=1&T\*FD_>YO.[U5KR MU!RTYS0/:X.T.\LC5$^'T>4 MULN6#]/%'_J[SN;C+_>CXH\CX:['J@8+!=0$1:ML!!"VO'< *XDM$2F90(;( MMX[H\>H%W4:UT!_OJDX?#9$]5C6P\O5JPI7B+HJK$)):;R06#NO>\F^WP[OF M"'"464DX=[:!7SXFO1F"[[+ET51&.\L'[C"QFB&@ ?/Q'\0 KV0KXSJNG4/G MJOKEG-D N&V&VZYS-&UM\_YXZ]<% Z$*62*11AXB B,@Q%12&,1[2_)Q%=-; M(YBWR9PRI]?-[0]=/'B?;&_Y$.&( X)+)Q3FS#K-92631#CI_OJ 3$VJ0O/F MH3Q.CSV/T:C[T;_R^=Z9Y569 *6G A/ (*5*LU+4RN!)R51*B.7 5-R ;O)F M4.QQ!?4I=N#TQ5-5*Q!'D8DSHZ(66::X=1Q5B ME?T]?;7T5"MX*;W$T;.3CE"'E5-/0Y(:?V77"1O1^#$6G8UN9RS:#*A7/:^= ML7I/S3@2H9"&"15=>K?*MN;41EZ%#+D2/Z91S>_)2]T,PETQZD2S_;;&#;=S MFXS($Z.@)HQ)S:WEY=.F%4*>N)2MGT%?A.MTZNQ(._7XVT.R6&REPIYZH*7A M@F /<+6A%C]/?21R:"1K7]M'$\B>!GAO_ECL=/G!Z"Z#ISADSZH%CA!PCD(O MF+-4$$Y0=3:EF$ZZ,#' /:7.J-4"]L,^_-]4>5[P<_ZXW !N\L5R.V>L$N?^ M/BKNIO-5$'49&Z6S6"][%1=\1MS T>=\F^YI_9> V_KF@(EFA$7_3#OC%>=& M^(I(SFG38XJ]#]DXCH#I;+K)\+@)6)W?O2_RV^FRO%!8CL4-,HM/^5/>IFQR M+#HAO?%@&.+4E#$]%F& O?);Y+REH+#8681!E3U,/RZB2[JH MO*UC+_@>K!<\+(/1*% V0N.$H4Q6/FVTVBYE53GT.ZH]F)HV=-(9_]9=/+KU M_T.Y( F2WD*B/3-40(J=99O89D"AZ"TJJHM8\F:4O#N@_"QX.Z;*-@AV.]+F M=^5*VN?%X;'VXU"KLW7;TC<&XZG1&%!'F#", T']%E\1E=;7H>B5F\=!:+.K MT?+NL3QF*1=8I;@E+C_D3Z#NWD_=5"@31,L4 $$@9YZ%1 MR-A*2HQ@2@SKT#W*H7&Q,2UUEBFNW%Q:0W. ?,]*!:(EHYX Y@ "TD<^!C;!M[VY#3&%*DOV33_^_9L7G_&?D_DI!"6ZD_O_;NY(E-W(D>Y^OP;YD4Q=5)6I 1_>'"X.P!W[22QGC.AE ='*36 ;5YLC;Q:?:+EW5WZTXG:S!?.5_E)4R'\\;+M#S9)C!#K16.4^JX4-H@X$DI MHZ.MG@KS7X2LZSAW-$W3OB(S"3;'6].9L+H"=;11TMHVO%M7?0<6,U).+P5%M(1;6K1/3!9*V6 M#>]TL^ ]8E1[##V#T"BC%.2EM-B3T7*,#+"L.R'!L]1XG6$]Y/(=/VUMUZM8 M1MUL!:2( 26EI,YZ5V!--$.CYK0L1OUQ]M=OT>!<+V;+5'4^';1LLO6/[-QA MV>7& 5FDB2, 8:+CCB2P*6MF2*(XOK)#LTXX<&H1=P7R4#[E<> IR_8FVAC[ M Y/:W#K=.E@L:%1:&'/!,? 6X9+N8UL=2([P?<5O9*K,Y0'9U<<;!4:Q<^B MQ>HQ,\1)G Y0G#; DD(2&G]HXS74/]3*M[/E-,R+UN2IC^V0YL3(H8'NK0EC MJ8LS)*&A#%(KD!2H@)H[CROEC.X[0' <_Z':U;9!09CS700,HY\K-*%40,0- M\T24K.52L\M181JW"Y"QL)525;IQ^) MCN'L_8@_+FZ_1= _;PYU5,X(>+9=4%$^I@RDD% BC*'^R&-C.?5#+N_'9PC] MK.FFTYWW!^I0IMSC,;]?S+XLEE&!5J;.L45 0F-+H]4"HJH#1D13597R,8?: M5*BXU#;$0 M_\R2]LAN5%1_L]LLV1KY;K5-17**A_:55^CEK@*AF$I@H#%(2A-=$.2+&*?2 M&,M!]?W@2[ MVOCN7RZEN5X%"8#B..RH72'F)!'1'1(!1;1Y)U+X0_&H(U3/*@_DA MO\VVNQ3G>_""\[$#]6K]$Q^U/-5*,B@141YQX!1"T>-+MXC$B(?5[[/-)LM. MP/V/V<_]<\ #A6[26T$?+>#9\G^SV;E$J,T[#9&/*1$6(H0P;CF&E+ C4EY? M64FPN2R+\\5?>EHKW/86H?Y&RC'%#E,7.&FUXB8"J8PQQX"@0R)LZ$+S 1%)G17H=> M#_$:P#Q%ZOE\UWKO?=!50-@S'QT0K*AGS$M,+"D1P=$0O6X7;@#B-4!YDKQ; M_.A*XZ6NHN]+4Z43B]/K?N6X11@6B$AH69O,@:_ TQN"=_51GAKOU-41I Y+A@&+*XL5+96Z 7-DLA075^MSIF@8J'11/3/G1<1*06ZB+5!*2RAN%=@%;XT[ MS4 =F4*_YZMY4Q;=MPV>1;4* =32,&FA)E"5P4.)5*L+B? U7&/MF$J-D1WL M5/#W?#OB6Y.F1W[,0LZHXEB2Z'U+H*DM+OYHHK2MM%4.9Y5NJKPC.=\P8$R4 M\)8)![R62$A<5$N+$F/DKZ2&;]OIKF!G-L9TL"7Y:??]^W+_(F2V-+/--[_, M_WJM9_,D^HY,<@51.@1%3&A8WH6@'IE*MV1?DFB,NGM*6F>AMT@R1ADTA)%2 M%(QP&_-\^BNP\CQ>KJ97"\9QK*HR^%'9E"H;!!35AE!&&PJ!4M9&K=S?\V^SU6WV,&%:Y9A BUZ#BSNC M)< 3(J'FDE-L:(D3T[I-FL_I'VXWY=QP@ ]F-S1^-WZB2N+S"_>7JAN>;A&P M%I)Z+DDJ44*L23D:"EL+&,4K7?WI^4YVY2??)UH$323S@A#H,68@6JL0VU)& M162;A3@A"Z&SF3YU<;L5JI>W@1-L+]^3YU]/6^$7&=*PIR"Q$E!3;3AQ1#"! M$)>EC-A7>V(W?;.A:^8,@_8DSK/*R]LU=%3MWJ*;[0BT"@,N)60D&NJL7&E0 MQ'WV.@R)_O17WX@/8$D4Q5U3#N#;U2*U-OEJCXN>+6>K>5F+>;Q(Q/,1[E/\ M'ZA5_&6%.$6=;H+&T?]PV,192B_*F.%%;6ZAA3!FQ 0V1S&*9RC1U]ZG0(TS M]>'+;2^?89YK%B!S"&'*K00$4F:L1>6>+#&MEC>V*PMH MB'.G04C6(>)#<:O<;OY<;+^5R=*/N^ACT/XO.U^9K$Y'@4M&M-8460JCC^&T MAKI$@ZA6-\@F9/L,RKY>9V 2?&Q*O^33X]H E;3;4"3X+ M&)]M-0&?A*$]QLR;47GC#&*%0:\U0>\S!+AA#'1TP>_Q*[]H'C*,V1 M996=\P:]!:D)MLXR)J '# .*Q1$;A]&5'3_V0YL**J/;:1A%D=C%9G9[N\X. M/D1*C+S_XBTZ[DQ2PIE%FANFTLTK0(K3(6VID95NS?2#QHE)VK/MC/3GF@4O M&-6&*DNX(YP"RD$9N;*"B+>L(BH3(>\-[X86ZV:]?<"J^--31L5?A6,.V?L2 M5+.E^GOQT@V&L]\'*J-2BWK,":LP-Y(81TN9I&WU4GJ"'.IF>O/N@>V5+$^K ME/:#66/+LK MMP\*K7\FIO#RAT04_H HQ:_#YT\OL.+^+P/D6E&"L<2: 0NP8*X\P7"8^2M) M@]G1I.4MX1LJZ.%^<^JW[.Y+=BX7POU'07D&.8\6,$8*(46Q<::4 H!6%Q\F M='S=+0E:P]CXIH-:+C]LOV7KC]EMQ'ISUVPCN#E]6>*WOIAR;!HA2E(]"@2%S0CC$2!GEB[\U M;0*@$](8O9B9/6$\V/W9PS!3 >&7XB_N[_ER=[.O?K%)%RIN_IC]?3D:4*>W M@(07UE"$TQ4+(!33M/0%O6+L;;@X#6CR\@EVC]!/*7KV!J/Q1BG!O":$."@$ M9QH;7X0Z.8C^SC2#9U7B[Y7:!X4L$RH3I)X=T13[4=3"IT7\GZ_125QM_V=W& _B>H#6 M:6 ]=F_:=*A,C4879NL!WSB$]C'[NEO=+,L[ M_7^)5QL-[-5=(Y3 MC:O%RW7%:[4/5")$N+/$*X6=BW8R%Z4\'K?*VS.A@.QH[.D*^,D8)6\PG.&4 MUU)(!Z2*#BMS )0OQ8UT2HSOP)234UWPIRT"%#XRG4,FJ8*,.Q@-XU)&XNB5 MA3;[F?Z7[8Z64 ^P\#]MHY/T+5_&V=JX_^PF4-#G,(H*='[\83 F&FZ6>4JF2=3@7OU&[[+5^G1PR'3*7G M:G95["%(8Y3!1#-C/:",17[SZ5M$]-S9:YUN@J=2"D ]!I9I8(3G2I5( &G;Q+,FZ'7T M0[,N$9X6U_XY6Y[-SUZCET !%9@1H@"R3 HDC: E#@B9*_-0!F5:$X!',4C& M/35I:HXPA:T4#%M(+%;0I:JR>TN/.Y%JSH]LCCQ#.-717N:;W;K266CE/H(4 M1&. G, >*DR]PDR4.)AVE8FG;Y)4)L%+*[@'>(=8O[LOF^P_N]C411=H.[8W M\60X59*1GFH2K.7$"TE81!MQ[J'$T2;4B&LFG965,MT,(N6E]T O?1XDB?)9 M9J@77E$ H8B6;B$=(/K*%FK[27ZZ9-MC.I@9]V2H\1\_\>KG0HL N=/>*XFQ M]D@X;8VDI7Q*Z"OS-]M-\06^-(-T1,J:!&$ME19%G 1P BAG?:F=%87T2MZ, M#*%PFF+:XE1SGO_(UC_SK^_NON?KK=UM%^?.,%_Z.A@/A$:>0H2Q!%![P$$< MJXZ":\S9E=VD:C]E>=>0#N]!C.O^=^H_>,^TM,XHCI54RDG&M3&0&&P%IB,F M!'PZY$HA@%-M@@/2QSV-0X@=P-$_Y9R4*:E?'/8TJ8Y&BBGK(C3=& M*NDTLE&/CKB S^%?:357ZB!PJK@'6.-]!GO. #.V0(!;BD=[N_]]OA^@#V76?U[M-KO9\N-B\^^-6MU\7LVS=2J'L*W(N$KM4]6$ MZ,T8K;@AT>0QVFE:R)Z.*Z[LJ+$'CO4!\V1V%CW;+.;I^LYBN=MF-[]GVW>K MV$7VCVR]/T@]1)\;[#\G?)C["/RE?_E2T8OZ/06N@231WO<&>TXP85X?"G9S M9(6FE9[/5Y2S3(__X:O)[[[OML7#JR=#=;-UNE.]B2.-G]WEJ_UX3P6?N^DX M>&6XA8H3H;'!<34PC#5':AWPKQ4&6&H&6J8C>92Y;;WV>UL MZ:*RV/X\$=M^X:M #53I4JZ4BCAO!8MN=C%T3&"UPG.OD5P#3GK>%?H]$>

?!,T4(T0(+*QC@D.AO"D';0FH5*+HE5&FU=SEG>#8. K9ANGG(M?= M=1X8B4AJD9X;6"6% T*R$@D(6QW$MC)YKT\)C39I/>FN]N5*82I.1XSE$@@O MN,7IHOI!#((@'$V;38QN#>;]8HG3>M /Y>4?K;G:;_;Y+J0G>%;K7Z"1M)AY+F61@DEG.8,E%C$%3=HL=/'=6*NFY%]SM*H MC"UP>R:(NOG7;K--RKTN=R_W&% TCXTV $/N.3)(0(=*? B$;;1JJ_H?;Y## MG<_6R/KWE#SU-?"IG@*%%NGTIL4+K(4E3C-VM&^D;O/*E-9F;[Z=+=\N>SN; MI<%2"]^CLQ_R)>O@Q>\#C78/P%YY@"VE0D"I;"$;E=%S;,% ]LL*.,W!+F9C M+*85T-3@6M$B9;L#$BB04D\Y'ST[)4O[FVH VK"-_V);=;8UFX^A^*96V\5- M&N'B1_8IFZ=ROXMLWR>=NLW31?X#2IV2*$3J"/=3. M %E&=^.&(=K6R_ROE #-YVN;[[YLO^Z6STN^'F*3[U;S=:I( M;K/#?\\IFA;=!H0I@QYB'WF+*5;4&1S1,HQ$Z+"^L@CR5%\,A_I@.V(E MD5HS,1COH!%$<,Z]B3AKQU647F(I"<.NS5G_!&^6#=.'P^/.6.GO8\3T&B[;<\^MP_LD/ Z-Q&4Z-U$!09*SR!D$N+D+"JK/YN M(1*HDB[MR;?:"W!OUJ2$O?EN^S&;19,GY9W*UG>+52*/GRW6^_P4%^W;QGT& M+#'PGDA@E=5(**><+G&"EK3QSR:TY_3"G*<>UT!S,!D=<7T/&S1F'&CB-,#> M$N_'@Q\G:_B_\[W91PW=JL M=QQ 2EAZW+M'Q$C1ZI!DJAJ1AS_ /]M)FDWWXZC;;Q=UL>S:)W^,/@](* MIGN8Z44'A@(8JU6YO(0@;?+)MTJ>]CK)U K@8IBMX>X= =M;B&;0SI5M<27@VS>D1[*-Z].[H3U4EV MLDV@G'%O#."4&J"ECDO,WLO(*@5/.[LJ\!H9U16T8YVZ5B?1A98! QU]5QI! M5"R*C AFH-S1H>1M"F34/O-__7M@MVA/QI]_H9YCUZ&_CX<2(DF,]8]L=KPF M=BGH=ZE=X-QI0QBG"$6H$>/(NR*$@J&7E3R&?A;UISA=>V/[8CK"1Q\&ZZ,! M!03$'G'$L%.:%Z5%+>&^E=DZM;;YG\VAJ9CS:$V MJ*/D9CG;;*)[DA*^7TK"?*I-T$!':)20"E%MM436E8J16M0J2=($JV1T9.!T M!>=@H=T'P[QHP3S_.'!,(O>I8=")N(?J"%.Y-5.%[+7EZFX_NT^CM&TA'5RW MO*^2:?G9QT$+[C$7G"%%L271Z8S E!K3N2N+YW>M39KB.)E@V-DBGVF$Q?C2 M'U]FF^R__^O_ 5!+ P04 " !7>:%02#>>8MQ! 0 S?@\ $P &ER8G0M M,C R,#,R.#$P<2YH=&WLO>ERXSBV+OK[W*?@=9_>)RM"SL1( )G5=0(DP6[' MSK*S;%?OW?=/!RW1-G?)HIN4VOH9)&L63OQS!]^#("B?#>!1-;OYR]/NE?\R/_N\O_\_/_^_Q\7\[ MYY\M+Q[.[L+)U'*3,)B&(^M;-+VU_FL4IG]8UTE\9_U7G/P1?0V.C_.;[C_" M:X%9$%(AV)" $1*(V,'PBMEL>$TPN!I\_\A#/ H )8QQ2H97H< $8]MFP9"C M\"JX*A^V>/NP>/LLU?TL7F_-+W/C^Q])=',[M1! H.Q2WGX[U>/58YZD?SFZ MG4[O/W[X\.W;M_??\/LXN?D A1 ?OIMKCO*+/J;#VW 41\?7X6@23\/Y3==! M>I7=,HK2#X\N^H %,< 'F-8/N8Z/8XFTS )TVG](RH7U-R>7M\?1U?Q\JWI M].Y#T=AP6[KJMK3^MFAXG$Y'\]N^7R7C]VDX?'\3?_U0-)K;X*/;IO?)BON* MUO(_\P#^\ '#69)HYOMQK*>X^4&/KZH9P#@,ZJFL&VHN'TZOQO77FY::&VYF M05)_@VFIN2&9U5^>S.K(;R@5C,A, M&YBJ:*SI]"2(AFG]N[*FN@X.&V2,;J@C_^1K _4G7YLZM)J&#RZIZ6":/+QY M,7])$QPSEC5/7,W4Q14K&'M^V6HI4URQ0M*4 CN*@H9)K5Y1,Z19>APDPR0> MAS6<7&FLN74T'-['#6_-VQI0DU[5(*U$C6ZL[^9-$-P_('RUFV5CW1N'U\=I MW32;%V9M=2@-A^-A,![B)GDZ;Z^Y^7NZ&%]%)R, X(?__O7SA9Z1N\! ;1I, MAN&1!HGV0([O@Z3&0%ZZ MI)[A:]]:)X'GJ(0K,-P 8$V%XR8DYFV-1D]=!^=&3UU'P[O_:5#OIJ7N/;H# MZ>S^?MCD9U;D\89- #&L%8M5T;]8(#R^JDS^%V1;' MPV^K#3MS18,%TVR[U&G,^X;)U0VU9E7^^G1V=QN/&VY]=-$*0PNMMK-0G2:9 MWHZCH %916.#" MO[II%F&Y<-=[;.)D^8<3E9?4]:'Q[';=&MTU6MFZIQ7<3 MBDS+BK&M'U;#B":SNWKY.9HF'XR)]D%?$2;1<&XB:XGZ1W/@RK0^-OT?NTM+ MYG]S&.6J08UD/$Q=:[>,M+J@)'AFS9[5K5[VB#H?#AM[JAKK+FU!;RWG7 M]\>SX$1W5"O8QKU2YW5>5__\*#.1#4@3<)HA15B6NOURUU< M9UX5&L8T-A@C^HEUL9Z%L50?[5EB\X6/]%%S?CAN$=M%8;T/=-]M0]W6WE.YR(PXK%]0; M%@UN9]G20)3:2%9)E/IH5MXRBI(:.;^XT[37";:*!A'9S-=Y8QV#-@CM M6ID]B2=/T)C:17RD-36KIU<-DC)OJS4?TOB^073E;;7AD^O0H#]L)'WA5\XO MG/>QT?=M]'@+!=ZHV1NB0@UV_[QIA7&^-O!>'Q28A--U]-"7+*%Z#:CKR#^> M-'D=65.=!]@PQ=,Z.I0FTTI[JEXN+L+J:V)_S;Z-YIE&,MJ&HQ[HF%7TJZ>> M$>PKI7[#R!J$VJ16J&E-W&Q+E*UU"C"Z_MKD19NF>D='8^Q[ _#+U@:]4A?B M*,;L-AD\=E MFNIF*1XVF8FZI5;)U2B 7+O5.AEFX6&5]52_H!U-AM/@>\/0L[::F^[O&X)# MNF&%C%P;O*@'=_1=6U3A\ ' RSL7@;0/TR28I-=Q4-7MO*Y?Z*M0>7>ETODM9U&1TC>\&45P^?$B7Q53Q]/XP-[QMS!?&*'=SH M4.1M=7!ITN-AK1(W:X@-Q- M'Y97$Z/@IFD!1+?4L5;0$&C5#?63U#@Y-9,R MC9ILB;*ESI,SQ_R[_K1'XIG_WP5CW[\\O,H^FJETQ]C/477^F'' MU\%=-/[Q\3*Z"U/K-/QFG<=WP>13UI9&_PX_0G __:0[6;U3C_=^'/PP+E]X M],O/T?>/YB5ADG^,1J-PDGW4[:>YLY?W_/OTW%C)OF<4QV_P'Y?>D34)[LP3 MP^BCU#T?F=[[X^#FR(KTS/C!<'KL*0\)A5Q/(1\C3)2-B0>(ZV+AVM!FQ]_^ M.'[2A4=6KNC^K6,]N,+D.QJD>1/:_GS\\Z/0+QN!F\:6I'Z7#8/R/ M,$C49.1I]JD.1U B7*#YRW$X]X2K.UWT4E!;Z][Y<-9<>/3+L>$V@%[?[9)O M\GY_T;?%(U__EE;Z35PA7(D5 HYC*\"5#_?(;;+O+AM2/ M.RP4(Y13']E08NY P0$J^B$9IW#>X747'OUB>O#Z+JN)1N4/U^C:8'PR&87? M_S/\4:4PL16S*9928H<(X D'EQ/N0>(L*+SFPJ-?--= 2(5F^H9N^XE^D+;X MK)'V%>X"HQ?0D36;1/D(9NE(<\'%;9"44J<_NXLG% M-![^\25(SI*+J1&:?P_&LW#QH,74V(!1C"D2CDV9!JU#8#X 5[CF.= '4$'"9E'[1=TB1S^>#7'?ALP=YDV3M)T]F# MH4E#?P \[+O2M86>$RI+5M-B9*%+UUVH92+7L'RSB5L:F>WX-A ^HP!![+H^ MDJ+0.HZ/*5R(E'47ZI$QSNPWF[.SV=1$_\T>C\KP*&"0NMR'6D41V[^]<35#P]"A_E4:U]F*Y\Z!+DN*'J-'*06JF_=A5N>O2_94D$2 MCM;)%"@D\CC5IA'V*/$5 Z6H<'Q*Z0)XZRX\^H5N46 ^?7P0 @>ZKB18"=]S M!&9V*>D%4Z@R@:LO?/KX6INP!RSY/8T^3B+MB$^3656;.Q12IJCC*IM3!3SF M2J_L-_310KZLN_"A%S*)"Y].^U&O'O!39_!) T:.#[1$]"7S78<#5P^H5&Y8 MS]UBP.LN?,: /SST'^?K<.DO/YNL@FPA]"[0X[6R;)J/M]FJBPE1'I>QR/?? M4^.K9\UFR5%3*[J['QL_]:'\I=H9'Z[CL+$REX7UD:.W9/_?&BI/[XY>\>'QR\IWG&?>6G5M^HY M3:;&V_PEBT1 =(Q$>?NBK7)#F#NGF7MS#/ QXHNWC%ZF6+[9/"R*08T3GCRQ:7DB$.2([/^CJS+.48CWXI+ZL?Y,\?:M^3=^O#4K]>BH8'D]R&"."_D6=. MLAP.9W>SL8FHG)G5?W-9$MX::GX-3R;#^"[ZC:3#>S^E?-=9=1'^A"[6-_,Q9KX0*]G*FE\:WN=G= M>8W?\\(^([V7[QN7[QV3 "\P!WL>V5VS[^62H7<"WLH)Z)#$>#'[](&"_6:, M%[J3O5#I0&2A$T&F7D#LE!U1X+V+0?6N<7;O,>\(/_/.+XYM!,0]/W>!G]M? M]S0KW+_UL=Z.Q'K?-.OCY>S06^C=E+R]HF@[*^CEDJ$/ _<2 MH'?JW]*IWT"&X LFN3<1.A#$VU"R:,\*N\<*;;N2+V2%WCS8Z2E_B2+HI_S0 M!'YOX.T4KE_L[/7SO-_N784QTF2Z8(J_AO%-$MS?1L-@G#&$V='W3SD>9V;. M>7BCZ;PCS*#'];%Q7$>_F(%]K!U8SP!5!BC*\?WS]XL=G_!B(!]_OSB4"2XV MPO43O)<96$^>X%*GJU^5W O17>KOQ8 .9<*?)K+["3\P$=X;:7N)^"+G3H[B M>Q-ZD!?H M:S@ZF>@GWT17XU"F:3A-G1^_!O\3)^XX2!^ED\S2J::9EOO90LOC^W9K_I]! M@ K6GT*!78Q+/L;_2]C#B])I$EW-#(S.HYO;@^"(ID$?JHPXC8U+ [:B&\>M)[?V'+_D(7S<0>^0\#Q+@29.O_>+1G!S[.-DU ]Q19#]_V3O MAMBN)*\\:Y779'IH$L3E4FA^TQZO^3YAP(>0[%*W5Z%GF&XSS)NGQSUFF"=I M$#].0BU>U??AK?:E0OWU6Y 4DG;ED]*_!M'DT;=Z?CRXL$>7Y,\:$;'#P9=>)#P5=GL2@'JVFI?#83(+1Y^CX"H: M1],H[-7\SF.Z:4[W#=.]FM]]-;]Y^=/CNA.X[K#&?(%A:E+0>]]XG\"U8EIW M E^]WMRG?)_G2J'>?M]?4;2;^KZ71[T=W\NAG99#.^UO]/)GQ^VA5WEEO1S: M(SG4VT.]/'I[>?0J_ZR/$NVE*.JC1+T4>L.-0WT218>D0I]$L4?[\SJ;J]1K M^A[3O9KOEII_C3Z(XD*!F5S7FSNU*>]9NRZSN]'GX-9S,PM-PQS1=KVC: MVH-:RP9;VCS4;ZSKX=W#>V_AW:V]@7X0)7\/QK/0^3'_^#?-KD$RO/WQ65/H MX8D[\VM.)O>S:9I= !_AL/+(7\,@G2791/A)^*]9.!G^J']>Y4H],2;DNG,[ M9Y]&R@I0FVG9$A:>,!,UW5DQ%;MHKVZ XU'/\:UQ/.HY?@Q?\.YX\8F4WG@QUYY,@/Q@A_"FU;8NUU,_.**.7K>E%.[/(9.PTS>VCK(3T(>Q > M*@C?=-6B4(2701)=7ZOOPW$7SPBODLL((7*,R#-D5O7R%Y!K-HER6DUFC_%^ MEUM%OQ0/TA_+9Y0MBZ>:QRP]LF"?NF=F^"S:G_O4VR )T^:.YNW/?.@L'7T) MDPMS:_7)H^BKGM,N=^%\/NO'P094W M>.$DOHLFC>]8/=*'+WGTK+)I/K1U=*F=OE5C?/C Z/O'I+*@:VG?((G'#Z%E MKG\?)S!Y ,N+XM54X_#U'75CW]ENG' M>(7_F,^4),KC'"*E@",Y+?C/D<+!/?V6Z6?;?$$_Z3J"4HP=()@$B$B'Y/03 M7-C4[NE70S_.YO0C" O?]1U%?"$DLP5R"OZ3V$:8-]$/<4F0\+D"PF:^3Q14 M3DD0BCAY1+]UE^\4_2 3:$% [-E0>GIX@&B#5P"$"P$HJ.O#GH"U!(0+#4(9 MYUQZRJ&4>L+VE?"]0@(R7Y)& AXH@C$ *(28+CC0]@CW"/8EXMHG0 AQS'(" MZK$RSVLB(/9\P94F!U?(@_IVPEE!$:Z=,?B(@.LNWQ4"YBJ8+%2PAI.2W'&A M) 0#Z'O"EX4) X3O-ZK@PT PVAC]B$_T=2[TD1*,*44%X"5#2<]V']%OW>4= MI5\3@-F"@%P#B]D.%BJ#%<:^4B6 D0M[ ->J$(SG!!0 ->S->,)J36&@SS' MSPGHZT&ZC4[(82"X@8"0+*Q (2GW;>$X/A3:FG:A#0H=[$'B.>RP=7"#"$2H M0C]!'>)@K8:U$B;(1YXHZ$BM ^B?"VD M&&*@4,'"5L3KG9 Z^E$QIY^+J&]KMB/0HU0[PY[CX5+^84_1GGXU"H1 7"&@ M5,C'O@U=!S*7.(RY!0,ZRN5]&*8V#DT7"'85Y]J$@1@+@30!(>8%!RK@.;;H M.;". ^V%">,!X"/7!1YA@!,,!8)%(%!!SV5.SX%U!.3V@H!0 E=@1R(*(.#8 MT=Q80!@JW=!S8)T7PA8RT&.V%-!A'"/E:7,, 6D77H@FH=<(X4/F0($J]--. M"():C7@0*&W'Z"'",HX A.OV#%AC1(,%_12"PO==5T'-<-13$HHR#F,K&S0N M91ZR$P*UP[$@H'!<[@#,/0S,J!!C!8 %]AW8,V = 4%E,)8,PS3_>AL&>G3Z\RCZ^LO/V9\@3S2Q 4)84H(Y)$0J M+I$RJ-(\3AS%?&S>$#RX4?^QTND/0U=-N?#X-HQN;J!G=A:EU&GZSSN.[8/*XMW=!!S_C5,IM$P&!?]NXJGT_BN'$K^[2.\_VZE M\3@:67\"V;]/#Z8/Z:FHSDWU>_&$ZD\Y"",ZA^RC*?&9+6S7DTN0V3:+I\QW_\"=K@T\\?S(TEQS\B9D^GGDZO MIU,&P ^9T)K_7OF;_;E*/E2^-PK<*H5(*4";!#!_]D#,'=G7;_D[K^+Q2#_B M]].32^59%Y?R4ET\'."+M4-KG;M0[N_G)Y3T[]>GIT.+.^]^]Y"@!+Q]%Y6F8"N8X*7 M?.@1[:WSLGYW_:I6=S/]J8VD23[*DU6B8F4C:"*0VY3PDE81* M"I5-(>34Y2YP;81(Z84HP@3QCJQ)8'*K1V'TT8N'614@D[ZNK9(\-UD;B(M= M3/^X].K&L[+O$!S_-J?O@U[_4AW1ZPAD=8P)<[9Z'BL^?0C+V-XA6S6W\R MKS-!T5H3U&ZV,@5Y@979CM9_.%F/!]H"ZSU!/E2RE0BQ ? =WY<^)Q)P&P.G M\!&YZX%:^?#;+$@T3L8_SL/[.)DVBPKKVK#7]"]'D1YE&@XU)>/Q53 >Q].K M^+M!B6#$_M0D%IYAN.DIV/;\M*95?_M=GE^J\\__L,[5E[/S2^O+[^<7O\O3 M2^ORS-)&PJ6V!"R(K;-S"])WHY^L,]^Z_)NR*O;#W':0[J5IA@*3Y]AS3Y67 M$&U&8-:KO&R4"^I\4> *ZA?'M*LA4O?&=!),TRK:'MJ%=R:%KU\MS>7IQDNG0SJO7 MM8&1UK5KA3J%>O7/SWZU5K H.E>UJ]J-Q>)KO&GZ.Y_YP" # M8VP32-KSUYMLAI9"6]T,$JWJ,B)/5"04T,6>$ILPI>>>VI[ 0OMOB)1&I=F6 MXRWSPWEX$Z53K4NFI[KE^=&=GSEGEY9[=JYEJ;RL!BE?RRM-KWQ; M7JGIT#OU74]*1G(KOK:2.:FM(+72^W!H*@^,K&AB1=/4&MYFWO)/;\SQ6XM( M[=[JZ=:,9@J:K>9JVWJK>0L6V08!] 3AAQ;9P!R[2%O+P(;(%]J:IESE&2[8 M0=1W:H2?*1^?:.,YRS7(JLB[\6PR37ZX\>B)_G5F4*?FUOLD_FI>8!QL+QP' MWP)3>V,7;.JWG4&\V%.J=17' '#N.;;9DR9<7OA!#B$^K3%G+H/O)T4-E[ST M_UK;AK%C@*C F#Y]&L M/$2==1J_KYN*[0:25\L96JE^PCWEN )"VW,E$T1AXI19^]!7:%G.R-$H"=.T M^-]GW67X"O^)6VX2IU<_+"^)OH:[Z$2M)K6]V"!!M SW '9M!H1#;.1"=^ZA M0N&XC:1V]<>SY#+^-GD%H9UPI'7U:.,4'CS=?==_%VL 4BHFH(]]2EW.D0=M M42ZZ$U6[;PY[_*K?'?NMIPZJ,(XCG8^BXB"D);>+[ MYF8@HC&7[U/-&]%]\'8 M"K^'PYDY 4K_K$5^F ZTTSH&JE9>C[(J';03'#Q7/+R].-C BN"%*5&>'4M;! +# M)!Q9][,DG9F(X#2V+O)M%19$[ZY^,@)8NV*6'$X_MFN^[5# [>G;%=A[F]IH M\[L5T(H="7!%&WN;H%U!C>PAR[GCST@LWTBH^3*:CK/(>!@,;ZWA.$C3MXF, M=9Q,29")THL?=UH(OTN?%?/8,I'RR[M'P]-B#2;CM+ X+=72PO;;;:1_64CD MUT3_MKH=I*/,NMYXLRM;-WW$F>-09;O"$TP2"OW" >:^+>F#D'VA0'] =)4) MCA7&FQO?W>FYO9C&PS\&UO\&[P&T[H/$^FK.#6DA)M_/][/F>['3%"A' (R4 M>85&4;18 <%.P:C'?A=C+I=Z*R3XY=R[W4WXNB.;EY[OC?+_/V?34PD!/)B.SQA!:5S^LX6VH)]*< MVJ'5=I@M5!D7J9)7\0[^E/?Y-DBMZVBL/:Q@/-97F Q)XWC]:Q89MTM[6U=A M<8%^<.%YY;=";!:9\A2_P@FK^&XE:QK'S#2;%#]K-#-G3V67WB?A,,S,-8BL M+.\ZM=[IYVE>M=*9-C72V]BD>5CY&0_ZGF#Z>!3?@H==-?W,;RX&\M/ "B8C MZQVJC/9*L[V^Z.I_]%C,3=GU^D[3E>)AV5%964^RG@;IU!+ &@4_TO?KDNDV M(22JM7 Q]7WL"TJ@)PB0'O;*W6?4$X M!WO=69+HX>2YKT9-3(/I+%VA)OYA M#EU8"?P7ILH\C5#_I?MHV")=?LSW5CI0_7L:M]2U^!49^UL'OT&!!L!=-)UJ MW&15*I)X8E3\^(<5:G7_PSHQ\E\$TL$PZY&.QL'A&-3IS/M-7$D - MZ,_#FUE>H,*Z.+ZTWADZLT\(H_?%!=/;*$OHNC<)79L6#WE_YX /TY_>!,Z5 M=2V3E:JPA-)#-L(^<7E9U] 4]<(U<*Y,C)F7 MT]G \8SAI!@34.$JUK@^%0 MPSD)#"8-AR=&_]7^:FE^.*YM2.^T'-!O24J-H7GK3H_@Q\"H>_TXK1Y-!U-LAT7V?*8"7\C\*FIAUDS_%1>MO:"YOZ5%QJ5 M7USKG_1TZNG4TZFG4U?I]*(H5E5#BY9B.:_;R9?_O4T61L5->'R5A,$?Q\&U M-D$^!N-OP8_4J+';I+=A^M)^!PGVGDX]G3I:VF^GQ6M+>__(JUP_ND*BHE42 MM6-;!K=79<,6B[Q9WW4=1EP;(N(K(*VEN\WI%IFY?S>HLTIHV/3B[F-Y>JQ23O]6R21MWQ M5MLF.VI7]$/MA]KIH>Z5@7!:MQK4D?G=JBC>A\F\R%?(D4:F-G37)N]%EW7Y:%FV:?: MX9C$6?+H+,U3R#3]PLG(I&W.J_>6F9XF ]2\:_S#O/Q;I%^M7VM-PF\F/RT) MOT9IYL!,@LDP"L8FC&AJE9F+TVDP&07)*+5,#;)HU+2O&+\+?JK-!EM;)?TI M.86M+0>_IIK@-G(2T]MP/"[YPGJG9SO+#,PK.:[.NVO.S/U'F&XI49>#12$D MR5T,B'21\'TFN.\2P,KB";;^L<9/,(/?DDQH/8'V-7S^VK3>MTV]-=NA\N(, MABW3VR )4RN>33/1861(P:PUU1VJFRE-X5)]Y8M)(>^3:)S3 ]'R]($7/BO+ M@V\')WZ6>JX'^1 H:.%0VT@Y0@F@)(34EA@XDI>5FGS.:FI+YF3+J':1D?ML M0>V'P#G)<5-ISV\XLF:3*+\D+7X8A<-(.^IIOHBI#9@P^U0][T'/\BB>%A<> M_8+8@',RP!B68"L'^VJT]4G$?1)QGT3 M\6V'.K8I34VT-2BR@\45=KCCN>:>IQ\LWD8<;;>K_+<_5OE&+EN]?E$]_&_^Y,IVCV9@O-F M^Q^BSI_G]L+JD1VW'AI'O[$JH%^TVERS+EAAJC?E@ U*F"]:&%HG'RW_Y%2> MNB?RLW5R:F1XC7)Y>U TV(T(',ZR^,;'NE>Y\N?K3EGI^;R2 MT+O9))B-HFDXZLHQ'-M<.W^[R5X>5?"<(5FWB8DI_REUJ"\0BXWGF0J+DNW=(*QYIK0NK@-0\TO^>+!P\.'LZH67C@,L[6) M_%^;C9J'OB<"<*/2=1SY5JNK$@PS8YG]V%^M-"B M,MI4=R4LJS/EZ_4U3)O_A$'/L97)HP#[@$G?+$(7F0Q',0=I0Z^H7L M'\=J_Y$@1'T$%/1=Y3K2@3G'8L]S:-L<:U;?D_ VG*2FC-F[SW&:_F29H^SN MPE>QL-7S\!.GDW:'A]<;?B_C:6$[+G$<[!+D:AA+&\M""E/'PTRVS-/9.OFM M=JO")/T_EOK7+)K^V$]YO+T)LO>?2Z%T7,?Q;&5C00%$U(,D(X+CZS\(MRUY M@_36\K5_T=L*;M<]I[SGC@)O#NE3Z%TI#&T? $S$;/Y\^Z MUU6"2^B]EHZ3X"9CT'G2H1>EPUF:FIP\(S_E)!C_2*-,""_X6K/[*,^A-M>< MA^EL_-BGZQG^B;,*#Y?CL:*$,\X'\?IS*3H!E?Q;%J>77 >I7_T#/W$24,=8OD6D%&LE+<.C:65\Y58\:AP$ #0]H4@5$KL"3?'BJ:C(+R% ME?M:<98OYI]\M,XN_Z;.:U?R>X >U%@/Q5[0;H /,,/2][#C$F&[E.3.@>U* MY+\ <6OL!?C>^AS>: )Z/$ $. M+FBC'-^QV^=3^3[SN2RS!3!.>AY]ZCQTB4?;"MPR>RA"Q$9!0"DA'' H,,<4 M0@&O;0)?("5S5K/0>^OW2>5(\(M@'&91K&(5K'+XG'&N?D^S@VP+T=E=GMP> MW='!AJZ4@XGM8D 18)!RQCTD(]+UUEM5%.)GD>XZC>-)9#NS: M7!PNGT)"7*,U &)$26 3)%E!&X2E_8)%KS5\:K^WU/?;Z"KJE[R>/ 5(M,&> M?!?YTY6V@VU.@62>!Y5@1319$X?:6N>TQ)\7^F,P[>.BSZ [!K5,V; 1M6G' MX7*0ZR$9-K$[$[6V\12[TN<04$B$*[B 6LOP8N.I;U,7]AM/VSN1HB5:S.>. MNA[TM'ND>=O!"'-7%/FPBD $L?-X[MZPJT_(NWY:5_OMO'D/W;/3B[//)YZ\ M5)[ER,_RU%76Q=^4NKSH6E??11-K>AO/4NUAI@,K_#X,[Z>F,EU>*LH*[DRM MN?2GSO6[:0?2TZ DGML/T1@Q[K<6K]Y:S-=N+69HQ=;B%4VKVEIO>EH?.[4T MM.'EH,J!<*O'NJ][H;/L_3/5RW] M7P7#/VX2K81'1OS&R<<_#8=A>'V]=5JUI[OEQ<62)?3VTG,#&ZG=69)H,EI! MFH;3].,KP;,'@F+?QWK)ON%2-]]K+B\^,@^7@:2O\* $E(.:FE MLXL2P)6*O[-T5"WW>XSG]7[QZGJ_A ^8S=<5^VUC,C?.>G4QOE;8;U?E;2]9 M=EZRV&!Q("V"C'+@>1! )B&FGN_ 7+)(HES7:4FR0/$;:4.R8#' NVU9'F9 MZ]%AN^7B-DZFEG;A[JQH\C5,IW?-1LM&*[9U WR0S\%';.9('R D34U7(3GC MQ1%Y MH"BT$V +A-Y=5]';7S3K?,C[A* MK20HU*VU^& M9$'D\SF-3\/IIE4:UFB$>*]-R4-V4@\9BLR>0U%!V^:8,.PH1#FA-D5NQN'=NW8GVY2;3.&DXY?0 C%"Q@!EWD(LX5@[S M*1.<8L6*0PPED@X&CV$V)YY&UP:=-C9 I/?:]DQA[2Q@&*0+O<24XHZG))&V MK13U&2I,1 T70KSG :8M/4390.O*?0#,X7AH^6:PX8,$A]>:A&N2@_;/9&1X M 4T(B.,#YE HB4.ICS$M=)G O@^6HI+9!,B,[IOVV0@<,-*JS_;2F>ZL)NQ] MNL,$,%UD"RA;8]7#DKL*NI!PW^6J ##S'6D83$9($X/&L O3"UL M:5/C!@:Z?-[A93P-QNVJY-T%)EL TT4^D,B3GD8AX@0*C$EA]"JI ;L4C-F. M4N5B0/=C7:)W$_#[G?N];YO#BJ,*)C?6. S2T,I> M?1Q?'\_TE\/VWCA=P,_3OII916<$N39@RD>.+.!'?!^2I;!*2=;/AJKGIM=G MU[^G86:C;LZ;T_BC;>*OLQKOD!3;[@*(P3F J"V@%UV%BZI9.@^\MK0#NGR$I%IJ,"IL2#U,7 M*V(#1S ;>V4<4@%G"8@E??,#/B^#[WF899,>'8$#P/8[(ZQ3J.RJXML_( JX MT(B^2<84-I.*:W7H*P^B=QQA9"JX\!XAMJ4,X8&*_@;AO_MQ?XWCT+1J/ M#]7F%+AB[8 G?0W-^V10FX*\3L%87"M9-:F>UXD$IO_U%'EI4)O(@XQ [CO2P+SD& MR)GO9\6V7-[/^D3DM;6+ R@V.8N@NZKP"?:9+NWBV"5NGS&G&(]IZ-X9KS2 MUR!UQRH5KB/!SI0I>AZDWAJ MR8@26CPQ>N#BZ7FG8-QIL3$.-QUNV.!Y%Y]/I'/R^>3R1%U8\M2S+B[/W/_\ MV]EG3YU?_,>?.(+LDZ5^^_WD\A^'O()1'I8QCH*K:)R5AGSMB1F'J^;V>.#] M[.]=4;-YN<_[X(E8%@GS;.=,;)@98N](VV&/4&0648%V).=\)!:,'*ZK?N363BRPN_WX20-^RTD2PA$8+%"Y$H" M?*( M1G%0 "A "\/CO&HKVH0:*C[>>%3;5K74CK@8+\SUWOOZT"!B!;%]GWB M.)(S9%./;ZE,PJ_A9!;F!T_.4MTE MD\,T^AI,AJ]7D7N;2X%(]30,*HC&(W-Y]I_KD;+4LUAYP&4N74"^9B&RMH0YM@2/6_LM"B STJE]S#M9!K:S/E M@+9:C[^SD.OSEH;+BTB]';N$65XY0H-YRJ.N-F5=:GL>I0[QR\BM=-%2WOT6 M/4F(^0#C_;9@>U?R,"&(P:+R/_)L0AU74<=7V-'&JLO*HQ0%@V*I',$6?4B- MY0$%_7Z7G7(B'Q>6:T\7[C#>T$+E(44P18!1(7P"*)#*+ZL;<]]QEO#VL"!6 MB;X?6]CK0O$ $+(/ZQF],[@7*"+5\VH\H!3P;04IHBZ7+BVU%L($L190U%;= M<#(0J"\MMU.K@@]JR_7.W"I,V@M,^@Y#T!5*NW(.]:&CH(!EV1V \5*MU*7" M5A739JYXQEKP=N%-%O"F#$/J8<\L MUBOJ.3:097D?VX'^DG;\&' #@*%D<< M:&Q!Z2$*/>0Q)JGKD^*( ^EPN7R(R$K M96N8_.!S0\"<(=3%B6^NXNFYOS0 M--\-HB_070@G0\U)UKO3>!I:$/[4+\4L@14MP,I=8#/'Y5@*QX%$N0B5VA%A M6RQEN5:(+B@3D]C>@-XX>Y0VIW]IA&S;;F!G-63O MN.XI#/&BLC1T79=!QV8N]3"Q(6, %SI3?3=.I_J8[>K#+/90N M2@HXYH!EJ*3@R"94*J3Q6(+2M>%2[9XYQ2\,P?\>C-O<+/GO,(E'07IKY"E' M$'W:AS6>WCG<"\RPQ>9B![K(Y;9-'6$3FS#?+169( J"I6C+DS#S4B=P+S%S M4/Y=/"FUU_\&[P',@78?)-97PRD#2W.4T6KY[TNJ[9.%V( S.U-QB)L#:AY< M&:7IK%" %=TWL'3;?:@9Y&LX_M';K4MP%PNX$TJX2WW?D[8/ ".N[:$RUUUR M!]?9K?%D$_KQ<<"'M;JON7/6:J? WU65NH?@LZ%=.4L6FM5*"@27OA">RT!A MGPI.*%I:L%P/OK:BK>U&6CL'OGUS%:5^HYFD8&S=!]'H.)I8P^ ^F@8'>V0S MM/$"9Y!YOF_[GD(>@*.VTFB% M/2"T+YBZ2_[B>3@-HHDIF!HD$_WN?DOD,AI994ND)UR%-1*%;_#H8 J*,G#Z M=PB6MD26Y%4%=>5P.+N;C8-I./+"ZV@8;2[UE6 R@+S5W-?.V92=0F=7]> ^ M0E(LMF=1CJ$#7"DY@(K9GN.SVV?X]: 5 8K&RFA=+E#.<,8VX1P1>URF8.Q MFHV4%=)GF\+<*N'S;)[^[9T;UKVT.X%L)LH;V5<&U&&&70E8 Q(-A\TPBG/EW*M7L* MA-O:>:E=76 ?-H0/<7=EEA?T7)7]C'EOZXSU-]V.NY%SUO=C;SD3BU1B+<0H MLQ%1'N$N(YRZ3)7U!Q'UEB)[E3UQK'1X&.HY2=KH\N5M: 5# MLR 03'[HUUF3>&ILH,0W]0Q)D?W+*/![T\I".5A.EA1'C1Q.4_;U-RF?Z1Q^#\;?@1VJVPMTFQ6""#( I!=@'3/J>B\PQ3YPX1(--<>DY"#M*F7N" M!U38\-!J^&_5&S?"4'486,<&V^A9]O5;_HXK+>'T(Z+S,^?LTG+/SK^?Q0SX#=EMFWQ91],1^'/9G3\]:,JZ MM+*Y)'%>-/(:>7-YFX2A]:MNN$TMI3$ZVIUDE$W./GZ#V5^FQ,O"$QMCEE^# M9'B;DP_Q@64"/X<9O>C9Y(EL@H%A$R@..S<\.TAW2TAYN_6;%\6_ULUM=^-> M-L!0A)0LJCT"QU82 .$!3#F4%')4UG F6,"EHT4*QGA<-PN$G1(@78JC]_*C^_+#AI63VATH/:A,[3LF.4%.>5*[8(RZ2_7P MFN4'%+_!WUJ1'PBS@6WWN?:[E&OOQFD6)T]R_OCX2ANVEY*=']_!S.7!. TE MAN^3>#0;3DLL]WO8'NE/N[+L+'Q?$""5ZS$;F7KKCBP27:0V@<6\)DF47$T_ M&@+'UP5Y"^INU!"'9(!$;XCOJR%^R!BLU"O1P*.V0X -'0D)IH#Q(AU>,>%* M^ (,MF?,0D@' +=YP%_W,+AOQJR\BW7O_QUD;*<58C#\URPRE66CR328W$1F MC3!(TW#:GTC2!$^Z@*>$W)?4\0'7NA&[GN!NH2*5#;E74^LYG9Y=_S6.1UEF M5IA\C89A>A&/1]5YV:3>1+Q5G=G5#6J'Y*0<+A(K)5 H\)"4GL>D4-CS@7(< M61X-I 1H#8GM:4\\ (P= A9;=C(W=6;U@Y?8^O(V,C&SC2C#AP&D7=I=UN6] M&840$ LAP)G''%L!QU'(Y=+VE/XO5\=2 K)4RJ%9"&S:=:6\S<)^>W;^7^_W M]F+@N6*@6M'%QD1*2:CK N9H8X 7)2/\*'R.'R-&&C3>^8#[4'W8N!07.^_ M)G&:F@CT=31]@R*B.X!AO, PL%W(,;2I0Q%%C-@N\ I53B1'2]7H,^)^R6B[ M2=W-V$"T6DNTF]#KW>?7C;4;<**+F@Q0 4!M;09C29B$2G E2O=8^-Z29;P2 M3FWJ0#&@I,UJH-W75KN^E'IV'R:!.:/."K_?AY,T3%^;$;'/]OS!#KR?_1?: MKZ"SR#\/T]#DHF?55$;AUW J8'FUBBB@#)FR1Y RSV%85U$8['QF@UNNLN2/X(C0G; MYQX]AF/%9^0*4^(S&T%;ZL\^E8R7R0T,H*53)0H*:S3^6M)W._J,BOT^HZQW M(PX3BVRQ%PXAZCO2)=QQ/4YL0+_/=MD[I^ZO MX20TU:",7@Q&=]$D2J[TVT>D=0]<[5W'7M8 MU\&:+LHD8!])#KFG7.02Q004HBB3X&,7$[\]6+>HI5FK)11V#M9[=X9#GB@? M+Z46='#K2_?SZ 2KH!MK1:TM;H$$4$SY4.+2@<60\*5UR7EV1V%K;[2:DN # MN-U$^#[;;L=U\9XB5H#%8=ZVBP#ER&& 4@6@ QVO/ &-";)T?-(3$-N>XA5L M@/CF"OSO"F(/,-GOW3A.TY]:.EAX%PWJ=RL1# %<0)@1[/@VLA423 B',2Z+ ME5,IJ/*65FOF5%Z<5?IJM9MJ$NC?5IO18(#05FJH++/N:V:V+>[^J?>8#PC M:_"+%_AU-7*I)!1"X%'H0>;0,EY-;68O93X\";^MQJB1W:H2WA<'M[MZU!Q+ M;;TKW-I2C0ZL2?C:[-E=KNZP3J72!20=RAT7NV8[MX! (4>YY=9N_1$OU7V!VV!D)!(>45* MKT^%M%\#VQ9WH6F?=IM1J.YKU5UW6]]]KCBKUE6H)S\LOTV#[Z^/*^^B_;M. MVU9B4,CW;2( =8DM,74 8J"(&IM]H]A]#-N%W>LG\9VKWQ]-9GJ8A6$<3U(G MFX/\NDLS ^K[- DT4*))D/PXF89W9O7(8#R)L]3%$W.:1IB^?C?W4QUALI4D MXOU1UKTCW#81NA^GAK 2Y:(^EOIGP3%P/(XQX,@O=#OQ&5G*ZMJJD&BS9/^ MDJUXVSL>Z]X1V^!D;@98[Z["27@=37\JUYL/V*9?8QW 2GA,(45-919'VH1P MA)A+RO.H7=N72_OTYH N;'DGI_IV-/M &S:],]X[XWL+W#6XK<30N.<#%[B2 MV 1ACV!.W+)&*G:QX[P8MVVZX@!MUZ+E&^<+B GN/: M#$A21F2\IQ9[V,I;V+<6?=A8J6W0=(?DWA [O6^SV7; MSEIW]^$X01H-M\3-.^: [;Y_A2HG5W%(J.W:C@^I1VQM.=C2+?PK6U"X%,-5 M03+1HTJ_A,F%$>\9HSS1SRKOJ=H4:&Y2@*>Y6^"]W2_0]KY4+XQV11BMD45L M(8N [T'*72@I@UP02EP;%PO)2/ERJ]%X M-@U'6Y(AG105'9((Z\P3L1 )"#L.UV(!>A0AJ:1C\[(4+'69ZZT3"<7$[["! MLC]V2&]N]**B7>,!PX6DT!Z,K2=+B@V8#ZS- ML[*[;R7L_-+U[.XJ3$Q%L2RBF5JS-"LJM@AR6GK,P]DXSU[LCT'ICT'I9W__ MG8H5,=+]+^L),5M4Q\4NXMAFMBM]Y%/B^Y[-RB0-1WE+"Y'_%9J>AB.IB1+< MA+E\/;O.-&IZ-INFTV!B1OWDX&(NEU^V5LD'2.Q%H<\#L+\/ 5>B4FG3%P0 MAHG$MJ<1YVIWN#S\$@&YY/V^$E?+ENYK<,4&O-7B!'MCYW97HZT,D^WWILC5 MH"25(M;<%/1Q!%'*!9PAE[JR.$)3$D44>B(H"UHO87/7U%WWHM>]FW&@(,6+ M^\ 2'A$M&/$=!VX6XB 8)A"5L'Z3MZDX^8(=0V.?#-+@:A^7O;3R[,IAQ M- F/;[-Y_0@1^/,#1H:&;2O#'89F!VD; [Z\#:U@.(SO](T_].NL23P-4\L$ MB?23(OV:&W/,RGV03$U$::HOU[R4Y24&FM6LZV@23(:1OD0SVS0T)]FE[Y<& M68[]\:"7AW2TFB@MC)@\FM[L[VU2/N->X^GX*@F#/XZ#:]VCC\'X6_ CU6_Z M<)L4@PDR**>Z1\2<<(2 @KZK7$.1?D1T?N:<75KNV?F7LW-Y>7)V^J:TJ^FA>W9ZN7<_4W=7IQ\G=EO?M\=G'QDW5RJG]671O% MNVBB!4<\2[4V2G_J7.]FDV VBK0P>T;7%H\5S^V':+2*GB<=*E<_,() J2JB MB;;@\N_5QTV,(A\_5"\@MXHR_68-P_&X:,W6ALQWW]+,M$5PX\E-ZS MR6HVP<"PB:GD>< 9$"ULWF\U&WL'-Z[N^K[4YJQ-P5%("3SH/?NM;B-Y6^[N M]YCT4NU@I-IJH6;#0]QLWTWV/)C-*OD9 68%(0EOPTD:?9W7+,YML'Y+_=Z/ M[V#FLF47BG;;AS)E;?4SK>$L2<+)\(-6\'H?V;I-%OP.\3%_=7^ MA0U9Y3 !FRK, ='*V/6!+7U8'*LE@/39DG^1"52W*D]SS>SGL^$6DW%IYB)_ MMYR,+A5.29L*[[ [DB& M]1:&[O%.61&S21+JI_X['%DW031)+0V*89#>6D;F6+?AZ"9,LR/%L@2CX/LA MYM)GLH'RA!R!PF8P*4;+1_DUR(;?Y[3_JR:]\>W/)I[N MX5SS2,W9VK47#)@_0I@.;M6D0=#9W]Y"T]>[B MCBUTLBL MH7C^TKK8)^Y-BJ/P/6IY^+E(W"W@+OV8F]DP$&;I6"Z'T3;"S?\ M7:8V?[),-"VL4Y]6$@['09I&UU&VTWL:6V%1+Z!%Q;J/YKA80)\P0CV,E9*> M-LD='_NP.#W7AXZ/E@^P;X"^ ?OY?#Z&CTQOA<."!VFW4< M]L#4[IWP?47]2M"S2FR. T^9?:H$8(*I#QQ1VME*VE0MU9/<"N@WX&A#8.__ M_IQGKZIU7.]7'.=WN>[_:>%!WP7)'V&>L)V&0VU(3J-6W>A=/EMHM=)GE1B< MLEV(?$H!H[;6_ [7'G>!?^'[]M*6]2;\RZ]!-#:3H3&8:F!>S*=D(05*P+]U M,!ZVNI^V/UAL'Y7^#H-_-?9I95T.*HTPB376L7")(-PKRU4(YBYONMTZ]EL\ MGPSVIY/M4X+S93P-QH]R;G;KM+(=S!W<^Z-\UIA-O%+I!V#F"^8HVY<<"Y\R M9^XV*0*7CF2LD9JMQ3R>9/*0@1Y%)T[XZ3.L=]Z,ZL5H+T9?:H!RL)"BB/K" MYU(*Z-M2022Y#\O%)B+4T@$"SY*B+69LTP%H-TMC'X]'>U@ MA;96WD78CDL5=J.-A)LT]?7F7)[!!7][E^>5=+B[/W/_\ MV]EG3YU?_!]+_?;[R>4_NM;]/:SKLBW,O+8/E?L?V),=+/YR%R0WT23O7C"; MQN4/N3&?_9(7/Q'B/8$$V(B^KDP,PD?-\:#\56A%G1B^Q5HP=)MU9]I_8O^R MQMO>M(#+6RTKV%U:5MA8L0WMAMUIM^YB&@__./!U).TX)O&WMUM3>D;H?6/L M('47C$,8?:+8<[#::!-LE'&(N6Y M3CV/]#Q2%2K#X>S.G-!4L$FV]IS+E&H0,/OEI-AL_SE;_WMW9#+-CAIB]CU# M'2A#9=;*K?X<)NE__(DCR#[E\N=?LVCZHVL5" \I+V:9%ATK+I>7DW\S2_<9 MU.AJU8N#9)N_!^/9M@KO=4F>=+1T:WN!52<8!Y-A: 53RPN'H3EZHEJAM+;T MY%8/H]W2>B[E1(0,+,YTI10JU^P<0I(B005T9+&>*Y6+W;JLF+MXDFGF7,:> MI.ELZ4S7DVPME_RSN.N?%^5"7*ZZC3T83\RZG/P>I?.K*L_^-9NBE4=]G)SZ M3S_K U.T#WL(]UT.]><_=TU4(+H0%1X6D-G,=AS$(,1".K(4%4@*^[&HJ)KO M.>XW+B5>G"["^ZW]O7CHQ<.SQ0,A<_$ !5"*(T858)( QV6LV(OL .&KI9)A M&Q(/B]"VB6J?3(IX=FNB @I[0&B;A8U[<=&+BP,1%_9"7%!!& (>!$P V[4) MX&[I>$CINV)+XJ)O8UAUCAW?TX_A&&Q8_WXV#RDN7&O:I4E$,05BN"*G,\$;%]X@M$ M,/*D4X8$-!99+03S!85JF<%\H2%K/+LW;TS5]S 91NG2ND.Q$_>W2Z\C2P]D M*Y6".ZO@]WE'[6%6(\LQCA=JUG:P8A[PB \4@8A1P,N3R%SB>DL+B T8SU;> MWPSB3U;D_PZ3>!2DMX8U.(+H4P_O'MY[!V]:.6B0$NQ1S(6#M1GM8\08*E4X MM>%2L<$W@_>FX_X";^4XD![KG4Z*VV,B'.S ^]GO9_\@];R %3TO;.XZ#H38 M%KH-$)O,\P EQ$]UU9^KY]NI$[[ONOE-TW-;&-??PW2J7V%":8G^F$1#4Z>E M#*=%38?Q[6?VK:@XSPQ0K)3K>+9''1_8D/BE=8TPPTLGWJX,D)W/29M=)K\% M27Y"AQ\GUV$TG651K&['RZ!HL^AG9XWI0]*;NPM4LDB3%\K4VN?(49SXU&<, ME,EMT@4NJ<]];5"/7<'IBY-E>X3V"-T60AOKN^80M1?IZ812Z0G;Y0HPWP4. M4+@HB^\0HMSZ1)$.0+25P-63#JYL$;?+K-Z%U(9#+Y&_[R>9]W.Y5V/=]_'M MA0)>J7\A0 L;V76)KVUA*9%6A10QY$ML9FWHX!?&%':Y,)N]^-&NY:< ME3'%\560AJ/L1(EPDF;'EW4IQ-LQ872P ^^7=_K9/\CE'0@JIY^XM@>A8)AY MB&!/ 5OXK/".(5;NTL%1BV.@TLNXP47-PLZ9$'8K,O@\U-YN&DW#BS#Y&@W# M7*N?A\/X9I(])5/PG?*>5Q[[#D6;F[BZM[C42X=>-QSFP/O9[V?_,"T#2!:6 M@?;,";.I]GF)<>"AXPA26@; 4TL)W&]C&;23*++_VGS74T4RS][Z%DUO;\/Q MR)K&FAOT ,SAT/FO\=AT(;42PTQ)?KJ/-=.FX7)JR=<\[63/DDM6KXA!:"_V M3G."@.=!Y$I'2D])Z$M50)OZ"KE+$;DL<\,@V8^3R^#[?RT(KG_(6IW'H.Y$ M1LE3EK](FS5;^O6O7=3D78;U&E2SQ:Y*AFQB ^RZ@$DF?.E[HG3EL>?*>>64 M*+F:YD'V_RK$Z67LFJEYB.SSBB#]72.S2-:[C!_%X'\WB7KR3BN[AB/?]W!+ M5F>=\AZUW4#M.F4L%D>W>YPHHCS$@(-LVW85H.5F:)L A^\.;+>6L0(''-J] MUMYS_/>9#CL_OGXN]V=\AZ"7$5V8TZ[P@$UM!( +)>$ <,#G;@_6I7/_O][!_FP/O9 M[V?_,%>Z,5TDJ-O LWTB.!"N0 RX"#&_+"7L>12];* O6J2@K]L3X[AM9>\N[\^/JYW)_Q'8(6%0LM"I5RI <% M0Q@+ZG@8S6OD2\J$LPTMVHZ[N1^:;V]7A//=$TEX/TN&MT$:'LR1-&OR/2A< M['?RF.\)K']&GL+0]AS)A$38<166CG#J2_F=STDZDI/1>3C5 *PIP?D4Z"UO M9GCZN5'V5NK<[DYJ1Z?PVU4=NI> 1HO$:B*5XW E";%=29%"P/.T(3+7 MIWWLS_CZ!:O]&5\_E_LSOKU8?%QG_/!%VCOCO@"$>-#CQ$9$V#;C90Z/\#!^ M;/QH#;5(;VTK[*'-IR":A",5)!--LG0#Q2+X .*^QM.^@[87P#L_OD,0P*QR M,(:C%$:2.H!2Z2+N.1?H03C(/),+2"J?5KD QO<\@B/K ,C[TDNA GHS IAXGOOUNC>'8U#JT_ M@>Q?NR0LWF:N@/I5:3R.1O,W=2,'C!$Q%P*(*-_GMME[R($B&/C2+4^0].FB MS$@I!"I+QGEN27Y2SB-Q<)*+@XZQAUOG7*]S\'HUTWT MBR1$-YGC?[^):-UQ26HO@OE":".(0\5MLW&;(X5(>= G0#Y:DJ29G#/5F<(D MS<7BQH7HBQ?OF>BE9R\]>^G92\]6I2=?I$@!UV9,V@A!J7Q;.10"7![WX#0= MD]R^]-QT&A1D=,!$JVNGO33MI6DO37MIRL%"FDIA2P])CQ/F0>+ZDF)8UN*W M$?2V)$U?M[JRZM ,3 :0]RY]+T9[,=J+T7;%:&6%!$B70$&EE+Z P/=\A4%9 MD,F1:EMB=)N5UNP!XJWNYNOE:B]7>[G:RU5.%H7N/,!#5DEP_GOVM]*=L;;ZCV_S95V(P)\_ M5?HWU/HM3#;4P]?VH7+_ WD%-,BR^Z.)%K3Y]^H+)H:CQ@^@"D$NKS-*6<-P M/"Y:_W($CK+ONN/#\GO-N"^CNS"U3L-OUGE\%RQ)][L@N8DF>?>"V30N?\B5 M1?;+MV@TO?THQ'L.B,T9_7/)4IK/QL%]&GXL/WQZS$!'\^R#15H,/FI.3LA? MA=B?/QTMX2)O6]$$VVZRM_@NV/X3^Y*B'-7K=/ZH&*6=85K2:L M+Z7FD*E06H;2,3;)X6BY3JD&U M[)<\LF:],^G./UGOCN29>W+4L,^A9Z@#9:AJ:"([Z)E]RN5/%J;HVD;AKNZH MV YWO"R>LCG6R5*:W\S2?08UNKJIZB#9)BOO<(#^T7K!J0>R#[M>O'"8K>85 M&U^$V?@"^99FO/LK"0ABL"AA3&Q%I7"EZT*;>P)#*LM3YL7V&[/1BIS-BI[+=#-J.#3VLD.,*[& 7 <#+4T-= MX+PHA^(%8F?S&R;0@+$VCW?HQ5 OAGHQ]"HQQ"LE+%WH<@65@IBZ4-G,8ZBL M'R!L#KH$@(\94$PI 6S;P3:G MJBPCI_]M2P"UGJ/_E/I(9,!(FQ[:,F [CX(#K3O7R[*=D65K1%GUQ""'<\@Q MQE0;5%!*!H$H;2F/ ?924=:"&40Q'6"$]MX,>MHBTZZ=OV<6.;+5I?C:G/%N MLBS3[$@^/8(PL<*[^W'\(PR+'^_'P>1@3NA;@TZ"Y^BDU$.,,NKX MD*N03: M^O+1\(E_6>'9O7IFJ[V$RC-*E52A/HU=D-14[LA#%MG*V5V== MH'W>VK??1W*L 3FMJ&#H^]17 "G&$?.@9_MV 7);2E2_F+,,\BQ'X\TP_N)8 M:P_O'M[[!V^VV- /?0)<'PBL-*T(4)XLHY6.[1-:?Q#?6\![T\LJ:$#M5JWY M'NY=A'NGCE?K)[^?_'[R>T6_*46/,5F4-?=LE[N$>DQR(+66=WA1C%2M'Y78\S-;1:-K?PW2J7V&":8G^F$3#:3B:!]2BZ;:V M='0$=711U\6EGE*8$603AR/7$1IJ\P V$,ZS0F3G<]IFE\EO03(Z#:=GUWZ< M7(?1=);%L;H=,4.X39^ZLQKUD!3G#B/57B0MN[8MA.MX6'B.<"2!K*QLY]A* M/4\_=@6H+U:W/41[B'8DLP574NN(A+[PQ/_/WILW-XYC>Z)?A9'O]KM5$JWG0$P*4G9ZK2==.NZ9B_.FB)3K-+EGQ)*5WN3_\ $%RTV)9ERJ8E1D=G M61(7+&<_!^<78*4,1@^+N*RZI"D4!MO1H7O HYW$KG8I?^F2M[.%6OF?]^[CZQ;A56*J 5K,\\"/@8T'# -,*D03'*MB.Y]2Y M^MTSHO3O-)]/DN+:["B' /Y\##;N<19G68KX>)D4J6&QF]MT5B1FA]XZLOT* M'-EU +^WTG](.0S4.5#G0)VO;,V()N#GAPI@+B1%0%')N1^IJGJ5,++99D6V2,_3_'LV3DLSZ&LZGG^;V:=8 MBZA7P89'\3 X[10/8Y .?90.0ZU$#^8];/ZP^8-=<'B[@+0*WB,E>"A]112/ M :0!TT9"52CC^_X&Q-7;V 7=U-4O3> M(OFS_'8^-4,HO-Q04FYMP\);:JMPLP[G>UFCYQ?)G_]H%EQ_87]5ZQS=B^J;71*%Y,T/ MR0^9PB$GL3=;B^80:@A#I$(I (4^)B'&L8PK-Y[[HCXBGN67BS(C\0\G3R_F M@=F;5=;^VI*DOVO6=*6-%_.UA,7OIJQ1WFA5MWCS2IY=&+[+JKN!WP=^?U5^ MIZ#A]S@0,0<(LA!Q&3$1@;"J 0HAH_+]\/NK506Q$00#_Q\[_P_E),-6#EO9 MMZT\9JW,8-,*)A8L$$H&R/=->5 ,JZ"9(CX/^5MIY6>$R7;5I*=98WN1M,8'N 0WMRO\US\U:Y MT+[:Y7*17$[3B_EO29YV&#SMNKOXX]U'B'_451*#(#A10<";$ X4F"B"0QJ M$"*?!J$D50A'^0B]BB#HK%W0D3/LNRYK"K,\'2_F>?&?>G.OTCQ_^3FOGK+@ MGN*VMWK@E,3]0%(#29T&2>U@*/!V)T$5<4F%P#ZEB"E$,:LZ@B/,X6K%U2[5 MT;4^")TV.$1)92?5%H\56-%C.%!^2MPZ9-F/9BO?J> ==/E 4F^@RP5HJJC<]_'/KW.,LLOJ2+H:SBW<68AJ#P$0:% M!^H2X.;\2E,;%80! MCF*AN "A"BCS)2XE.(]\3O:1X!T5.!R_\'V["H?.)VD_WJ7V=9?SZ40_0B53 M"S^>++Q?DWQ\77(C\D>>(9-]-K $CW?31+=_>I/Y\G*:U@#R^ZS4?HCTK\NN ML EFZE$I$4B"XY!B+ -3S5AU>*%(;,!#M!HNE,U>RE[5:XS[N63\B3A[$<$;ZV>CT +OQ=^[VJK_^.0R_#.I1SV6R X84@@@I#X1"D_\%&% MV"PC"8/M0%7F7&V:%Z7(.KB V]NLX9W:-(-D&R3;(-EZ+ME(TY&;^C'A(94Q M$3X@$'(>5UCT/!0-4BW*1-ZST_KC=9GKT^;]7U9(%1C"; UXK+55FG$FNO]9DIU_S+4^FWFV2+[SYE:<5H:$6NZY&,WI7V2R9C3-] M25%IU>+3ZA(\-LF#S&G+-KS]0C]S4 =[8_7U^@@V)_WAX".D:[QB_[W.JV?< M)M_2CY=YFOSQ,;G2(_HIF=XE]X5^TU^O9Q(K& D@5*!72B")!? !)"# ) M(RY5K/^!R-R3K*S"FRS^F_/!DV3P&B/;4M:0?3U39Q=>Y?L7O]2KAG,VVPEY_;+Y@96V:ZJA#\ MTNZWRML;I].I^_5_?-"FE?FL!SZN/F]9CHOL1NO3+^F=]W5^DVQX"3=)_BV; ME<-+EHMY]47I=-AO[K+)XEI?K2?OS)OQ?#I-;HOTI^J/G]>-F0]U"51=DL<_ M/%P@5;Z"H;_\7%VT_AMXY*?'?NO\I]UN>[H([$W.:O/GL@[?O>22/55RN6([ M;UK'G59>;K#F7C/?(C,NKO,T]7[5/UP77J39>+)7">#1[?Z3U=8'V/W-E=C/ M_3H8L;0J)"$W%9*F]/448T<#F>Q()H\4TNXL5-[7(>MMIFY27'N&.@OO*I_? M>//;-$\,C()G CC?LT66%C^]I],?O8K4'O'$A]WOJ>7QH@8,/TSG1?'C_GT8 M.C4LWS*[T*.C2 ^F4R$6("6MBA$510A*HGQ"9 !YP 55KNJ7,Z(VJGZ?.(H$ M?7N8M%.$23X"B)PD.,X)F)Z#:.C)*<52,@AQ@H<4>WP6\4@.0[Y#1[YI1\ M*1J^Y'%(P\"/XS (I"(1I\K5L0JMX4"P4<=J>F$HL\:/-PKN3J>1$1"=GDSJ M7>NHF&HX3D>*:Q0B# %FM]\'/M0.I,T#&&P M<:CW\VR1AO.$ MKX(08_V/CT)&,=#LYCA/T%")CCCOFG8PK+\5B/7G-XGH[3[+LY6SDHX34ES%M^:BA4I$U@1&$H MF="?*!8U(DS@;T1E-_W4:L6_U@O^.B:RST<<=EG8 M*XDQB7V 8T!17,>12!#*;OCS$/:R3T>$'K<3>W3IE,^S[^EL,<_O3S6$RT6C M>.!0@P! IC"7$(>%T9%S&"-_I?;;)>M9Q9!TF377A.C#CN,G_26\5W2OJM MS[ST>"92@$:/$3_BE,4"^ !P! E&,7?9?^XK^5)FZA*T>\1IEYWEWD\2\G2\ MQ#)A,E[FN28I%Q,Z13/T"?YM51(0"!&-M/$I1 )(P0I4E7O8$C1T_QKU_RL M"L1)N^:'+:JCX%4"MN^'P0=_\D09N17PB2A3 :1Q2$ L8!R& :BJU)F*R0XE M0;LQ'-D<"=-KJ]?TS\M$YGG78]C:Y[R!F^XY9M76@1" 04\&Y"D+&F""4 M!E7U7@2BD.T>^_FM7-57<4(Q&&'&E9!%/6-,RM M8]NJ;!B,X77V!CYH3C\K0A&-?:U/XPARSK @+BPE%:/1QIG-!ZQAMQ>_-.O^ M*JH6TA'V7R4%^GX$P.#CGBI;HX:M0\D5ULXM]I50 ((@9M59,P8#?P?+>6>V M/H#ZAEI]0S:P]3$7)W[9M5'12SG] &UW>XUCY(0!H;4PD#QD@,58,LR$UO48 MJZK$22 $Z99N9*9/[6]N8]3][X4YA=-$O.J].63X&OLCACH]C?H$)?03X&AP MJ0=>9HUB#V()(BI"%A.BF5DJY3O%KA07X<:QNI?P5P?"9Y!0GTXEG(1[-Y!&=[T+07]]!*G?:!1%8? 1 MM9^@E=;BWH;YTO]>9K>F)^K)!ND!0(V%KU08^7'$0J(4)51B7_A5#T-M^V]8 M!;\E][:A[,5P8)<=GWQ_R)-U8$OT6(N6QX#M*6";'!NJ M/1]B9\::LP\D%H#1R.>(T A$F ? Q:T;62S$I8NWXV"CZ MY\KY>9W &1@1VJ5:/8+@^> TG2I+BX:EL69;&5$08R2I(C'&U(%R2" C^*"1 MO#=+=W@F8R38D \[;F?W7--!6<.BJ6"9EVTYM-];ALXL)1ZQI?TX&T/ &U\W MQ(&$(D"![U.*?"5%5;\=2A%L5*2U>=>LL3:M?RT7^/[L2GY/LJDI2]-,;GX\ M3\=NZ0^IH=&(^$[TMIY5GF\]OFJ@=W>1 H'0F45O@L MH!Q0$ :$2H CQ% <5D:Z0)&_T=KR)0+E$.='1M3OM'//B0N4-RU>?8WZEJML MELS&W=:W''6MPBEYCB>]T:>39ZMWT_E]FNI'S,=_>+?39':2.;?' M;0:$_28^#P(:\3#0=@0G$?,QAE&502=!C!\-/9A%-IGS@\;M1+?UZ+UKYS?8 M_2?*A:2!KL[EV^O)L;#Z7VM-Y@4<I)U9Z?D^!PS0XJ&(3E@6"%,.!,L" E$!%6%)<3WR49KP.X8LCNERD:P MTV:![X:95JZWRWQ\K8GK)/W1)_@:P\8AI2'W(9%$QA$2#&LM2VA5 M:2(D?U#1:@;^6B_RV95FX9OYS"[^(54J)"._TZJ2(R@2&QS:8V7C)[BX%58B M4A(2*"5C"&(2,DCJBA8@<;S1_6 ?+GZ!'OYWFL\G27%M-M-"< V>[7OL8E)5 MKFQ+! U=#_93Q;1A8JXP "06F&G[&D(!?.97_8P$W(P-/Y!/CJO=>>4"%:V; M.>^T%_>.-/'.\\:#LSR( +U!L[(%?-&];8,(=$[!^F M#<)W38$O/QMR >$20,X%QQ!4CG[L;Q:]E_MT=A6Y7?JJ M-^EL9B2-G$W,?Z)F7UX)"[++8/JQ5Z/U2HSTUMPX.H'PA#R H%4.SS&1BDD< M0Q8K%D51%3*@4LB@6WG086:<=@E^]R %O//F:N_$&#"AAZZL!Q[NH7K2M_TV.> M3S9[)H^G2[-2;3%0BH:#%J6-$.M2^_>V^NR4M.\[9LI6U"XB,<22,\EI0'U, MM(W-*_"0@.*-4R!OS93=:6)L.IAW>8*D_VKUO3O?P4/Z=>0E"^\R_9;-9B:N M;UH16E+KDX'=$]YOA>H@8/IC& (?,.U?DS!650,E' 6!VL;[F]:R7 1)GM_K MV?Z?9+I0R?GD7 M]@3F(]9M-.ZI+>]G5.X$G/I!8 T"JQ)8N,$9#Q5DDA("HP!2024FJ$)J(8*( MSDPMT8G @R-?'$XN*5W(["L/?;7A>E:5G]O_VT-9YK-TH_794,( /V_K%"O M/0#0&O!8;V.:=S'DB^O42\;C^8V^T5"$-YLO3,O(7']M>F8MTF]Y,O5ND]S6 M$"STY9I:[+K:LW6N-E%?4BST%[;*]=/J$MA_RI59G_3FE#X\OB@=S)BM;9#] M]SJOGG&;?$L_7N9I\L?'Y$J/Z*=D>I?<%_I-?[W.W602RZ(%!1&7 6:*$AX@ M;3#@F)$PXH&O NXK8NY)5E;AP%/;0G^/O?$@!+6-!YXB@]<8F?VXVG E^WJF MSBZ\X.SK;V=?Y<7GLR]ONG9;1OCE["(Z]R[.]!B_G)_]\CF4%U'HQ9^_R"_! M9_F+=WZAO_@U^G)QWK>1_["<)3E.K%3^"0(61I"R$ G ?14SXRNIV[!,:T?!CZQ!1I"+E0]-'C\64**5J M:)8P%!*7&CV;+=.)7#S[/5KUIUJ_WQKYG&OSX&^A_IAGM]8VT3I +0N]_D51 MZ76W&L\0/.WMHI5FRV;:KE[\A#K9O@_6J'*KD-16U;-70LN(N;8VO&">W\[+ MS?-^^%!^^<&;YU8A?@A*]?GA1VTEF=*JLN7RY3*;3@HO-]<6^D(3JKBYG=^E MN7>;SF^UU;*8:_O%NYEK9:NON=;JML@F:8DYOES8OYW.O9[?I)^\\KW_65@5 M;%:]>OAU.KVM'JHULK:B;K3"UK\;U65>,YZF>OW,@TME/\V*Z_+%V98NDOS> M6Z3CZ]E\.O]F6DU?N172XYVE]NR]F4@YCLEW;3BD)HRJ_W.K)V'J$>-"7SI+OV3>[]B/O>GF3S#[::5OKI+*9S76WU_>%L1F;(7[R?DFU M)9E\,X]:7&>MJ8ST$N=>.M,_I6E>6CQVQ\JW>NEX7MP7VJ(Q?DD,]G)2SLC6[8Y2Z?%R-1QE%E(\UUFF&.>KP#6 MS^R2Z>7(]_?C6/P4;.I'F?]_GE>/EY? MG4[-\[R[>3Z=W&DZ_62%09O?_N8]+/>9\JG T%< M+V]N#)MKNFQ-SVOFYU43?%P]/"V==QG;2Z8&/_QMOVU529$59U=K6WI?_OOH MMD*!PCCT.>*4LHARCF-9C0G$OFIMJSD:' 1A""%!(HJE5$*Y;>6=&R!J?TDNGV4U6RF=S1S*=ELK,O=B[3*9&.9;B=I$G MLZ)4M M44ZEYIIJ':9_UQJ[/)QHWOW[S+[KW#S4;K"T#)5H4^GO4O[VXU:VV9N[VM6UVY:=K/#*E\G MW[5]D:8S_:J)M?SLC]Y5DN5Z11F6E" MJ$9G; N]3'K5%]J$LT:+N[(RPJZ6>F)7F0G=>?=IDAOSU1#;U=)8<2Y_YFR_ M;%;&]:QH+@G<[;;FX%C_Y '_XW]YQ?5\.=66;JI?EDP<*?UK.2MM,DM+JS/; MG2RMX6=C4<:82?6"M<=A&$O.M/*8>E]38].98RS0CS\1)]W[<2(]M6O6F,D-M< SLU*O2,K-V-UE16#J=[3_\ M.+W,EYJ&R^$#9(8/_;T?US.&;EG?WMQZV6EEJAKB*#SCLFJSWB/P(T'>79K^ ML4X;M@RKE OGQJV9)/?:'=$BO5@8;EW=?@0^69,G-[=-[T=M*J_-?_>"_UY: M5ZPH\]1K;[!>X966.$7[9>:2::+_-I0LQ"3H#9W1!BUS!T (+$ M)P9V!_@J\J%R2)>AX'[T+LV=KZF)KVFQ+"=SJRU;1K)6E;-)DD^*%_)1*W^Q MPE=^9XKR?RVUBZA%'2V)/*YE];;9>&JN_Z/5?BS/U8=;+!^8N/?[K9'^ M^EIY_KN^],O\DWW-1R.;/OR:)H562K:3GZ;V0%LYV<+[95X4Y9'%9AB?9]H[ M75K"''WP[JXSS1>:DF<3JSB\3/-DEMOGW,PGZ=2[O-="P8"CFM'HKTN1JYEN MJ:VWQ&B..SV\C]/Y_ \K,FZUAVYX[=)TSC*O3O^\+4,9TW(T6MA56I;0'2OTYF[=,G$KD:#$TOS-VI]6?J^-=WIH@ MBWFQM4;.T]3>,ED-#6X3@Q]6-N_#BG%I98@V'_1[7ZI1#L\)YX M01-Y3>+GOU3;!ZK6H^2)<4^K=//_#M6D)W)E< MMQ^M*[]:DG6FD=F=[4__],%:;Y;^*YK7+KI^Y*1Y5MY^5E[VBS.O-*9H&?CQ M;EJ/]+:3GK8#GT%[D\Q:+2BTV=N)N]F$U^&9RVGP] M)CHBFHZTX:^I(KLT+MA'[^_S^>0N,QZ*GK^%C=1?6M]@EDP__JYEV/G\:J%% M6.IH89;>-1ME)U<*QGR=HK1ZM;KLWX8S];Y,[6^E"S">%Z6G6THW+4 23[N[ M)9I2GANJ+06),6D>;?L[&-_"Y,C+8Q=%_R8A,P3[]K<7%KG)?YI96? M635[(\$+-WOO![- 6\;H(O&5UYXT]WLK]VO)E,Z*],>'Z+\E>DOCTGRE=45Q MZUCA)EU5=6>L9M=6INRNJNR/IW:^OS&YF^K3CI#0;5I23&X 6%V9:AN<:7C%3:3EH+CM1A5M< MJ,+*%!N4,)&WU*R-3C=N#626^;$9B6HU*CTI-%161.JKB]WZ.6YTT=?=,1 MWM,&M:4V\]^157 K !.5F(!QK3-M,)R2B>OI)P;4:5!-+TZ MQ\4%]>[31?-*0ZF:%W=6$;7E_;01M6K5/QY&V$CP]:VPB[^\L.OMZV:.J29) MJ[@?Z@S=>M.4K35A'60%XN% M(:.Q!;;SI:\4"C#58Z.84A!#$:-6E SKGT'$.9$,R"C$H8*!OI00&1*!P;N, MDGUV(NQ*T]/_^1Q^;&+JNVL<5P],URK=7\NG,RK[VW1^:>MD]:-O--6T_&HC MFF?:*IIJ4M+**?F>Y[%J/P90O3?2PB_1!QZA1<;8(IJRVTR:!2X1]\GXUZM8,R5:)6[OJ M0W&=FLEHFOAX.TW&Z8=6!8U=U*DM@'$-6.L5M>.::#]V;/1Y:9PV'ZWJ-@K> M5O687XNE-A'O7:E.T\;5FRSSRC*[RO)B4<7TRVVU?N@?Z=2F'BNQY@QM:\7I MVVX232V+I:L;6YC$LCU0[N9H?8"Z_J5G5;]FE5"F/5 M.BT#H<7ZT"ZK#3+$6/HHA1Y?*="U.Z(7H*CVURW-Y;_2TB3-D]ML4M9RS37) M7.J)U[:.:UCWR9.3DLIJ^Z>P9KAV4\K\>VE*M:TP;0\;ZZFQB1,;("GC([:& MS;Y3BP87;RZ6^@G5PZWU-;'>@*$YERYU<8@R\-PRWZZU>-)O6%;ROV<&M'9; MI^:-=;2VXNM*GJS:K\YY2,M2!BUF4A>T:>+J[4HT35'ZXF]Z8TNT;;*RL2_(_3./D51DT21?& MHYO9IVD+?#9O9P2L#UN2J5Z.7Y-<[V&9V87^)^]_SN],\>!HG926,W.0PY#K MK8ELCTT)X)V=5AD#J@2SG;$60L83KDI%'7M:LK]-4RM:[3I74]$2Q'"?RPP: MNKZ:F["\)GM]62U^[*_:U;%O71=AYF45W)%WZ:IUVT*G1:>->+DT_1SOJ]%([U$O5++%F+QI8S):U9]*@6XS\_EAG\ MV;NST?7%?1FL_]ES\:9R%U=$?S*V^V,#>2ZGX19V[:ZMF="?VZ$L\W)G=F@1 M9.I-?UX/A5J8MX]EWG;<@CS:OHKN0C.,"GFI>[3-GME(6;Y>'EC[6-K MFXT72UMQ7I:>&?TUR31GY66U^[8H5;T4AU +9>[9I)[KBH&F8&"'$A8FE';& M_9B$."(A0(J'4$(2,>@K2<)VQ2ZE,F*F+9F* ^;'"$<8F4MCH@16@7R/2F,E M==^O_,O%JE&F665>E/[V:N%"<_*B.MM0.F6F4'=12[XU5BVE@+[*EEF-M;6C MF3XW]8M6\ENE-0\HR\O:MVGTTRQ%AZ=:F*/?*33.]=V75YSJ%WCO'[8:*6^QF51S7FB>RM_G3@N;%0A^VZED1ZF\\;2*AG;$J)C;3^7W+PB M3RO'HA[/Z@Z,5CR/W1V.I#75MO]BK)=ET5Z XC^KR;260D[U=,VZM:5P,QE- MQ2989#:EFF_+C+:LXVNX.VO>-$PM%4_NT"VOZ M%T81ULM7/7*51HSUDD^<^UB70IE5: ]SY!2&I;E92?FN2:US(DS<(O]>NNF7 MB?'K+A>5K34RS]N[DK5LP? ?#_5@H S0E&#>](R)(I\B3+77P$D4$2BT7P!" MTWJ2XC 4ZQI(5M9 /,_#^?)RH1TLE^@MOM:KO[W1Y#XM7DG=G($^WDWR$]EH MS.#II9JVSV3LN:;MJ)86!&E:UJT6K@9[W=&6C?O=KJZ&OMWN)LON:JY7'?*: MPI+9HP5L!Z<1 IMJU@#X?@!D3(!2010+;2IH&A%(2(8EWN@KM!N-/+NQT*ZD M0#ZQPY&"V<(#+SQM^J,PH)DD% &7-)94A)Q)L_ *4(9%#+I:^"RE176S"]?\*VWK-*SA209E?WA[;O_K-HV17K]IUQ,9J6YJ515ZM8 ME^:W:8-V7/[ROL8_R6:-6K_52U;&U[3X:&N[=3!Q[2YHRT)?Y-(^[?!=F>NP MCRB]JVHT'UTYP;CRMSYYGVVUG(MUI[7_9?RUZF!-*]N_EO^HHG2NEX^+5MA@ MQ:9Z+\S:V',%F?;!)UEYM'A;9J",F[:3 U5TOU@/[U_>M])2*[6D6VV)-2+< MRZ'[7,>5=_#>*%($:%],\5@A%(=*16&5[16!I&WO34F,M <721Q21H7$O KY M"0+CZ-&L\I/OV3A&N[_S1U_-^2NK2Z6-SW0L/AZ/'CY=!;#+@K]DO^!+/5(# MNVWL]-G'TDVP?HJ)3FJ^*UHGO8JZLY(]*KHM?=*T+%A+E$RU5&KJ &^2?VD? M87'?A$Y7W[/YHO]K80MEN,;V2N='Q(L-8@+/E=5E9-6 M4,.$$5ZVLZ;71?D$5['<[*V6Y$8Z:-UR6 N.-QWN(LAB263 <*P@"*G/4=7. M0( 0;;3WC^S0F\.3_RBG_K6<>=B:N#DQ80],2*LG#V9-0_!IL[OP.S*G.6LZ M.X,HI &12, HQCB,,:55;PF?BPWEW.%F=&1AZ\W8A"]_8#,V"QP/T71H%]VS M8;L_T5ME+TLJ2G)3'VTP+LZOM9V\BSTE A523 .)HRA&"N" 5F.7!/"6/<4% M!"2.24PBQ#A &%>M=4,)<:@>U\]/O:=#>^KU@ND&?.D'$TK_L2KMUTOOV;7O M]YDET[=C7&6^;DU=U'595JU]C^EX61K]S2&8QFLKYY]./B:V"5-JNUJ9FN>R MLX8!/R^?I0V ,)LNR_HW\YJ]BEZ[:N-YF"FVTH[VY*29KPF-IS5 ITU8[C[S M#F9JZJ FUCQL%ZM,7RMI'2K3C[$R M?1>E]1*=!W^IY MQT'ME=Z^T*WGKW2$]]=L(/.Y/8"9L:>GJ\WU_+(C?KGXXW0Z=;_^CP_^!_M9 M3VQLES,JR_*=OSVF[MLLKC6 M5^O%<5V^368WN2W2GZH_-HR!#S4,2@W6PS\\#))2OH*RO_Q<7;3^&WCD)[S? M;8=\64^!8/AS!0%_$C"AWE_V%!C3COCVG6 R;2B[O6:^1=5=V*SJKV56-3)9 MU?<# W3(W4=OL/N;*[$?"L'!B.61^.BKHZH\8VG>"LYMH*&':,A#_FI$^Q0Q M/;^LFY&]0?#I)[;Z0:!]GB2BOF/^_/!H$)ZA)@BOH@A!291/B P@#[B@KA.P MY(PHOMFY;U&&%TVH\<4@X::T4'_W>!D+'P&T64UV2)B?I[:_D0>]A[Y:#S^< M.JSJ(#@'P;D'6%HI-TDC-VD0!CB*A>("A"J@S)>XE)L\\CF)GBDWN\-QAW!$ MX&96\BW$98_ATOKGM[XP?[:1*5K-#K7R1B^$FWXA^N,6^ND';S/8 FZ%'%%& M QG#F. X#BFK;"(5A1N\_0^W]K)<^B]+4Z1S=F5SK\59L_)VIW:QFC9J\DMS9);OP%E&0O?)GW:3' MWC!@]WAA 1>X9==C0@.J8D!"3 /$J70B2U)!@/_4@;&=@^7+8E+=TY9.L!9. M_FYU!OXGBKNTX0]51/ 6Q#Y4$0Q2[H2DW*-"3H!&R/EQ" @/@"0,:.%'<$#+ M RTHAE$LT9Y";FLUP)-"[E'9QL%KR+;WGIDX"NO,6?FO)+EZ*8)ZY.,];C$) MU @3B)3B6J" D$ H(ZDHER['24R+\*>$B=OW=VPS[64:]=+X&6R<05)T:W60 M1E!HGRI2P/=5%,7$ITH%HG*MA!\2O+>@.(#=P?C1Q'W^:H^GUM_7S0)6FP-L M;1=0#6*? \T=G U_'+7LR=O13J/8X7#WB\Z&DWTV]*L#*K%PB*8RPU"VPTRR MG^=U=T%WYCNK8-G_M-V$I_KQS6%-.4H4RAB'G L11 $FDD91O3F2\HV:T -MSDYQ^=TW9^?N5<_?G"I# M>E6G3"V_755019N-FX^@0U]K)!N'&7?0%,\GX@Z40T?2G:PW%AMY=Z;5;.I( MOH'H&#>$;\BC:J"1.A9H]\4H'*J *[2[LVUK+3C>96H0!5I,MJ6/V9.=S5[2 M"NLPUH;])['K7\ P%B$..( < >[CR%=:#T1/3V MX^HA7O3)VZ]7W-<2C*@4BK.%$46FMU_@.AL_VC0NQ!"'0G(>@@"'DE$9\(HN M 4'M)KP,X$C)0$%!<>C'P.A;)\)I '#\J'GRY'LVFL:Y67E?&XBES=Y2[;U_ MF@EW&<1+Y@ _/)N07@L!M>I+V_0FG>B+#7A09CM1EVMM94P%-V616%:[VIHF MU TJ2X.P68),.GS*"ES$0HK.;$EOGE:H5VDU6V!ZL;HP&:BK-OV?CLD%VW7Q\5('C32VF M^");3$L BSPK_C"/L@ GMTF)@%'B7K@>W@XM_&I: FQ>KZ-YK4 T-C"<9;OO MU/8T_[-LK>O4^;Q(MP[XH168S\HU-R]RL)AV3%G9L#R?7R9UP_)D!7_$;'1> M)-.RO7CY[!J_?#[6=I;><(N>Y8!9*L736K<&3;-87M:(@@8\-%NX!N,-A*UI MC+[4,RSMMY&];56EN6%\\LZOL]O;S.$OZN69V-ZV%62;O;,%/WFUG%[I@=M& MN&WP1 ?,ZFZSZ)'9S.*\/*LWWMNS:@W!5?%CW6FZ 2VJ@,)J+$B]]7.#Z7EC M:*]&6S4+\H_L8YR9"V=V5TN^7KO/7MBPA0.A+,%5+;K1;.38>)'F53]YT\ZX M!/TPS94G9E^+^=7B+G&XK9KN#'%=+6>EBU"U/[;0L^Y"BS)BX.Y&J]"6K6&Y MKOFN5;7>54/8LV_3] &PO7*D)3K--AZRK'$[UU,Q#+G(;M(29?GL[\L;3^7+22- 2_-=(' -YX("7EC.'G=#>^N7M-P-FM*9 KE>;6=:0 M=MV\JYF_7NNT40;ND34F0X6*9'?JVA*.A7AV))K8M:X)/6GHMEDA[P>M &JR MJ%"LOJ>E-OD0V*F M5$M:^L]59=R"M$V+Q0JNU5U%;RO/LU[V W-S/M-EZA Z[DNOK- FNW[KM^4T MR4V?=S/NUG!->\.6]EY9A9J$BATETG9I],C35XFO!&!SM%IB8K8,"3ON/#'D M5PHG._0&8[Q:O8E9H&P^61';#>/9@&#-N$[_CMV8+BTK?M>*>^*$7DUGEJD2 M@TC58)):8'KS=DW!9C'OM6?[$(FMS/VA+2SMH%)XZ*\**SR2EX%.=1HST0M^ MJ*[Q'%&18DR:D@L,"6$Q#P3W8QFJ$,8B &&D_-C'*MQ OW)4]M5"PVN6^:U9 MY+-ZC0_6KA]_VLR/=A5B6]5,DWE:0O=I%:\545&JA!*_51-*FW0>HK.K+:2M M23C/OF4SAQ=K6:)-[16!&PMBNHF^W4-%\8B)6K2,1PM\I%E;3_!C-<'%W;S\ MNX)2KL&)*\1T9Y6T3"?]_20U@/1YVZMST:W:%GA@+RM_P>&B&%CIW,()+^YO MT^KM#H)%"\(2X?HA/5<9E%K9:/MM%>>NQG2RT,8&M[GU\+)EMSP//$S]D??A M[\O$_)1JX^C#R[?[H,$"*[6+>K]LQK9PV%06B_JJMGP_+N8?:RNV1'$MJ<%* M9V<"9Q9%>2,N4%G!CP4#-H$KBTU4P76H[-JLJ-&]C.WI7MI@@SJ':F(5;]M" M3+0VZ3]UD/?S)QZ.%MN6;W#319Y2J5T8K22OCD_<-BGMFDGM:Z M>C]'&SC9"X/AKBV7^=KKM"V7?B_1L$L0ZPK3?!O6] /8VC46K!.M)82UQ2JW M.S-J-O>/V?QN5F&_FKFX7*5AV'%2E @&YNNYEDU3@TI;[[BV-F;I5&_*V7#+-7.S!C=L-^W &'SLTW.FJ M/"V]_%J@'GXW&JSBB _E!3Z@'!." TEAVXW4 QA^-ANV$FX.=@S:-4,#K8Q M'!T0#O63]U(.[AS;S3#Q)K!)KX%,P'KCZ,F 9'*($7YY4R23';*0+TIBHNUD,O'M/"H'PJH-2$WDW\W(5\C$$I_Y"XI0SP5_O9ZO2IHP*Y)O MVN7_YLH*W2)?&%?ET3(:)6,018(%0:QB@7 $22U5>:B"5AF-PDIJ\L4*,0!B MK!02526DIGD9[P6>^$@,L!L-:"]_!#YQ=>6,7'!K]R[BF9OX52[PU?9SDTN3 MMIXT$S4!,<>%E_?>MW3^+4]NKVW\0O]N;ED!KFK@J?9:BW9!';_=ACFUN1BM M5ZR<.!DPI@:,J>,[<;4SRE2GIZ].&$5JP #J'0;0 "$UD,\+R&> D/KPM]]G M-M=YOC )EA[U+WDO("?'BF%B Q(4-*4TB!-,%8FPQ I&(2,2N("$\"5![)GG M-,K#;:;KJJDY+]+)1?+G]N.%_W41_K/(%_^T)&HR8W]O^1[RSZSXITT&Y_?_ M_/V\ T@4#D:"=HJ)T$]J'[HP#Y)ND'2UI&NU5@FY24WZ00PQ$2&..< N5]S3Z3M)NG<6=W7E'0 X)%/.P7+ZR>YGTJGI^C72)Y@ ]R2@7&3R0J(ST7, M,:08"@P CTG%P)$F./J&IHI[Y3_-5OUJ<_@=,#*E(TK$,;1..:6XSO&R8JOL M)\2AK^)82289#R+JRYA6O:A9$&[T/'Q%77H05F1X1.A1L.+)1$#.3+;\I:@L MQX2Z4C(Q;YC8P!NB*%)1H+1!3 &3HH(O#05A;^GZF_*'?\KIU&[B5YN'+#IC M9HQ&PN^2F?L'Q=(KYNZK)CX^[F9^TTDLPCP,! D4YE$H0(1C'U:!/1#+^ U5 M]&&Y6XQ\^"J!OO[K\%5"YKW5U1?SUKF(WF"VO[]8WJ[+\*YC>@PU*,TA0 @& M',,H!*$,?!J0T)DP,:?Q8836%_B! H>):6YM\;P?JA=B(TH[A95XGP)L M2W/H3IZ]UBMPKX+P;81BZ&,A9Y-?JL,%3Y>'0U_39 RHB 1G0L"08E*7AT>D MW641$H88 @0@'P$)F1\IX,K#H:+R\0Z%3[YGH\MBAU7(KUAM7FV+IY*I.350 MO(_.;L\H,R^/@YNKZF8%Y8RK(RVFL439F6^^TG&DZ9W19?'Y4&P^%)L/Q>8] MKB8]V7KC@0C>D@BJ8_?>^HG[4TR;R:H)5*.\1]XL70R5=4-E7=N)Y;AUJ#FD M@8$]U,8^ !$ - C<:5!!)(TW04LQ+N@C*#DG/[OVQJZNJ/54?= E MW5-2'5*"@Y@:Q%0MIFB3+(@ U5]BAI0YV8X))=!!IBG V6;1TO/$U!,M%W9. M"6 Z MU&U/I)JZ=2O5N'>5I!CU,M(>2LJ4] $:0X( I+IBC""D'B2@A#WX\# ML$L4LXY>'LQJ8"/FTV.H^SLE1_9X^4?0FG_BD&LS6Q$60.A'. P1K/@'(,DV MP.B>R3\=J3,Z$J)+9=:G!,_V%,WSL#^[">0_W7!MEZ3*2W(R<*=1[-"W[45M MW_"^28VJQ%?1CVPCJLGWLE/550.5=9W=VOL=1+*>+HFD:O,ANS*O*7L*V0?5ENKA+T]G6-[9[ M<%7MBZMI-Q>5R_/)"Q]K-=://KP'0Z)\]K-6.P*W&K8=M'6>@(W[)CA'4# < M^/H/#I6,4-7X%V$0^<]2>#4B1#6/?VUW$( M:T@ L;F 7FEMK5(LV/F'7>*P':(V[U>*;M!!851AP!N,X%C&!!$HI150B ML&K7%6!CC8J@F M7@GVX:!*],WY[3RW8!PEV(I19B7R165LFC[*-DEOP50,VL7<6JGZA5R547XVQ5%Y8F^ U!ID9U0K^BUM:@SMR?VLE]O2YY"11A:'I:OFX\ M3986Q%7_E-X97(G;LKVL'MQ?#2J112-T?4MOUR##2MP2VX'6@5E4\(5UH].U M85LOI066\@ T40TV5-YN%DJS6_G!('S/9VD#&>(*O,Q%#CS50NLU("]K8ZA] M@!O]_;)$S[#X+AL[5+2VJ.57K"_W0R]J\)ZJ]5\6R;?4>7Y;)K1U']LP.Y-Y MA=QD$8%*6M-.GG$<2TKY5L,G&30<_>-""R@+&#C6)#-+[%M^:5&UIN+, $CK M)YBM,PM14W6%NV4WV[RX]C8=D&^EQ(OK-%VXYU;HLANPO$^AZ96S+>EY[WJ\ MMY%EZ9\.)]1QGMNG"J7(P#8FDQ)7VO&'(9?LYG::C3.]K!4G;$//:G"$C,AK MX[U]'R8.&[(B$LCVWA\M:%G]'DW%-\:/MMQD;S-26LN4:DUNYUJ:)Y-2B'SRY*(?GO#*8NNM M+(T>@_MCH(XTM]9K:A?9=-9^H5?TD%/$.$0I1DWY XQBC$*NK6L(8Z"$SU!E MVP %2+!N:*V:6/]P$Y'E/$(WC:]Z%K^E^7B7D@CMZMBSDXU;]/E+7/M%!DOA M<>=TL_G^7U[JEEJ$[6F)/[BQ57F%P]B2)1WN6&7WKFU8DWJ*XR "3&\7U>X6 MTH:IP%7H/,;^9NKIT0VK027MCQ=Z*N"A#6OMPL8&2?##W\0G'S]H MK.X;&#"/7H=BW-,QT!,+M%AX^HQ R!F/C:.)F((0^P*YPG]M\AJOM.41<$05 M] -?:?4012&5*'3AG AS@<.7%/F_IG99M7.F*ZK5PNPFA:N9/W0U^WI]^E#= M/E2W#]7M.[12/T1A\^N7,0^MUH?"]BVG&[;;WWN?R'R=U1DHYB>_N%O M9ZN13$T?Q9L?@#BZXN&WKJBR;B$A+;?Z?U;S5P\;([IT/7]/A?54V%$UK'> + M1D.!L%(!5 &)6=6$) !A#/DZ&U;+_"K:'(P W R[=]4VIT?'>4XISG"R;$=! M$]>G@.& "U\HGRN%(A&&?M712B$L]V"[[I0?AX=KMM^_V.44-Y)D@#(4DAD$ ?21H!**0N7/ 0:2"#3__50P" M-,*LTZ[%>V]I;TV%D_7_!PEU"A**-%!E0112R$SM1,QH%,!0,.DD5(0A>XZ$ MZK#7YXB)S3,4)R6A7JG+Y]8CI-6-Z[4BF^FA)VIE.E@? -8F8/^]SIOBDF_I MQ\L\3?[XF%SI(?V43.^2^\(4(5SG;C:O?,YC2](K^WJFSBZ\X.SK;V=?Y<7G MLR]O>A)ERPB_G%U$Y][%F1[CE_.S7SZ'\B(*O?CS%_DE^"Q_\_1E\N MSKV/W@_U480?M^W..@EU5H0SG:4(XV ME*,-149#.=I *7VGE*$<[2F[##C#BM.JA8M:\IUP_HOU*ZOI)S MW 0L8ZIY$DB*(T%#0F6(6'4^.11$;!S0W97/N\P%6>?M_?/YR?@07[=T39E? MFO8DI0>1_ND:/EY5[71:W6X&WV'P'8;=/RG?8? 0WHOE(/S&0U A%2#@L>!* M&PU>^U89ZU?Z^W]-5DL\]T0HGDEXO]X8 M*K%W]*+1WE 5U,>J(/QD51#?LU!GMV*BH5#CA-+O.WB!IQ,WL^T=)V6C^U<$ MB7YGQS/>^^D+P6D+SE;&%!(>!T%,D0H$CIP3+00$="/-]JCU5$7C:SHZNXHS M8_K^7]/Y\U"P=73$J1B:/+RC)@_0)DX?54?'"&MGF4];1TT(BQ& _,#GB&$L M(AE'/G5=F"+&A-P(8>W$?>$R-?QV<3<_&,OQ$01=LES_.>N]JW:]]?"E'1VZ M7(*>\&*[X 3'<:AY,08AI$)&&)+*2Q>1+S:"2,_B15,??D#<5D*Z3% /"O 5 MN!&=K@+$#=-1A0FD.$2A !%2E$M5P0DP(C>[TS^'Z>+Y\G!&)QMIX3%HP/>E M ?&@ 3>8D3;,* +!@Q #[012)"4-:(7M(1 (?/PB9LR^'TX!TA&D70*7#PKP MX*V,#*Z0/2Y_NFJ0-YP7$"@A8%!)'!$0 4ZT'BS5(!<$[\UYTJSPP=D/X1%' M7?8:ZS^;O7=E6+82N\EFV9#&L6RZB\A0D3%OI+J<(:Z/^*XRV,:/:7;4[$<#$']9& * MEXL2Y#,U@)(G:T6 5@1+8A:'DA(I0*CYD7#.*ON=,$KC9_'F[[,*9#"=1'^. M]:72GL4]&*,"PZC'4_UT"E;$;^N P%?+Q3)/![MBL"MVDEVXL2LX]%$@%(MB M107RA01<5AX0D?0)7-&'RC.[DTY$C(3 @QEQ7&;$>)D;^''O=IY7X."/53+^ M\&6^2#VVWG+NA*R-5K30G+K@D/@!-E_'5,; 00X(C". =N38H-R" \8&1:?) ML?YSX'NW*GZ9FR$9F.0-#NQ]/^%W:&,S!".&N!FV-$H,^($#'VB2^C MV)U%ESQ6:J,9-!C>^7P)U#V/R)PP 5XZT&5 M'\WE/V4+_>#QMKKK.)LELW&63+WS1;(H.WE]OKG5A&RL,#F9WUHC3)X''L?P M^1,T],A?Z2R,@48/YGKPLWLO,2-/)]7 /C^+:C^+3UY[9>S1*3.6:Q,3&/^1?+-OO+7" M2PLDBR0_R2RZ?#/RI9OZRFR_+;.)?ELZ\NZNL_&U7I3I_,X]NGJ=GO(XR?-[ M+47ODGQBYZX7<#'/[%I/4F$CZ1;6G8CZ7*VYIT/DSYIFS],[LRFQBUD'O MXG*Z:%KIZ1'.O\VRZOI\2^\,,ZU-;TA?K*DDG_^I5=(BG=ZO'C/94UG_Q^/: M&K92$0A0QB(@_,A7/HXQ8P)5Q^HB)'[:1!7P]+I,]1]KRGO/8SYZKUYE(UHH6(@1$ 6,!=IB"GW%8!SC MJNB-T<:@LH^[2)"-G5%HP,=]V6XG5Z7S)CS7@3;1?-Y@O/<$NN MILHON[\9R6;53R"=OOW/&5>O_ MLZO/L^]Z->=Y%>MX^G QC['$*HB%#[$?1A0$(*@.%PO(V@W_A68W1&DHF?9> M_%@J B,'GQ)2"F#)518J02Z>_1ZP<39YK[6H5R#,BO%T;EJW/CK_ !&L0N'[ MD:*QI"P045R-BT>1:,V?*PI]$5*N20>"@*D0J K@2D$_?G3^3[YG8_[U3+8" MF:Q\;I/[TP 4.VS%+H_984:[RX?:.ZCD >Q&'M2+:&6=MLF*RE(ISX@;FV;O MD]F;XWM'AZQ?#5>![7F"&KXFKL)N+QN.:Y_0<6W;_<%[04O]@0C>/Q'4D922 M#DZ[8?[7Y*YV*=Z\QJ*?*8YW?&"?,X)2 EI([P K1H%2 :" 0Q!C[G(4@4(H MVH!+K&TM32>_5F3R)5V<77U-BS3_GJ[WSNVPHHMWBOK>NT,9O9(L[[T9WB!2 M7E>DH,:%5I*'82 P-U%4%&'0B!3$0Q]V(5* ^"_<22_NCE'M>R=4CJW0*LYF M67&=3KQO\_GD ?MD]P.8KXD6]ZKLB!O(]E K=H4"&#,64A_$2@H7T0L$BQ5] MD!VKI?Z[6>E74O&8C?Q.>U8^M<6]U?9'H-0'/B2T 2:'"(>A4#&3A$A"(Q!' MKB0YD%Q_ZH0/.]*+@. 1@9V:VWWEPWXZ]GTROX>2QZ'D\3$9QT4K>P8#R%&D M6$R8X,3T'7,5CU JY#\HX[ZLETQT;%1 W&E+OR.K;AQ$7R]$W^E)MUX(,.KS MIFL;BR)NP &QI#2*2,R@2_]K\87QPY4(6P589]88&Z%.S[+NOZG'6(&]6NWT MO/JGPY%'3D^_9*.JIYF8+7<]L#7 S1Z^4X%A" M%/LD#HB2&$35O'SJMXO"0LY\KMD_0%\<"OH"[U=+M=MM_0RN',!J M4/][@D798=;)+J2_:T*VK>UM?D1 V"%Y<9#SF8(0?SB&0D?M-U M@B@4$P48EI$,),(2"=\%._Q(/"P9#Y=_T98(8OT(7_8S__*JLM. M^J8/_D1$I8/U >N8,O;?Z[QQ[+^E'R_S-/GCHVWV_5,RO4ON"^-M7N=N-H\- M\;'#!-W%1+.O9^KLP@O.OOYV]E5>?#[[LGLDY'5&^.7L(CKW+L[T&+^C%G[_(+\%G^8MW?J&_^#7Z 4?^B@=%Q2N^ZS7G==IKV--@T5Z'&'>LNP6@3X6W MASW$NSV)=:(%UR>R\56>I;WW+SN]>SR\?ZJ'N8/Y0_ -)\/]I[KUWBRG MIM'5@W;_JXSCQO3__O_)O^:YX%IYRW_S(KZGM^T!(*#H!H$56\%E?";YIS<9X I'\DHPB&( M1( 5J)H"QH0^QYS:V1/LM>C"(^H?=T?>070-HNO=BB[8B"Z@?35I@ ,(E9@+ M+'T(JB 6)F#CQ/MS/<$^BRDTPN*XI51/*R;W[\63)UJ^:8(\XM/SC[,N;DXM MT3A0R!<@#F,B@.0,,]?E+H2!%!NMB-\@46;WZXL>1=$9TW;K$_76?C@",^$$ MN)$T37.EP%QA[15$D"NJI K"T/D H1]BU,MLT,"? W\>,W^RIJQ$0B1B'DH. M@80"8$ C5D%D2=]_^Y1'%[SX[S2?3Y+BVFR\GBC\>6#%@17[P8JB845!D")^ M#"B)HYB" #$@JNPCP)+T(*X_*,:!&X^8&X$/FCHF*0'$ H6:_2A (0 AJB!M M0JG$0>J8!@8=&'1@T,<8%#5Y\ CZ!H %4,6)!%BK3XJJ+HF*R^#-8[2#Z?JN M8*D.<51C6>BWI[F7IV4?SN(ZNWTQL&.7B](3MB:-WHVADK$B'& _C 3!R@^K M(KS 9UV8P2_V2:MM_9I:G;Y^7W>J%XQ\BH\Z%=,K"=!7?7V,',]:!6VQCTA M$03$ES$0-*@PE57LTV<5M+U>C/BU9 <$=@IO-L@ @81T \1($@K321B#D.% M(14 ,*EXU6HR](,H>(X(.$P8^K78G8\(.N[BBX'=3Y/= 6C8/?8)1E&D DJ4 MSQ",2< JC4\%DST(=;^FC7_DY58#QY\HQZ,&(%XA1DE$H=;K?A0 )"/@&O<' M,0U[&DU_/1L?^<<-9C2(@!,5 00U-CX*(0A@2&$$$!"$,([JXR!4;C2\?_5X M_>O9^$R@HV;W8RNP_IHFX_]>9GDZ\299LDD-\Q9XI& M[P8!IS**H)0@]"6G*L*5LQTQ%#_'V7Z]\/K JP.OG@BO0@!K7O4Q8$P"27@$ M, RDXJCJ\J<4QOZ;Q\&[Y,NCK&T9>/(H>!(U/,ECB46D")*^DC@@BOG5$8DX MCL1S_-9#!:L/JRTI'RI !\[L"V>2!B<;B3CR?8"1#&@,""4!B*H3$RC@42^# MR@.O#KQZ*KS*FF/YG$'(3:I7, JPP#3B+@$42L35VW?4&"S;H6J[O./+?*8' M?G.;+C)+U,FW/$UOTMF+([U'F."!HE''.&(!""(N?1Q+Z0>1 %7G9P4$[D/G M#;VUYQ1) HGQ-*8@FKJG(:2/CF>86#2HANNT.\ M.P&Q9YTY[VWJX6*^2*8OWCJDMVXR7VK:?!'6LWNHN6*3& Z^%'MA$.RZ#)W/ M^E7E'VY5#&()HY@3!2@,"< J@MA932'A4=!!=9()OG0@JIAI9L,.)JZV;/;; MTN\)ES8,HFH0596H0DU^6+LSOHIYS*#V^R@FH:(5,@,(_?@YHNI9N:,.A!<1 M(]AI9=4@O ;A-0BOO@LOTB2^0:A4A$F ?8$991% S%6!"QD&X#G1J0=37-VT M$]'#'P35(*@&075"@JI5:(N 9&$4< M==J7=1!>@_ :A%>_A1?Q&^&E"!& *2E4@#A3 O"JAZ7D <7/Z5/_8.*Q"X<0 MCA Y7!G!NQ%4-E7XUT6B1UI]W\FSRW7]LKS1MXQ7)C?-9NG'Z]0*,0#]OZSP M -4$OSY[^SF;:9&V^ GY^H(.EJ.M#+WTS]MT5J0E&D4Z\19SK^YKE=4TZ266 M*+V[I/"JR>[)3?_Q!#O!IOK'UZ8 \R,50,JPB!#S ]<_2H7F2-$Z.[4G=G:U MSE%K[!26\97_>Q$^PE&DYBCZ*$?YGYYLU_KLY?+TSU-[UFPV.?2BMR+R3'"D M5R:B(H9!$$1Q$+BRS("'7+QXT;4, __5R:*C3T]VS-M_T?5[O<5UJO^?IZEW MHZ^[+KQ4,^(+]N+7)!]?EV8%Y"//$.#^ WT15;1&@GPS$B#V?M9(RX[B-M7K M_SV=WG]:E84KHO!A!EPEJ?/Q=3I93M/YU2,*,EXNEGG:IKZH%&471IY?Z->H MZ7S\QP=+ZN;C>3I-+9%\]!%4$1&"2(80P@P'HO0QL,\(@/''UA%EA&,>R0#X M4B'A T0B7'6E#AC0W)!J6KTU>BM?IA_Z)^PO- VGQ4)SC)'N5W;1O.0)#3!> MYKD>Q!8%D.GKD_&U-[^RW'&E=\8KEJ;FQ\Q,?S:RSQ^ZAE^8A MFJ^FVDPOO!_TDQ;7\V6AZ;CX\:=5JNEJ$;>O8>OI*Y:X7SVM=7?[]3,CBJ8K M P!^Z8E8&\(;I].I^_5_?-"D83[K:8VKSUOV[2*[20OO2WKG?9W?)!M^RUTV M65SK/_6\G0DUUNN7W!;I3]4?&POPH2Y_JNL% ?SP<'54^0[$__+SAPUSS[W_ MD9_VO.UH7O:F;4W?JOX4O;#^],#' ,>:>].\-3?^W,4P-]A/=R7K7\ZG$_V$ M8%XLC.C[FGY/9\OT-&,?)T\%9[=IKE6G5G?.XGB@!\1 "$=." ]5YIY,5Y2O MZ4UBC*7<",6V.W-@1GB[JO.] J%/[7+O#U=0TA07QXA)IA1G4N@-9S&E-*Q@ MN21^5NO#+_/YO#%.GY0GLOYB3%+_.Q?>)J'W^M MN<^NSI-IARC8G P8/<=ZU&H06>]=9+$FI!EP$A-$0DE]CJC@. Y<$"?$2I)G MY91?3V359J9[3V=RB^'C1AH9Y-8@M]ZOW!)-\#DF$0U4Y(=01)C'4L8XJCID M(,5?3VYUD7,>$<&/6NP<&\"1WGIPLFUJF=\<)P\(E1)B*F.D$,-^2%EU1HD3 M'SRKI?0F&QJNN[B;]]3' 2. A^[1[T/WGP);P@8PF*N 8TJ4] -.%0$!A)55 MCP0%SRFV.BA;'LZ.[[38=.#,@3-?PIFXP?WCON;*4 :!3YA ((85WW=N>3J M6>ABS^3,3E2> $?!6">3AM!;#X<6S1L<21M=Z4/,&/&AYCY?L%!$ :K:L#,( MPN=@B#W$D:9.KJ=&K !#H/Y8 UXGS>&\T;DA(H$*(0Y4[ .(81BIJN3_8G/L-<"_V8Q0K3I224&MS'R,25ZV],(G50=F\$^.: MBN-&1#G",# Z6:^6PT;#JA"$#%&N&8U&3/\K1:UA*0R?!7.RG?7B^;*OM2YP MB (?FZ9\QUR)&X4H.0MX0 V:,M#5"]PH!B& 2"2ADH3JMVJRHDO .6U-?VU(:EG39K[9WCV2ON[JMF/4+^ M%CYLY7D4XH*:9J14*UX9A;*J&!0@D'<0:[G82[OXMP4.FX6/;8(\(7^/DVN%FE^8%BJ=\R= MN'5 4E$8,!DP' >(Q<2GI*JUX)2J%T:DI-F'OAG:_T[S^20IKHWXYA# GU\1 M@:JWFOBD%.[Q(8*XZX'W(22%6?(Q2 O=![[IJS#V9BXQ$#G1[E M&3A\X/ WY'#>G+@SC?$E@@$'(4X]J8!WBL$ MR(<6\P@[5+_D.''_6U=#OW7(44BL<,00HSX(0\(P\6%5W:)%8FW;9/GEPHF] MJ1%[38O(LD-DV6&RW6!R8:BW+Y[*>@O9$02O"^'63^X9HHV#:!U$:Y>BM750 ME44"F1[FB$9A("&E'%4=LX#0?N/;B]:#N8I\1-CK(L_UDX4&^3K(UT&^=BE? M6\>-60!PA EA/A AB6..*QC.,(J%$@>1K^\3E[.?#/#&^"SFL]GB;+9,RAUH M37>C__QAYFO_22R1%T1%0%'(<,QBX5/@^XH0 W@2TDC&(=8/^&O2NO'!H;99 M'?#;#O $[,?5)KCLD[=6ZU2U%UX@F-= :T0L,7Q$E1[%U&WNJFFH%FG,U2]P S7%:\1?+.'TD MQ"$)F45%[K+&9>!+?$X3WL7L>/Z[/I*53MNH]@[*VBN1TZ?XY"!>^B]>E,8O MD?&7!/(19%B;% MX^5= ^>LIS;93QM[G_N!97N.CE=. UVMLI^.X6X6 _U:A,DTS*9_9.FTG!1_ MYUM)MS:,W6/K=&5D=5JGOK>J^PPT] 4PDMZDN335L'U=-$S1\%W9]P+1YB:R M+V&-W8X8J3OM96KZ.3#2Q?C?G"2$)29 @1+3F9#6K2XQ24J$N(F;#U![!4U9>4=5ZM 3B_X397V8G'8VL[?61I0U&$ M(OGRH;S8D<+41^:9]V4[5V_O M-DW*0]7AZ7*:W'":(JJ6([F![@0&J#W'-YVJ45)@>^:&J\# BR8O!J]M@S59!2T,-5$?W#14-2DLW M?=VV*];T;%-= 1KSG?;H1@?-/N,UMOR(>DU3NHRZ],^*[!6']E43GB$?F@U8 MP+%=1;=<73)E65=%2S-='EWQ946RI$/XL"O5*(XT\[RQ >?JSN5XPU@(DPJ( M%"5<61;A=_ABR>#JEVJJ&F+#AYYNBK:HB*Z-AJKA699<^7N^JXG!-CZD][=O MPN]'TX#R2.VTT&MO%=TEZ;/391>Y75Q&=P/75DS/UPU)M,!^K*Z>V*;?%(9[ M&;MTY\.IY]';X^)\N!F9DBR,J:K*\7XWJ"J\Z\T4U6!!KK.BVF+%0)-LV7%L M4U%]VS,TPZN"+)8$O/5$D(7=I;_![3UBVP%#/F_#L5?\V5>-=X;\IUE-)47# M\!1%\2U5,D7/4"5-J=K8V9)K;_32>@G_=:00E9%B=%H^K7?\=ZZ.&W77AC*' M3W"?T7"?:@2^8HBNKOFFJKFNJAL5]X$J5#;R=->XL9LW9X^-3C%&HMEI1KRO MA0P'3^\2&- RF\Y8.GP2F);K!I8M2Z@&[0K*J9B&>B@#=J0*S9%A':\^28\8 ML)^N8Y_N.[UM/:9^7H@Z9LFE7H@HLX7E<6U5#%1?U'2P"$1+M'R1H\UMU=." MC4K(;V\>:-K(%#N]'[7W ??6M;NNJ!C-,V1=\TQ3A?\%!L\) MVYKF'B2ONK*FI)&A'Z\P^TG(JPNMZ";Y"E"BJ7B*IZJ.'3BFQBJZN9+NJ*X" M [RLHMO!4Z7_7*U!8NY;P,V#A^]A?^_)IR0OLA)1%;F=3/^;3.] 7-A W_>O MJN)F2H$7.)+M!+)L>YJER'5M,\LVG5:=+4]2#<]0=-F6+G MMQ?,XY!ER!^>)Z:VF-]9"@[+A77 *#=S(KCI M G[VR"^7D5R(L+I.0K)G=$H"\=,]/BAA:?VWAR M2:DU%XK') XB>HT<*>"%E/+1H)?9BG-!/XEA+$(S/5_23(6VON-^&"8;TW*44/*.,T"UDC@^QSV MHEY."*]$FTZ8 U/#UI&836\>+7/<]8Q,RPF<2R:0.&+[0*<+6@;(-,<55MN[ MLO\"^SL\D## #9TJS!H)'E5C>^_G(KG-R31%C ;^8Y M3@(&@I'L0JAX\=4$2LMR,=I8K\WUZK'H>>S]ZZHV5'LR38&H5P\W:I,:;.E4 M2,LBQSO">+US[:!SX2$JYD(HT JXP(2<<%&J*P1U9_YI.T%EAG=425]FR[[$N7? M5LJD>S5OV#E7<97\]P4GRO9UYW!''VY=JYO!/?ZRQ_77^R;3]>?-RS_=Y[A MY^L;_ZMPT+PZ;/]V?UD_R9\O8$/?O<_WWP5KH2/M8WY MT[;362>A#NS:OANFP/&I0$^'VJ;P=U@Q6'F32CG6UA(HQK;%%.;5$]10A"F$ MK,@UJEBJ:YB Q?KAF: V6UNLMK75:>E=#2VL:@,FF[WJVX9BBH;CP/\W5Z[;%EBF[;VEH M?4Z3AJLZ4\V&/-9.V:[2F_B'81BJ["N:I?F!$DB2X7L<2FR9MB-M=*(]IEUU MG,/2CFD$KYE1G5:8WQH5>S;NY7BFYCF!X3B@.77#,CU9K_1EX/MR*^[E&*KO M6K:B.KH&1R7IJ2)R(0J$Y!?[). /GS M30!>NBK:]&+3Y%K)_6RKG;^Y\-8;=_[ZG2OO+\(,?!LVO; LTNH#EK:CGW14 MG%\2/SP-H&#O4)6G*]_+SWRW9YU]]2V+^K_L99=4U']8WVFOK^9LHT\HO:-5 MWP]0,?T/*J:^H:3[1-?GVGO!C<,\CV;1Y"U;#/3LX'O6@&._-G1#BY:!0MZ) M0E[;O^7ENWG2=U2W[E3E]>5/1$TQ.-9R"'\YE!XO%OIXQ@L?3O_<+N\%Z^"; M69H]A-FTR4ST1.\>(7/WX4_7K-45+[S-VA#W9+U]$FF=NI/OBD1!RPCA,)N3KG)#BMY0Y M8ROY!;%37 M/N&,T=;;'G\.H^2W-,^=1V[ ?VF535AYAPM&3P!,QI][7:#WL O-+Z_"JECG M70]Y$+N#V#U9L:OHK:+JMNPHV--84715-FVM*MGH!::R6=;YA%-@YR]VU9&B M7D[HF8/NW80-9V)&FLD25UV..N_!3N$]7NT*0.4K&]:ZOPP(9;4J"_+ M]PQ75D79EV3;E3U'=J0J+".)VC,53%NXC/X#Q,Y9@?V;9.D4YH7T;LJ2_.M9 M!V8&F769,DMN.@1*DJ4HAB-;DFD%@2%+MNI6WKT:V/*>,JMOZ+1SEEGK\>0A MF#P$DT_%L/XMQ4EA%=NX8?Z>++BO"NET]4ZK+[2N:[[N2HZON:[N:8YL.U5? M%]T,@F="/1W:RFOQGD'_],YF[JUI/ B<4Q X1E/\81:\KN^M6WM^I]R+=OA)U,FX_3/,(-J"3 + LSME!++B MV+;OF@IV33)U3S5MV? =$'N6;8BMG7(#77-%41(MUU,U*5 <3;=E4_)T6;5U MR3F\CGB+.U84QN$/Z&Y;^?J9\M:T/Y[_,R'8?UG?;Z+JS\]\T\(T3X/:4]C7R0 MSM.^!1;[1-]#&?#S/?BAR/-S%#*4 >\=A;P7$2CBB\I\]R=]_G2DPAIKK]V: MZB;$B&KGH5/,Y7?45^)@+?"JSMC+Q5L)K:9?7-G236"(JC$5UW3+;>MW@0 MKV\E7L]0@KZ=D-PA(_5&1BI2(&F:8QFJ;4BFKKN>4D&(55N1GX'C=28C)>M] M9>1SF3Y%.7]LV_%3@'NF>+@%?8SFL5LF?6#&KIVW)CF08UQ.R?138D\FY:*D M;=19%8-TLI2JVZBA:E:U4;;.=K90= MS;%5W3%<(PADWPP4BUM1 MGY$9+I%V4 >FP[^NM Q^OFH@#,3TXEJ.;INR/(S<]\AIGE""\.U:"%L[4XBZ M/J0)SRN6>.[KN[ T&IJ-#'GQTUHT\-K])(!=VUBCPD=IFZ\V$/_YK._"B'_( M(5\J??D<^0Y+U/&ING+KF&9**_4HJ/A\O5[2F>Q,BWSU5 M"6S9!#4DR[*I\&N$KJ<9WD: \*F8W]^2C,!BP)VI8N/720OO;V=1#EOEE1G\ M^0=\GDX= FQ*;L+ON[.,_;[,TTGE:$WOLK'IC;S[&6Q/E+%+N]#GI@L?J,4ZJOR,>M) MIN?R,\+F;+;E2DR3"7Y^A"]VFF *[#;D+$V+)"W(ELRFX@$C^YX&?\@>9673 MJ#*.P% 2SVSR 78^_H_X-D:*98]_27%6\Z)8_O+SSP\/#^/OMUD\3K.[GV51 M5'[.X.N?JV<_"-\7\2]QB+M)DJN_?7TV4;ISVA);.1\BK*79Z_.MAZ1KY1T) MVK7S7U&ANLI._=44O1F-7]L(]DFU\;M$ U#1KR_:S+@0!A$GM< %R ML1 R BHLIS=(,9O-E :F169AE GWV,)Q-;?=>/;"%+XK4OZ;''^4+U,8,BQ( M/G[)F:U]LB$#7YK]EN0A_3VDOX?T=Y]]HYZM[\49P-/(\#V=WB9AEL#T/LMROIY'Y]/].C@UP: MY-(ERB6EZ3S@&XYD>Y*OZ)9FV*8J.XK*Y))E&)J[48;D:;G$L24=R"59,4:Z M+EVN7.J58\SSD7)'UY][[22_X5K?U<<:SG@XXV.M^X)><&^,;+Y).I,,O2A6!C<9**YY=Z+ ?T4%3;"X4 M>Y8H:KICFJKF6+ZLJXIN5;7Z=-E57U2 L[H%]J7%3 'P4KOXH/OI$_ 4KY-) MLXXPQA]IAO-[4>WB?M]D>U7YT*]A3'(>9X6U=W873AI9VGEWPQ[D[B!W>RQW M=U2'-V6IU1!:553?T5U=E&U=E65?4BK!:QCJ1KKX[03O:5TA?CO!^Y)B]I+Z M)G>1-R73(4S0%5<_60'Q^/>3-V\&ON+.:4<*BO[!/J[^_33B[76W8O>9(78) M7MDR^N<\JP99AG?DZC8CX;>K< 93^B6,'\+''"^NS3.^FI *L-QV'=WQ1"DP M--_5'5\-Q$#S?--V#1>,1P5_$ZYLPPLOIV[ __9<[19L9X>?K&_^K<',-<_S\]?JW3YY]XWM"\.FS_=G]9/\F?+V! M#W[W/]]\%:Z$C_4=['4NVT5[W=/6EK588V&_"N9!&&7_@S>&O2B?@$M>9B1_ MM@YYH)FR*MNBJ4B2[FJ.;:E5UV3+,7RC58?<5!73"U1),WW%$.%95^(%.FS- M$0WQV8OM.]^S48<6G[F>S-ZA6?O=BN[^GO5IO>Q= M@3U/VW1[PNI?%"27I(LHB/R$>$>AE,ZH[MUY)^Z\B..9&$W/;L;U[.[D;^" MQH(T%!$>Z&8/NI&?Z#4PT,Y .SMHAVV?(GR4]VM6@76P>H+IVYN$;.J+/ %2 M&2!+EYQ@&4Y_./U+/OV7*8 W1OSLOTC9MK],1_IP<> MX'G;A1MFV2,LD[KM:YG.3RPFW60PJTBT\UC_];\CDJ%3_TC-I]6$9_7,IV19 M%CE]0%I+2;:&;(4,@HS\JT3L[/;QVL&%+U44M#N(B"R.NDU2]A8+)!- M?9--NMG<]K==Q](T17%$R[!%6;6=ZE:M:>F:WCO9)/=0-OV;9.DTS.?(!*8L MR;\.8FD02X-8>JU8,HU:+*FR8@5N@! -R[(-W9(=C:>\%5U6S-Z))6402WVI M./"*Z%Y_O3XWS98I5I,7;E.@YY'P@Z2,5--"C,$DS0OAH_)$\+SV_^6W]/][ M(4$,46G*A8"3%02NZTM*H&B>;TL6+V/DZ;XN;EP(L._#*$:X0Y!F"*_\BOQ' M\1V7Z6\=4W@,>/P^64&7+##DY@:195N:HSJ*IRJR*:IR('O5#2+5-@.I3P*C MCT[0>H!&&6FB-0B-06B26FW#2ALT>(,'8?>R(O]6))<;H"06_=0W8U4YY]]!X&=A_8O9_L;HK-33S'T#7)\U59] ,3U+MLB-S< MMW1?]3;2$KU@]S[:_1L%/V1-/ >.OY#L1%, 8:6YQL?/V)G:/#@QL0/8?GXA MA79!C4 T;-?U#4FQMX;'$)F\ M3#&CMDP9S7)TT?0<4Z6=7A39<;F8T11#V@!^O;V8Z:.;LM[_01R95J?M'P91 M,XB:LQ U6H-_=V4MT%4Y4"5/TP+']QRO*A$F*9Z_@7]_>U'31Q=IL&@.39WT MUGVZ28NFFLSVZC$''ZH"ASI-2TS.'*4^Q;N64'SI2GLO)4VMP9](KNO*IB'J MHH=5DC37EBK\B:\XFX U2CY;0DJ7Z0 >_7[03J+KK0EV!I;6VPN^$^P%V(%4 M['5/0"HR+5%MLF^ZYNN.9*FB)=J&Z :Z[5>A,LW5_1Z)S!-P9A5UI(I=1N%W M$F0_>QH.XG00IY0JO-2]F081,&JABH8J"*H]1UZFT,^+>F@/BA1?S.W2$Y@_4- M9WD^Z[N8LQS C$^#&0]*K^X50#FM)F>' A[ZGKF3Q%81+=,Q'5E3?-EV/37P M+,F6Z\")Y=O/0#9;5L!EINT&E,/)^#W]B4D/$O4L)6JK_E=@2Z+E87;/L4W) M]Q6Y!D,HDFDX/9&H)Y#5T[1.BW ,(G40J8-(/161"E9J4X7:4G75T0W5(O@-$G]YXR:IF M&(JNR"I8?[YM6K(><-'G!L86+_F]1=]EN\M]DGS4+?ZYP.*N]>?TS]9TXB@A M5QPN)MIU>DE[@V8?QW>[@$ M:2)>6:,D,JZGVR1,2!SS;__O!_$#_3=,\LJ;Z(%^.B?R8/P)5V$&[*> M][$781V<4B9I'(?+G/Q2_>77=9KX4$G@QWL'9KUXZ\?-HB6O_^9 MKY[[KO.O>OBR\^H=_R*61" ME8H@FR-!%B7KD/L"YT,?_6CT_?8$P_K 2Y?I10RG3T]?%CY*^T#L!@HX$PI@ M.Z0('^5M9- I!+6W22AVD?+0:P"7BV0XXX4/IS^<_B6?_KFU3*FZ.H;)5+C# MC4S026J:/!HC4=*K)H]#U]H3B!XK5E.01C=]S](U6=1US]%EWW-,#AGP35W9 M3)R]IAV49/U5'> ")U@3_@)0QT<%K?(\LN\<'[!#7Z(8R*XK>JHAFJHB6;*D\E", MY+G/W2!^*SEQ"MZ.-E*D3HNH#[)BD!7]D!5F _KU)%MT+<6Q94V41%-Q/)U7 M&[ D'[YX?UEQ:2Y(_^3$&=YZ/8D&-$/A\'X6#I9.E%R5*EZ?\L:K8IZWH0F(8K.N## MRHK,'5?5#/Q#^H!=H >KR"-%U0=Y.LC309Y>D#S5FD;7KF^:+CCTBF)9LN&J MDF+R[K.^Z#FZU2-Y>G%>_FG*TJ&ES4G"E(?F)0-5#%3QWILP4,791I6'EC:7 MY&X-9WD^Z[N8LQP0AD-+FTY")^=8+5RWM 82H0>.$@2284J.YOEJ$"@F+P%I M&X&S$85^8;7P(9MW:=7">^WW]"K(GL/+ M+02R:KI^3T3J9:?U3D&BGE48=FAITQ.@1$\$IM:N3R/:HJI:MB=I#F)T;;^Z M%&4IBK]A@[ZVNOG@WI]K=?,+"((/^+$!/U;)3*,Q,CU#MRW),4Q%]CW;TV71 MYI4J L62O W\V'O+S MWX$\&139(U$&B7I!$M9K;8JKBZ9+MV:HLJJ)D6J*L M^-5M,3>0>F>%7K;_?C("]^NK]_>5!?DQ,O*!7G#+[^N7KV@_!]$?\2AWCH)+GZV]<=.WP,F!QO M?-!$8@22%\#Q!1!7F!'A-LS)5 1FM[F)+NGU!M1<22D!0PJ%'-XY;]*6,Y4 M6&;1!'X7)0+R_3T1%F'V#:]U@[2 @P!Q@V=5W?7&LL.MR-!H;935W\ _\@C6 M$F;5S^&3=EP)7AHEJZ\=X3-LEGS*,-F"+JNU&GAF DNX!:Y,LRR]I361I\+M M8_LA-J(P#8N03BPO;_,BA+F%X"SBH7 M2SP=_@;.G"5<&K'](RG@IECN**BA0@KX8OVVSY.&9^P]^231E7XGI@ M /SA(IV2F*TSAUV-9C#MI!"*E/%_O2?YF@18DW-O)0+4RQ0!2OQ&^N[)HM[CS6B M3.:F"_CA8RTIHN0>A 7#F,[#*B4&I1(RL4\(ZAFDF(.&@]F/^T'HPD?J09,RQQ46?[3VGV:EYY+W5*6"23> MR6N]9^OF0;7&7U$1/>SX"@0 PH5-+RR+M/J A4#I)TRI6MI8D63ML,:PZH>G ME3%[C;EG]U2CV^ZII]X2S0E!Y4X(:QXJO*1QZ#'BZ2<&_CIY<)=I-E@%T]=U MQ3)]U7$51U1\20EXE-A7=-.5UQ7GMDCKWZ-BWG8Q6%#W"P%=/ '7(,0IU,%8 M)\RCG%9_H,-LCROW+E9[@EBJ(R:XCK#.3XW1 "IYTIAG EJG^8&553L%3+TM MKUI6S:L.V)V6I#NB9@>ZI,J&;W,@IB5[JF\?D5?_*,'H"O,-'&?;PCZ\#O)( MUL3+Z+!PEO8#=S37C/)W3U8_M<=GF,4^Q#8Y@?2V)3>&BZW;/HU !9JN*98> M!%9UT4=VI><)24(3N!5T1\.UHO M_8-]O!Z0V(PWO"XFO<\,)6UMR^B?\ZP)8MR1J]N,A-^NPAE,Z96/ZR_VS:?KSR\/%[W-##]?W_A?A9MKF./GK]>_??+L M&]\3@D^?[<_N)_LWX>L-?/"[__GFJW E?.343:;K>85=M-<];6U9BR2.A?UB MNU^+=/)M#J.0+/?_54;%(Q9D:*!,S\9Y74U1;,N0+$64#%4/P,A6JRRG;?I* M*\ZK:(XG6H8M>SY&AT5/-+6JA&R@2A;3$'2'[>+5[Y'6P\3M9?V7P!:V*;76 M(N-M";;/:J57A*?UM;"EU$D:@/T3'_\E*H"#)MN(Y>L<T<%JFZ:K,Y_Y8*3AMF4QMVB#,XCS7(A7&+<':\0P;APW$+6+ F^ MN6]X_+,&/SA26O04D6B*@TK6B .),47 U&5 \=Q=%/475EQ3X9NJ]/JF!B9IT ML4@33D0\RQ_>W67D#MNBWY*[*$F0@/A9*^RL:4*?),@'@KW,@#P43@5CH:_I MT1:]'9!4VN%],'IKVN,AHE8./$=2K$!77VUGT]T;$I(8U$1;Y* M?XB42800W!,P$!D(#I_[03'&N@:'B32.*R[4!AIM.K:*!2),V9*UP)4M M2_5L6?$#RW8DRQ/W.[YM;N&+XF.]D!I;L &]<'^XPQ!HON^XKNSKKN'C]71) M80Z#*VNR[V\X#&]KJTK[VJH@Q!81PW0 4;ETP^](,HE(_D*#U0!5YP6N*!JZ MKXBBJLF*59EPJNS;+8/5CI EP8;5B83 [9$T M@_*G4Z&$ MWS[,(S"S)A2XB6#/C*&KP]D,%X7@F1EL!3 &'"90[32B\X17@4HMXX*JU70) M^I-"0\="P'$U#6JGM3QX ;P!WAHV0%#<0UPS3/VVPH93FY :NJT=R4B8IPF= M>X5,G3(P*QPQ >4$OYE,LA(TES 'E2ZPWQ%\[92,#R2_5@3Q&.0(SLTU.%K4 MVU$9Q&$D@%9?IADNLZ(W:LHP3UOX/0+'(,R$ +3]#&<(?),EQPX,2 M]F<6Q=1O6Y8%*PD)])+G0F6*,)+_V_CK&-R]O "15\#[RJS!2'T%8H5Y)\WW M<.@(R/G?- ,;ZB[$&I,K?(''PDFVLKNFC2N9(#'.P-9"4@"YC/,@4V:"OWA5 M]V,A^I+>ICA9W"9*82.!@$47CT?"YW0L2+](UM7D_DJT3##HV/B4^2;H H*] MQ,BCR,(DGY$,O4<.+'YN-]J;\#ML9#B9ESDI"B!^N[XO0=]0+TUPP\7REL3Q M:V8-VM!4A >8)5!TRD_Q\--"\5'>YO2N6H%RH+/5 PW_)02]"'*3T7#CHN,( M(#UHG)[R+7Y<'375P-4&36A, #\*E\L4)!XEW9B$4W3CX=_1;,8$ZLI'_Y7C M6Y*W$5L3Z+Y-><'L/L7#/ '@IA]"SL=$PI5O8_2F(DT7.A7IIMS01(_ MWOY$7R^+'\.?*M#Y5\S$L"LQ_G>&1,0X#WXM68I*?U %)*XT)K" AH&):_ ^ M?3.9PH',X+B9-EI$.:X2YY,#ZY+&8$GAJYS."!-"<-@5T#X"_F,OQD6!)T!Y M''_"UP!^LR04H*AFLQS?NPW.VTA\$.S4ZH=W]%^ -B Q\442-!>\\#Z:"O\O M+/Y-M^AFGBZ W?Z.*X$UC\ 3JNI%P;FD>%]I'L8S*M&V,'$E9QMRVL&M;R-7 M=ZYRQ\)>);,DW9*9@;/&5, :F'^9S)DG/HNF)5 8B(IIR2ZBE\\B">1G-GM+YP9XN02+FPE?[ M:V7)M,9KQ/03'+FVSSDAW]"V6J0PM>JB()J"N+GY$GSU6<2E'2C2$&@& ?J+ M\ ZW/THF<4D7'M% :EZ,.-PIX8*#VJ%K*ZZW,$IF,17L+*Y"(RDPE0)>DI#' M_+^$&>%B?9+F:+/B7]NS(I@U0/OOYP@((6%W"C,21V2&ZX1-.I;2[KUOA9 M&H^$NRP%8QND1W/#;H167<$?8].K+JXQQGA.\(T$246I-\B_RY%_)R.B9/EE M,LJ.R7?,TZOP=\U'A0K@)\TEZ+I;1 8MZL0QZ00*N5VA _7 TX/M#YBX;U-=! MGFVO1%FW2&&JO&6M.^4]^!>#JN^=JG_[Y/)U66 I*+J?U04PX1KO!/0LS6P7 M?02F88V.M+6%-2R27JO(:SP>?D>!G]]INA7H\%A *$W53:(:#8Y-]TQ#5C37 M"120GZ+EJ(9E&Z9EB*XIJ<%&C4B$<."@91A?W\8\X7PTE*2DJ<<$/%'!LW8H M[ 07X3]36ED%Y!]+W2.<=HOHF/#]P,).Y0PW)L.3K0S39O 9K8J14&G%+5I6 MQ6$K^ '?AF,THU(: 6$#&W&U^BE(%RJR[M)TRF03WF;".G-,/*W6J)J@R(TI M @"7 ^0)LC@)X^)Q+'P"01EEDW*!%(MUZAY0WZR1-!C+!&O!10G-+X9@H!?T MXT:XD^]+"EM"99C")S6\ D=@:BZG$K]"!ZWC.4&=XE+:Z 6V94N*L\-_L5.A M[Z]?!RJ(5=5#47R"XO;/X&:%P$AU,WQXSN#A M5/ AQ#U:6TD(8 TH5+VH2F[C+6SHT MS=_6STUI:;5'RFTQF'BTM@U>^&-U$K<^/&KQT[;$[@3,R71!A M0 -RDBX?Z07*$69:I@18=Y*Q$F[,\@&E $8(*7!KZ(-HHB#;T]4S2!+.$P<% M*RGC,V2BK56R,2?/'D+>6A'PV)*@@&>#4LP6NF_ 9V12,EP2+P)7CMPA! M?Y4+89GBXE 0<' 16MTE2D:8W"-[8_O0&"J*0H_ >N*9ID7X#6\H3*GUMWOZ M91)'($V0[6_6Q%5"[FF53'ZHU'##-TS)C"# @>.[:!E.4A0QJ8!>E6"MJ>[I M*5!T?,C!6JLD>8O&WSUA2VX05:O5D]:I&I<$$A:U( P]F5#VN(L?U^T+Q'2M ME IELA/'3[/-4>DM[=426N];?0EY=.]?5T"$]F2:DC5[V&YP?$LR84&=0W$8 M;Z\]_AYFJ#VZNO'486FQBE[KDF(/;*H1\RL7P)'X'?CEW$M%P@96 2LERN9^F.)E91'5=5V]7L;,V5_,!R ML/;%M1+4.N MBH[8NN?X>U>SVQG#[L@\J:X"K@GTACXXGI6! '..JR/$O]?*MVCN&UH<\_>4%L?T$2M[.O6^CGGZRCN<_N9.[%<$Y6C$\HS]?5E= MCWI&)N]*"8KX9+W.RRM%5K2NMX--SV*&[UW)] 1KC9UK*3&:!-$5HRFK:#F> M[6N!:/FZ(UF*HJJ\DIBEZ[KM;-X&9W'--??+9FY$=P5-U[,ARLC4]+4FFQZRNK(Y40SN'ZLJ7Y-R>+T]938I!0"$=RE-@D$M_[82GY!%,]AQXZF+"!!6Q"&4>WI$# MN:_3S7@KMOSX+%\:4JN1E0TFH:%INBDJJN&(NF:RCH^*9_F2LZ5,VG-\^0<' M?QQ7QRF*\A:6YR;E'G+"71'WJQH$7H#;?-&,W"J/:MNVZBBV(8NF:%BBH_F! MQ!6L9,K:*Q7LTXST)OW>T?JC].WY#3BX2]=!M..B)F MM")BEBW*ENZ#1(,_+%G1%)-W+PM4"<3SITZ08.Y%3TDB7 M!SG5SQ9#NV&EQ]F1=A5N2?=<451MW7>MP#25P/)U5H7; RH6C1=7X5[C:*D3 MN/D6D(PD[UN9^U."E8-OPN\OK,.M:($:>+:NJ7(0*+)IN+920:HMV3%:D&I9 M5T35<#395F1%M65+-G@=;EL5_7W7[!VU]_\&^! M K_9$4[8EM4A-\%>HV?7Y]ABKZWS5$C M6O.C/?P$J]SSNU7P/-ZIA$]O24)F^#$?_]\@UUI79&@)C"MVKZHNMH&%]8]4 ML>HH+;:>WNU#>AF]A$E4?1!53ZBMJCI";_7J-((3P,O"K&D:]ED@4[P>35FK MI$4?BO_G%Q+?@TX[YLNXK)QNK1>NS- GOHZS,!3N:CH0OM%@. M*UWA W6G"S#9>>7W1UH4Z>,'U_[B?\6_?_B)2DV2A+2'!^P@"N 4=XB?@'O] M/Y^\*\D28+Y3 F.M7A#'@L=X+YS6Z"?\=#:*O-.!JG>.A-NRP*#U$B^3)@5X MM(3UUL##F12K3PL/]'8[NQF.$\2W5AU VF+XH/9+[R%H=WB*MN<$KB')CBR9 MOFSZNFKXS%-4#$MSS/YYBLK>_4;)'>;#OA LB@A3?:'#Z-N!;_JN+WJ!Z 2! MZ7FB5[E2OJ>;+8?1U7W'"@+/-PS/-66LS5.!S@S+LI_O-+KS/5L[UXFJM>W.(__R6?(*+,L7+; \U$#1#%N%A==7O#4]<%KDY3AN8())8KFF MJYDZ6#!B15X6_OW9O=[YG@WR.JR* &N#1.A5[6-9<):BK;1[]#U?T<&W\75/ ML&(2 M23[\*4W(SO#M&FN^?O-V\^\+B.)/54,KK%+(5HPUF];UWJH]CR47<-Y"AO54 M\U;9B PM,6:U@>JOGL.R*UE:WLVI[865=&@%JBDM&'O+JME@O<6$Q"O5 ^$S M:HZE&:\DQ,KQ)'1.H+@S O9:S.N%L1?0&C+)%8H2_L,1KX;(OJ?%7JY KL , MZ_=7)6?1E(AQ/+ 7LGCZ$$W)>@&K_M>#-89ZL.=?#_8%JO4@S:SLHYG?H>'X M=JNG8Q-^IX5QZ&$IAQV6NH^<"/KN_OMBBZIM M27;@>IHL&9ID64J5M99D5]2W5 =%N<>"4U^B_-L?),,/0/"OMU+GAL]?;[Q_ MY%GQC]^QX&;-1_;W*/]'E-T6_[ 7X;_3Y'=:Y^L?_#7_V'B-\^B09#)?A-DW M^M/J05JZ^ NY)T#>GTFQ>YB;QR59&:&:TL:S;*R.PFS*4<)L!Y'QBRBER<: M8V^9MN\J(,M4T[5<*^ W."Q3#I2-$.?K*(5'_@=*D?2QM)-2-O7.,2S\E^@& M&CO#YNY@W]*M74V0C%A\%5R6J@]#;58+']EY_C3>7$Y'A5V[JG"W"S$QU55B M3&93V1!5,=1N+?56T51-TE02*K>SE3C8?C&#NL"ZCQ6&\V>C K*L6*HDP?L] M17)5T[8MT?%$4Q8#RS4TN1T5$"7/5QU1440X93R\;X(3N@^&L=^IZ!U>FZ3&F?4=+ 6/MPX(LL.!^]BB0[^"? MTMZ\E'':O49_ X]24.J6H[QT[=\2K(DJ?"UHP.2&EIC]0GC@FK8OX5W_FI$) M%E)-Z/,X@JS]R ?%/,67-%WYI>W Z=M(^LRM#SIO5(ILRD4 MWFY.07M-(.D\DQWD"21NX&_)F+3#6D>.=NP0^[JHV;X!YI ;^+*GV8$FV9C^ M<&3-$PU=?G'ZXQA"\A/L.G>6QK"I54.3&A>%"8R2]@FA)V(G8?R81_2$@OKP MW+I-/>T"TO2I;]+3+Q>\1SN0E\1JCM0]:S..P +942N!@G(DI*7T*:? 'N>< M\>H6K+355)6+3LOL)J"[ T^=T)HE7?^6J9O>#U:[0/@H/83:]BM/T6[3: MS0;7P:7+@H15L2\NMCAQ&_:6UN%-QW!EA&*'MRW_Z298I:C_I"',^RYF]VFX!8@7*BHJL^#C*TH(J<-&K!2 M<30IXS ;M7=CDXY>L,VT>P+.!Y/7\)LBS1#!+6!OB78TG&6\\2%>9)W!#MHO M?ZHY.BB.C*"M0.4$;X"$V] 4B<_#^XAV]TG(0V59P(]"Q!AMA_6 DY?VWR*MA*(O7FT M7%(N!',+])& ^1"<$.W!A#^NDT55<>Y1_0SM>47W9_5[WM2 \=T4"^K3,T8X M6/,0&L/4KL"GVH34/-*&U52=G_AV(!]3KEM!E_&UL@VDJ#M28 L%Y GV(1Q1 M5;.?VLL4.@(#E:Q#14;2&1ND1@SE51.9O&J:T@(3)=-M6]^&!H4/[%3I;*)_ ME1',XG%$60.8H&28YZ>$;26X%NA M+LRM"07*^^>,TGU%7>#R\YGQIV$V#JQ MU;6E5"Q^JW@JC#\('MH/TKXOP$?_S -8R_I=I0OS; MI/H+]AC#_V*3,.1+^.LR#A,V$"\@3_^!=40FT9+_LV[+08O 9[1\-IW2&$7K M4XN$,TMCBD#$ MX258PRQ0% @"7Y)T&5.DY#0%1QOD.SPS!^9 B<#LJ+*@?^>$,0>I/A:N-RTJ MX/UX68T'O@2X'PO*[0)F^*F<@7DS/<5::&!G#_9.)K,B$"@AHF=CT,XY>PER MP QM 12='#=U%N%Q6%@7"4N]XK]YYN0B3*[;5M+,DCS)14W8.SC':S?44 MQ\)OA)HQS"2& K0GL XJ[C$;&W"F"HY8\Y"C\TDOBAI?61X:KH MUO*SP%PJW44XV$20-2KVD+M)*QH3"DN8%:%=D)BU,4W0E(B6N-_8F0L48$ZY-^4R M:\28@9GV+(X!7A J^6E)[2U@13BEJU;_V+H=ZU5SV6.-4*DLB)F!!!X>;UY+ MA 33O%;RIQARS6%C&LC5"(BKK,J2%8<_$MYEZXJ(4] M"Z?ALJB,?$J^*??Q80. 9'A:GVIXQI>HV@M<'MM2;N6R :DTH9'S$(U@\ 9C M#H?DOC)AW=/0&:)*'F86QGG*W/#*16=-T"B;H'FUWJ=QBUO-]B%OH5Y6CK86 M(B!FT,M@DK(ZTTK<59*UD6"KFTIW)T.+O/:[]+X%KX"[H M ZEP]U4TB#G*J /H+.JK$6MB[O2D 5>\#*V#%AZR#VSRDNX8-?U08E8],ZGQ MB;=8\OCY([D[0!]6Y^S35PC/\):=;6)H-5=D$8&J^MNS$*I M RSRQ"BNM M-W^M*/P6^!/]HG8,1T"'M#Y ;L)CZT::3 %O*RDV4]N] GB:QP5XOFL2X*@E M%'8>9QUV3L/7O+>PCQ.B6YVG:*8K&2>LB;SE-:9I],3[AX3 M'C1\$V4@9O_%XB7T?F&-$+B+TUO8@>HRVWI+NR0%,8K62GVG[F,58_ZINJ^& MJJ,EP5NZ@/M'(.$P(<^VGDQ7(M-,D->A6+[WO)-V-:EIE($^QI "E>;U/\'V MR\HE#EG?=\0P?VWFU8(R9!W[*I-@928M#0*GE.&<6.RKM9#I$WM913W8M%DX MBSYP56UV%3"G6P$ZA86_L3"=D,_#C"N-!YJ;B],'YJ%D$9@W]#9?=D8W6AFE3$QF=8;;5%8VW)KW2OX:Z? 1I?I,D<)J- <0-Q-:[-S3.$^]&C .W M VCF@K]HQ7]+*_,*$PDE#Q TF0[>T_[VL>W(U4[8:--!JZ]HT+Q63)L;5XV% MUV;W=*:$T2,*K$F6DNJZ:"T@@!3 R,QI8:*:'F%AE=.)&+0P1ME3]W9O(I^/ MF_W+6VFKC"-#J$D!$XVI1<(;#%]M)KVB&O*#&)DZ]1:"Q3[%VZ25&P!S0;+C M6;%-G,P/BC@6*R0(CDK'8X8^2;!E*HS ;.;&.VCE#? GWPBVRH8=HKD0'FVI M)HJ^&+^%S'*]M8S'C0=G^AM82V"<8=?IE9EI/X[ +A#/,9 A^F8$H:2F1>419@(7B023D:-GB)WV+'5&8)BJUE>P.I[7$G,\_"8PVK?/$'*CLD9-6H;A8&I]QZ4L9?<1 MM_>?Y$CTD]M-NC^#>A33Y MR]DZS.?"C#90;5V$WYA%Y7BL2K9*0..LJ-=:RRYJZ#-8$'8YKR4AB +R"".L MMN(UBZ:;VS5FLQ;OQBVT\#MV%+AT>@-O<9#J[!O8(8T MW'2;,9GVT+A2=82"W=A'1JQ5SEAXWA*2+"IQ.09@6D$2(X-)=^/_4,GRNV^/ MA+^$2QYSIN;GRLC;-"H?>L4QK=]3/*1T$56LN/*4.1W_;?QUS$PT/J'<8G:- M]7\X46]HFCJ.S0]^8R4C*F.8*+L/)V6YX%8QIDU90'U*R)+Q!A!_0KAJ92\B MT[OF#B(1G"P,[T/AG[#K"[T6D,LZZQ@B*'#R#<39 N@ZPDA^!C/B56/0M 'Y M%V+*BNG"*I#>A,EY'IY%T">P^55;>K"(./QHQ,,%N)M\ _'%F.K\M #U"(3P M6Y1\ RG.PT+4T"O"^!N-@F/,*V7C8!MA!%$QSRFCY^BO_64[OJG53>Y>7=^&HN ;PMA5,U7*/VAF)%*SPN\JJ MPQP9:[3.H1:-K&2\W'JZAK94@1:PHQKF M_[6%$X(]NTO3*74+62Z6'@WUBL+D+J+&+-W47]L ">H#,UT/I("$_FN; ' * M3U4AVKY#%28)YYO3[?^US@VW!FU05605C;JEC!+/E80,/_7,.2.VML$ZTBQ& M!(LB-<2.02RC)49'9F'$(%AKQ\>PAQS\Q4W#EN6+;\1S3\$1VQ+5:@6AJ89G MN#W<_ 9-LX(20>MV!0B$9BI' M6XX'K!\'2CZ]IHX_ 6%2';GDDEQMJ<7(DQ M[A7,L%]"Q=0?C@@4_U##GFNO\^5(GUF$5RK:@)^]DYP54JB=,SW@_F[/2G#5 M=>5:B"AKU!B^X32ELIU&$M'4;8N5&AG*:;2E_:IBU3D<]93&%=G5$5EGQ@V. M5?]Z&E$P^4I%+.ZA4\W $$PX$ZQA)M@Q6F\\AUM=)&KX%U02^B%5]2W&R6L! MSI55P,-1P>4(=40*>BF*,P&MA4BB>Y9IWNZ-4;\'P7G3E5@11C-16$WX/=!Z M2%A#3N\]X7I7[WDUUV3@S17[MD"B%?26_1:WFFU775.R+C/'T]'H;H48';FM MX:LXW _J6*M#1M.VH;OKBHW $ A;@ 2K*\%-"9/GU!*=AS8VJGDT: $&I>/1 MW35A1/?U,?$]QK'4S>U5JCU MC;GS.0\(;LG$T5LQ:/OQZ_TM\/\OW9)*Z_1 L0>9_A=+^D8/&NSQ8LS;LH8=/#0$;U M >MA0C]YB*;%')Z&Q?,>"1/8_7"9DU^JOVRXZA_J_E!UXS/]P]/=H]@K=./' M7ZN'UK^3M&>^V^^KEXW8TUY7YFN9Q]S9+Z8^*6U7B[J55AJ;S3(Z[52WP61[ MK7R+U+M!DX/MQ^_4[F!_]]'X.)V>9\>D@YVM"H] !YL[L5]?EJ.1S3-(ULMJ M+]4S,GE72EBOKW6)[8QYS:+W[OMZ_(9;8 F-]^'Y$VO\R2C[Q_<^SYY)O;=; M^#NWE>L'E;]O4[9MQ-]3.W#O-;JKU^!_.5#9GSN+G\'Z+N8L+\;TJGBXR=5> MB"FF65BOM+M5OEN;SUY1:)_D[8D1I&J>"4&>FYEC+[!YR;]K\,G3>).#>PL? M.2#:&:V*6,&W\[7V5H2>O:0\22*4L/OE^1!AUR:GV%N!>D.K::\543O"49Z8 M 0 6J?:6N]!;<7NY%NMY$;1JC=>[*9TG09^;Q?OGC-X7IG4RW\A<>@-J%/<2 MK[V5DN^OM-Q%KG:*$ M>BOOSM:4.#>"U"\Z ]MC"?GG)WN@G(]ZED]+/0]&7A^IR!KKIT1$EV/CO2N( MY,3T\''0)?U3TX/=>!YVXY[TVCMZW#.-V7>@R6;3O8N!2&G2?BYV7S%2EVYT M'H,*W_FRF"J.M]U]/5C;O^OMKR$;6\O!>^];8%WIO6/TGX8E'.Z M&/G3>]/ 2?SU^_]L%\'$[570OBT M2-C:+]HPF*A'7N>G6I *'V])0F91\5-=_?EB;(./TE%27^FIXDV8K[ M^?V#2?O.0O:C>>,%,T$4E M@M/G@2=K./Y,2^K7GT]?T]J 8M0.GAS[)S[^2U3 JB?LD[4F;]C7)(MRACBC M1[2\D[IQ.3.^;Q*[UHX-#'/A_"T.*C1Q3R7D3P3'>/@0C.GP@\M/*R)TWD MMYB".P^3N[>Z)ME7^KO4/D-_L(Z%_23 P5PZOY5>C$0QCG"2;R\?/G["MNAI MF8?)-+_0?.R[]C1Y.^:\F*3F_LWD]EG@^R&#?CA&@NZ="P+)(TWI%VVSV MQ:9*!R9[7R:3%6.DZ^=Q87U@LH')>LED'U5M),G[E.(Y,8C$ )4_7ZC\QZX+ M-/:4A(\"\]'7 M*)["?VKL19FD&GCN!_V-B,=D MCH_"GW%,DCN2PX3#0G@@&4R[S.A=;"2"&$0G3@ZFA"N*@"PFM".6>_T_G[PK MR1(0N >33;.[,.&UXT;TDPGL4X9/PP3+&?RES$B64PQ<97<^0I;@F]'8KQ M[B3\M^LX^X*2=WF7TS^8 2$,J/D!-7\Q[QI0\P-J?D#-]Q4..Z#F>Y<^&"AD M@-2?%(4,D/I+I;\!4M]# KQ 6VJG*7T:IO).)/;%X'>KB E/N501Q@$%=7(H M*$E21[(UX'E/7>QO/USBO=>I)T+H;!D80C$E(&O]*R/=-0+KL>G7&V_@JS])-!] MJJJ>@20]<1)4S8$$SX8$WZ,&1Y\,ES-8W[N6;'C+M?;V&M(30=H6XC6/<48Q MO6)1.X3[A!#'RN'77'J.^N[J4I D:0W*N*^[U06R?TX.V"6QBXM3%:'C9DV> M8(8H;UT\XA>&<&/;O^7/CN#WLYP4U66@.3 /R82OA%Y0$111$GZ+X"V*4,!P M\&@%@/Z2IHO;L+F?$BV6:5;0BP[\;7]+(OSWUR(L\-(.7E2A%W/&@D]O 47W M!-ZS+,CB%MXHJ_1T@*+AMSFI7T=O+^$$PT*01(YZ)_4 OX>/\#$[V*T_K2X^ M14DE(&!ZLO;C6+A.!!NV*>:OEF&4!\)^=)>%"/+=HNF](!+#%(R%)$^H?/LRCR5R8A_?8N(X@U4TP/3_%ZP>A MP/LM57R/^'E,U=/+:3/8AV02A3&P!WRP@$7E]$K73*CNQCTA*U;Q7/3R /9S M OZ S< )W"7 4/#+"(F97!41;:O'IK*Y1VI[C_ V0'N/8.9(M'1*2(+XBB>Y MDJVRNG$ DP5E*?REA)V2^?&->U]\_<_T'MD?60J;-6#)!RSY^;]KP)(/6/(! M2]Y7'&@OD<+OCB5_Q:[T-1IVP>0S ,U[1"$#T/Q2Z6\ FO>0 "_0T!J YF<& M-&?NIX?>*S'/"9)UDA3.P4.#DPV,-G 9"O0 M7%4::5:G%=G[B3P;\.5GC"]7U'&GEY!Z2L*7 #!GCA%+IIXGGE<<[^,X]),D M+QW/>YHDJ(GC?6Z4#2381Q(<(.4GO[X!4O[>D/*VU='"D1\"B$8]OW^KAKZC MQKL!C:,BZNT>=805;P.N[]IDMH+0SK#J/]O-!J6\S-)%RLMZ8U^!>VQ'@#!3 MK-T/+-'J(K"]400^2]&_&PT6.,:;(XL1&YOD)%^OLKTZWT28E=@YH8*OY@SI M"H\G#%]^2P00)#CL/*S@O$@E%(*YA$U*ISDKRRU9%)/>K!]^S:?47C3":-DJ MV+A\W6W .FQ<1&9-#X1M8.T68A=H)2WOYFN0Z;%@Y]@) O8@+# MK3Z!X6YZ?VQ%*H\X-KNJD%XCLY]&,/+YW+9+T J M[P0C;ZYD@#(/4.8^OFN ,@]0Y@'*W%>D82^QJ .4>2"? \AG@#+WB$(&*/.E MTM\ 9>XA 5Z@H35 F<\,RKP2<)D^%7 9T& G@ 93])&A[6.H#8C+/NG\@'QT\.JR3U M@)/2NJC2?L!)@7UR$B?5": ]:H3+UAKCU9?X&/A)Z3(F5Q6XG4'7T[LL7-2? M,8@W;,(/XMBJ,M_Q8_]!R%\)3#NYH^N $_A&"OC74"MY M !B?_[L&@/$ ,!X QGW%__42(3H C ?R.8!\!H!QCRAD !A?*OT- .,>$N % M&EH#P/C, ,;M8,IB>S!E0&6= "I+T4>:M4\OXP&6U2>%/_!8GWG,')G*4#-Y MX+&!QX[&8Q_ED:Q> )QS*)E\OGCDC]I0,;E?+O& 2'XQ,.:01$&_"/32X: G M2H+Z>!\W=B#!/I+@@$@^^?4-B&3Z!_.C=Z_ 3[K8 'R^ITA^N<\JP99 M@IUR=9N1\-M5.(,I_1+&#^%CCN"@><97<^0I;HDZ'(K(ZR3RL>LXWP5POC4" MWZ#-FX+9^Z-XY;'\SFAS[1 8[^%H<_V=T>;B26"8WQ]M;K[SO0"P/4_BI+I" MF]?UTQ_"-MP\+(HLNBT99!EX;TKB\!&F'BV6,<'+,&%5.;NJBMX(+EY+/0+1 M%:+SG)&\C(NJRC;,\K K:7 M&.D!8C^0SP'D,T#L>T0A[P:QQXC4 '4?H.[/$\(%&AX#Y/S,(.?M"$/X3(1A MP.N= %Y/5D>:L4_#XP$3VR?M._!8GWE,'EFB,?#8P&,#CQV+QZ21K@]7.\Z: MQ4X,16Z,.S6K3@<@V5,?=\"0OU"2RD-)X5.7HR=.@M9X'U4^4& ?*7" D)_\ M^@8(^7MCC)\.N79=UMIX9Z Q6,WO!C26U7<&&LLG4BSYW8'&LMS40WZ/DP(# MY20.ZF"<\3.@8ABI!O9BB6JU*8E?K2J,07"'R80(,Y )\.PT*H0XS7,*+L[3 M243+7%.@+SY?)AR/7#Q2<'(:QUC6&@:D]%*!E2=E#MJ#9 @!!D^YR#E(&2' M]$$.][ M1;[?4FJ%MY)]77G"'L90WL"ST/;JP;-CK;VU?LY GIX[01KK MY6('@AP(\CUUOK27QG_A6GNF^"^3@L^1:O7];N.=)MD>9*^>>GC_)BT0*=\& M/CYKT;Y=E&2_A-^IAE#V6VUG'*\I^X H>GIV0W1SX-L+X5MEI*B==E\;.'?@ MW(%SWR:C88J=*MV]S.OW/?,AW?%>"W]OZC>5\<43_R4D2BZL'(RX5^"DGX&1 M2Z_%<9H4* T-1<^& H=J,">_OJ$:3&L^KZL&L_TN_.LCW'/2='Z+DM58-Y@C M877)/VHN^8?TDG_OZX*$.:V[$.+LB[37I3%&:TWW,A+3:A9\VG ZU3%,L5H/ MEL[ \Z&4G6\HITP%E:9L5\M6.>9/6_(=TUK:OQ MT6WIX.AHL.>=N=IV)5#18?Z[A(+,9 JQ!#Q$$.R'F(8 M;L:>PLW8O0R74[M3^-YPB9XIZX$C>\R1TD@V]_%%AW(0 XL-+/9"I3>2K4'O M#4QYRN4@)%$:=UJ9JZ-,IESZ7"STZ1%<2\A MVD\ZO'0*' "/)[^^ ?"X-^ 1UW/<^.X(@7)EPH%W^W<4$\?BX0W%L(W4(Q(_CH7KJO]715KX][BPG!+8^D#C&_ZY]0SN6T7:.Y"Z: MP-#W,/ "V"??$]MY+"[<$E/;"=D\.KJ4H4F%F_"[\-$A"9E%Q4\"QYJ^HCW; M@"\=\*6G^JX!7SK@2P=\:5_A7[T$" [XTH%\#B"? 5_:(PIY-WSI4\;U6TQA MP+4.N-9^$N %&EI'P=/V3/$-8-OJ%SSB4F#$Y;:*N/2DPNH /'H]:$,>23VH MVC8 CTX]:S 6U'>JU[Y +@=6&Q@L1?I/64D*4/_M8$I3QEPJXCZ^!)H M^!( M_YLQL ('&5 /2Q$!9PEQE$2AZJ.IRY*3YP$U:&R[=E0X'O ;%^"&7HS M/^J<#O,]<+9O>IA[ 6W?#M)7?;P[K_+A^2EW,$-YW;RE?\ZS:I!E>$>N;C,2 M?KL*9S"E7\+X(7S,$?4TS_AJCCS%?7"1;T%INX[S(!"IM.=$_XZ542>8VYD* M\-.6JL!C'\ECSEHA[$&^@*_KCWKP\]VTX8K0PG;K2.6[HTQ-=K<<];6XJO^+-3*_MO^"Z^O9%.OEW= MPF9-:1EU($3ZSD,ODK1\U6/4L[\NLUZ*EO[+YVD$VX8EYNDE(EHEGDQ)%L:4 MH,HBS1Y7-E*6?ESE$.$8]-H6@V= G8G 0=,&.ZX1W3$WS=(DO(^R,A?L:#H2 MOI X(K,1W0%_DB;I(IH(7\FDA%$?!7M2"!\_N/87_RO^_<-/5%J1))QP$8SV M2HH[QD_$O?Z?3]Z59 DPWRF!L<8"V,YA1O@5LP(.D/!32N[H3Z+%$H;#\Z,# M5.\:";=E(80%G#S)X8?"-!62E-U=@\=7GA4>TC*>N']=U#85H^G\_Y**JF[[DV8:HZ[;MB? W1?-\TY%U6Y$,!QW$&RSD/SC>C]!<0+#A/F<[BS]"X'O@&_P@B7P&MXC!/8YP#=0S;'9C<^9 MS].LN )>6[1O@1[H=ZH=S&XLH(I^2+-ON%<31I\CWK(D(URNY/1 Z)96,JIJ M.Q.3/%_[)H["VR@&C4-RUDEE_S4JFC26.SB"P[:Z6]IN=\$Y8&=DJ1/B[&QG M#G9;>G8G&E3R(DS*&>C=$B0-@<#11-T:=+["*RZG%H MVAFW*--&L&/EO!E"$QX!Y9S M+I0YU>;A]#ZD19MR5K4)+# :!D%'HN+>EH1AL@=LJ&@63>"'PBPFWR/*G(]H M N23.9F65$SRQ5"S$'X$*PCO\',<+*'69@QSBV&F#OXUS/%+W(5T!F.#=1I. M&IZ'B<9Y"M291 O84CIU*J$30M#$1NL;;)0PR=%(!.L$PX8P8/S(1'^UDAPL MR2F=12[<@74"YB^N%0;EAN<"=@B((V/JM4A37,N(SH_,00.CX01[3*BX16L) MIHT""W8WAAW!Y>:@7F;%0\C/&+FSQ"Y,^ ]4*$O\[5@0/O6]OU9_ G1P_GAR M!U@3/QA=5,PXK&B'WD'X:#58.:)^%J=MZD:!)0,RHF_E(- DX&4K'BFO3D$R MW<.S:"( QY0+TI9^*>796CBF7.1E!/Q)M K .UR@'%R19&U)!"-P24A%:(@< M#2838[T<1@8?%ITBZ@I3^;!=T()$^YJ66.PC$5R0"R&=Q^]A'#[F45A-M)D0 M? M.70S&/G+O:?(?PT$/PS!8$A;X M7G*4;Y%YC:#%+8974Q%_EZ;3G.[%DDD\:H@]KTSJX,:LC&= P%03P%BM]8RJ M-3"UAOL+%'55'VX.5G3.;,.GE%K&A3SW;FF_.WSQ$FSU.5,/5/M@:( 1S@*> MHP>:$=X^KYIH2_G /-NZ=<2U)P$J>5QBPCA&S76?HLX!4GJ8$]Y##W1-#MJ, M[QA.C^_:^!7%0M[$R\+RB]P-KQSZ]8@ E:'S$(T!H*N$[0*-$,!H45+2N C MNE%-EN&$Z3/XHHZLQBO^)YP_2>X*W#/<9-BS$%PL$$9 N#1"1.T0T)DQU9@T MFI,75W!4E6G 7P%OL\$_BZG.@B6$!2.(:(')OX(K:QJ^P'([>7@/?Z4$3>V: M[Q$&'N D?U!:U9EP5#H>>!] 3"0);ZEI4M(EA9,)B4G&@E.U@0,_^4:0(F#Z ME( MR+X1NJR\"& MP>& &*SF QM5GZ):Q;^ [*AC?9>%]/Q!:A+@VRP$N42^PUY2X48%\5?":$(1 M)>$W$"V" O281;-9CKN*9/VWA-II7S&BF LW60@"_DOE4]+3PCP V';-R 2- MNX0^CR/(VH]\4)2B7])T<1LVFJ>$I<>"7=[!Q@@\A,?L-OBBB+FR22F[S4KX M?)/^-&.5_JH5+,,(+6>,C>(\IDAV^)=G%DWW#7@GS0FH%7@5PO94+J:"9EYBH4B()Z0J)[ MPH/"+]F/AP@T#7M/ H)0*!Y(?%\9OU60X*%Q7. DX^@;C@.O@V4U_A*-@RY MXD4@6F!S'[E!GI>W_^33H\8U'OX==VU0?N6,U/XV_CH67*IN^V8KP18#!8-* MY;H)]SN+"!(.]7C 'IE1BV):9E4T-X?C1GE>^875*7)MQSP@^.UMF7$:X=MZ MB^<9@KR_I9%W1'&U3R>M!Z*V%A/RP,<1AM'P!PD),R8X\/A#/ 30X96*I=X9 M/;HR0M>I-DA0MZ#C.2&5PIKCG=WPD=D)L)XPI[J#RFWJOJZ0 M?WPC0+'W / MINE#@OR,TP-Z3F/4#@(>'X[/\@U4%-5Q;-0O":P_S;*4#E%QSHHL%$!PH*\> MS;@[R+**WPMJ .&E8^[$4H;#S=L\E'D8SZI5/L)V[6,]\'"XN89?D^3E6W7F M=9%\N$$X17$,*HKK8]2,]]11WZ_@6U>,\QF4X.0ET^Q_KNZP&*@#0\=?1X)X*Z=F5W3VO5O3OK3PZ0+(IPDP 7(%HM_WK7R\PZ )(Z*$JB MU-P(CULB!=21E97'RY?ME81L]5E,TF2'1$0/-9.8UR/BY[>U@ASVB3/C9]>I7)CRPLG?:Q.]>LS^K28[ M(IZ]Q&N5!!FT 2[!0IO\"N6"YP#8G(0;"6FBKFUD9A?9,APAQ$IHTF/$?N92 M83\6?+^W@IN- XYZ]#WM >?..&+WEO.A4Z"]8K9'.(9')DO.,#!\L!JZ^N9N M^_$G8C6:[IE4M82A7Y.JGC?DMZZJ&^W=P]6[5&LNO5*X=3C[JG&X#SCI!_2B)BS@6T@#Y-.()V2AV+F>X' >OS(^C+PL7%%"Q;U$\(F-$+P7E M=:H!&LHJ4!.47IHAFSTZH)SA ;)BBE]KD:< M%*-?J)@[^M3?!1_.CSY=!I-1@906MZD(?8C[/PL S].@OEO[0QAP]8#)"B"/ MB5GB('2U394PS#3H4!94?_'TZ/S+22?8AD1L(0?;)^KBX%+/;>M=&.B[>+OQ MC@1FA#LXHS: ^[_D]"(JF^"9+_H4*VN'2#D/?685)^,P.[\D XN>\U_1=&N[ M2",O>#^N/GD%]F6[R=^JS($?A*79-= S9/XD&<)+&P,;DPLD@'.'G#%A(T4+ M;[V<1O'V.:,VDSKE(%0;N:5=9EW2 C7^:H/4%*Y0)#0H(>6E*02FG"SA=O M2<%7+^4L$R!%X"PCAEJ1O12:A2+^8:JBTL]0V97B,;&^)"1! MK.9XM,"[6" 3H*@*3H) <1RR!GE&_>^IOT_T?+O\E(4WEV_9UV:Q)C=#__0] M'A?C^ZM&"J8S!E?_&4*W\2#F.Y]%G5*@: !+CWRE,D]:BN2YKP:1/M3^"A(> MC<$&YF.@@+5@]H8&0NW@*&E2^1!BF8T)J!)0A.,J$JR-["F$'"D?\VP"Z)'< MV,*J\IGH:JLJ*R;3'L=/!OKB1L):_QDT'V6YK S];]&_XF9AP3GJ]N0E0=K3 M9Y"/N98@*%&VN02M@3RYP)LIRX?G Y*0]ND\\5]<1WH>?3X-:7<47PD4VOD4 MU:4?1P0_<"BL_IH!,=;.\F,\4$(96*W<@)Y@93?RM8);\<46X'(+/1MY?R(_ M#E5N"9\8]H*6&^_!,U5]_B[(2OUGSF$9J2GN)\]1,8)_FSVOHMS<-S)18N\R[_ MQ9)WT(N*CC.%*JX92<['^/^*81JR!'V8]N=*#5"#V92*< TV[OYRTVC4*H(3 M_&>D9Z:OM>"_U9I*4=4ECD:D()TV7+2JCQ.4-0IM^?7 IZX6)/@-*8CUNEI_ M]RO3Z0 DJ;-P&*&3CL>QL=/5]YZ:, <.=\@$!D0_@*(YA (6P =]E]D$**@0 MC6!2S2F0X0B&!8+H$=?FS92XLL]^)_C, #+5]YAS MLXLB,:42/K*KM'Q3X7+?%?-1R9HIHY"R.[R?D,JD+RH5>EUM3BXNQF,CTN8B M2F4D,^.Q,UA8-!TNJ%-F5XD7S%->LK*WH3@=3K- F6!, 0SQE0P0OQJHFK/_ MA$S-&>\:36G[IPM@R95HB0R.(-. V ?]5+$);,? (0AC_U.N\L;AT&$T"Y2^ M+)&8AA:1*X,,-Q0-R;R)<5'"H*#)F F*]\CJGA:JK_ "/&,,,QYBD@(5[#P: M"8XI]EUX7E=9>@V'%6&<'M8_%-SKA LL:0HI5_%X)3:NEH%*0SC5:04_] '9 M-B!+%XXM: #S1S&AJ\O T_V2!C70&F!:?A+YK5-;[D,WDY\Y%OC^$+?!6 KY MG>2ZJB */O?T^N66V02/T4MK:\\Q[:GJ#9,4-5)F1EX!C:G$Z$%;&71SJ;"7 M%D9EW^*>P@D)^S"&D;W(-'&LJ$EC[#.XV M[?[6@:4CUCM2:8GH643 ML]'J*S5Q1:.@R!0!?M(LM*W'-=6&]MU4 P=;P'NMM]]L?J*0/N&=]?:95L1) MRGH#U:I,V1N@VK-Q8*Y@7&QX<$A9BB&YTH'KCG*EOOH"?,NYJ!XN.G_ZED+( MQ=ZX2)91B->!N/5;"HZ[3V$-/2(FLQHKN-)*3VX=9%$^N3#3>EFW"#0B^C9* M?\J.B4$JE6G-9J*( M2-,F E5+UAZ/20*K?IO\@;@$"4P48INWLOB"2VCN<'% M==3[G8D?WU4J*?LR#N3^$"'@0L'915ROT_AI,-@Y$D?[\Q#F;R?+,%^:Q'H= MRG6-6>@E-+&*G)8P\I80"=B^TFJ=\Z_G4S4VG!K-[>C==NL=)G6IKHH1IS<_ M[_S7FLG(I>JQF]_IIQ,DDSI+2BAB%1_83D;,C/_2.8?N?E/2O-?UXT[S_/B!]ZWF*?_@&VSQ()[ MS=-VZV#_8/_H^*Q5/ZFU3D]:(!8\;M5J>^U6;2EBP14BSLH;[FF7W>"O!4)? M7%-/MY/^QQGG7]=+B$^_\P7,")C/*H&W]VUU<+H5 MLMI2%CV)Q&@WH1@.E$CA&MQN_=Z4 TGE$GB.I_;(>771G2,@R;4K?X'^7?J3 M8VT\]F,].N[+CM\ ?9^#1B'1C^W&(>&&V"*9B?H#QN.81/2X6 B05NA_4UE> M*NI39NT9RE,M!I0,I9VE"Y;ZA7H44$@SO1^)%Z30@T$T:U3 DK($(@)(LPO! M(3 :*EF">EFY7+$26IN[\BM#+ZQ(1#RT".-F_#';L =@.H6!:YEU\T7#[-U\ M::L(%[$D,(0LI_TG#@[WR\#1OY#+>*W +:.W^@J8BNG,AH1SEKO$B228 -X> MP E*_C"#MO0S8XJH#;0ZDKBVB:E[P"(+X3(DDMJ<[W&HGP+=<_=^AHMJW:2 M6F+ VLOTS31.DWAJF)GT7OSOTGQ=(K%'6HYY?Z6?KJ8 Q! ^BLG% M8[/ 8K)24**O$$- E)YH$FX,58ZOA\!C%7>!T<1Z<^8!,<.RA-Y8_P@,5;3I M72$LXNBXQ_[G8J96#9#J*.D<2PEA75Y?AUP0B(5I-AR(V8[L.LKZ[H%N9/K3 MH>KK7QDQGYF%KYB%P="F&+YQ$<^^$-2'X?5P]L_&S M_<$\EJ\0_IV?D)[9'X;N"-.ME@'60&#I?F3[F.;!P0IJ(!]9(=YJM%922%=N MS;)VRIABM)[:4(;,73;9$IGAD)=/N#G72+)$B7^V268F:9Q,O:,+@E.;0GS0 M.78T=S[!_I#P(4CK< +=D2I(OD,2ZH1I+ZDN-JA*Y8NEA"F&.J*BG]58-ZR+Y(:RW@E/N@+:00?Y-FP5RT)D $F(( MF// &?CL'XI%KPCIZXQ]1K?4461#MF<4F^2_$U'?<9MCWG$=AF659*@!_WN& M0?$Q5^$*&'I6!4M>D6C=TQ)SZG3:M>5B M3D\5GG$AI]8N)Z!2P2!=H'2^#US,>H47/Q'.Q63@0A?*(!8G@HIYB)CC8:P& MP>EWU2LH*F1QI6@STI\H./O949I)1%G W.#)% M7&3H*-L)*%QV^IB/$*S2(^\YVX>/G='TKI44[+0@(]Y!9H[2>C.CM Q[R AH M);FA!8E0ZC5(J9:#ZM)_\+%AK$9HC9@BW'!!J9)9Q8)./$-L[X[-67X MV5*G))*.!MK-U6\@5!0Q;=-\T;#*1O.Q=%=1)M5HLE%.IBJ=$D@.1,R"_";7 M&BJ4C"ZL_*%^P[4B9!V,>9DK1Q6P(;TH@:EOV,>C;IZ.T-[!B1.] DN?$E,I M49B;0N32:^EV'JMI*-1UWO%BL)(0144_ ME"!.:*M_!!5UXR6X$?'IS2W862LH5'L#A7HI*-03P6HR;MRHSX*HJ;@4Q74R M3L!>5S/)>A$*X)9K<3#W6GPG]U"/C-B^3_!Z^_U"?S:,;)X3$;AUJ#'[8.UBLA M>0%@Y_FY@>F\&'_0E-6*[5^'-JS)\5^1V$*VZ;_/$'A>^/DG(NJG]7;KY.2LT6C5CDP/ MP].CLZ.]>\O]$\MY9Y=0 J"U0<;O_FO^0K?MZD/&8BL2HVV019.X#]PC[AL* M!";?XBQ-QI:8 ZU)1K 1HR I" P(<(I>0O$E.#4T/!AB3[ @$%3"]67 M_)AV)]"BU34:R&#OW:2&09[OG1)Q@3FO'%CRU8/#L-)AM_3KY(,8],O8XF,+]H=]FR(W4"_[6L"UGW"BWNM&UQ=7U_II8_'%@H+ M@("5JSS6ME<9=EZS4+#B^N/F4)'&AW1O5Y2Z_? M/TVM=*/U;"6QG_P]A^T-=Y7]9\("&68CCM.$!K7D6>:FTTR:7*64MO5:-T], M=^5U7BBE6JZND@BTQY2YP MW3B3,$'U #M@+@2%,C__YJ('4LDFD_<@(JD]+^/U^0MB0#1>HRQAE)GY*K0" M^(N\V86HN4<,#(=2%%, /-^8[(-2AVZ+8K+]O( '28RZ'*IHI(^QTM8$?ZKO M6Q!1Z3F7E\7KCR,^+E8I348W+I2=3[#%YLWZ7E5$=$2=P:%@W1=[>D]Y$6PQ MYA7*V@*+$,/E6C\9OVEL_NB>/$]\Q 0*Y^^O42U< MIT4K&"ZZ@^3F[D+R,]H_O%$6U^-HANTF?M">07>\-+AXP-$)S<4-N&; MDG*S=&0A%0Z#H&J">!=L/*WIT2\GEXYAZ&48 @0 #>&S=852\=Q#A' TDKB^ M8_Z38F(Q0R. D*+$I?2(J(::#F;2*L=_4"[]S:3V4B:M#\$9=7*-T#$NE*IB MO[P=Y<%L+X-J333\W"7HJGGJG637ZP[(KR7(@C2!+;]/:\AB/ >]RI._"?)A M,>75)%HP0#7Z8JA34!6K3_]T%=S#M.#6DIP[Q7/(*:8!$.S*MECAZ9K@?!^' MC'L2VK)D)E$S_?6TO:&]",4(.][>G!*P#I4;F0"YGJ>VG"HT9/]DD@P(; @? M^P9YD2%Y!5G?M!X6(X(EAD8M8KU]/52<8=:KEM 9IU7AF/L[C%/UA3M #SF] M42J7]((/W52FK)@+PJ1+F=9"66\XT^;.8U: H-&&J\HFEDJ1R02%L. @Z!71 M5Z.(]@A:#^@^9O"ST@O*!"V8?%1MFKRL)>?9"9Y., #5D@Y8(*L>^I4=):+J MTF(:.D:R;W$ZLIWY?B9:C&3'XX7B?)*M#;=L<.NN6+_- I=M=!><'A"& M BS// 7$Q#[.P; 8'R5N6K7$OZ3ZIK[NY]P>Y];&6KLR7X3!Q=(1K,BDW-HT M0.^V,+)=)'P ;4_O*^)6S-P@G>=WXQ^:JDKU(-.N36M7Z;G':>8=&ND.B[YV M>D\Y\T8;R@K#]81$U;_2IEA"B<(HYVQ;E%O][,Q(5J2\-N4]'J3:J-$;#45" M;_)1@XT@_Q,$W[%KSCJ 1[Z6@D$FMH.;2@Z1TN,HNL/8\OTBLSG6TB&4XH1^#*F"=04)HO;,3%5!K@51POJF&BNJT$2I_1Z& MAC%V8 Z)+S]B$LIZX[) K,;PM?"EG1?:?+F.%0NON=GP4]*?/5+E8)2(J1",@@]$]4MZ/G@(#4/'_2[;FS]GC3\ZH2#F=B340=QJO/$G/#'56U A@IGV=A=&/: M?OC;*)0UXJ#J2_DZHMTGX^,69TM,'#WY7H^X$&4ULFBB"G3G)D&+41K?&R'2 M1'VK*<3&&I48^R5&1G[B0 )M$0X].];$FSOB8#13P]E#(?TL;R0BBV]#R:8" M&"2-K_\Q %MNS_99,_V47=MOVQJXU)ZQN\PTO@'>K/E$&*7W=C+^N)/DT2- MA 6:V5@<1;R[T;DK&(B):,\E;B M8'@-Q&)7O230TEE=!U<*[6PF0[KHKECLRA<1$WT#TEM0FNIFPH[!;2L)#OD4 MW>PX*=D1P&9OKFAPGL[8\54/ M4L_5$#*.$2\^T$F8D,+Z2Q1BEEYUG"<5*([98*]W(^INH2P23K;J"7Q M\(_TAUM+IM-F]3&E]UVR(K(NJTO<5V9IPD).Y1EW=K9>54HFNHIT(F9E;*72 M0\EO*U%B^JR02Z<.MP3DFZQVP9XG8;?LB-$)_^+Z:& MRD4*2;21)&4T/*4 DZD09U+C&_J=S^I;)B;P5M]D7!FLTR/V,[+0$G653AD, MC\O+[.2(V[A0X6AH>T'8T'#71)OH2H/.W3&_X)>ZV#'?WP@4QJ9$T59XT]5BO(%1@$! M" C9+=T_IF4X7C"._E=;1%//Z;5_*-KBF'&'IKB5WY>;#@M\G]+=UVC_ C>$7K)WPS=R6TYH[Q\74TJ"I)Z)'_DG?-^8*#E#A.\+-H*V!';TGQ52H M..*Q/IQZS:\I7HN&(5#UTVNE^.[Z6T(W"9$6Y:8R(HFTK3/2,P1KZBW?"DRI M AD_E6W%&/]3WR (OJ+6,&3 E8E^V3C?CK]-9L'26W9&SP,D'&0[4BQ]VP7E MJ3!%GN' -5%7"\6[L((\NI$'T>4NZ!R/E9:B1BG..'X2A( >O1?*D)3C_19T MO97+&9;7.UCZ4(E0=2:9_B_O()3K99J.NY&SC%AB7?K_,_=8TV):-UNA#<@Y MCS>TO%27&IB25/(4)U'TQIMW+9KHK:=>G%&18(CN(]@44OU&'IK7TY&'8/>) M/Y<%\+I(#TRG+2)O\<\#M\^BQ[C0('^KXL=?(7H^E3K \V_76K25; MP$>Z^)@FB5/)K<*<]?-L-<]L(FN,[6;)_UFT'.VH@]+-8 6K:0)VN1$XV[V M+#1X$?S3)]8B?UJ-1H+@^%D"W'0<358#G/YB;.7*('NTQH!*0@B(LAYLC\LL MYD$6Z*LQGXSJF32]POC4*G",Z.-952JNO>2,!UA]8?@H+R(XGUK+PF51)"5! M2Y,Z"@,OZ\_C0JH%_Y^(7003)XP4I$V,%-TA&^QTB5-%00//M$'8TUHVW2B/ MF>[)UIA2QM&\)_0/;!S(]ZZCS M\+3Q@;%U;,R&[]7"1ABJ'\3R%5Q6>>QVMDDH, M7>0JMN&;ZCER_DB@MR61Z/C"0;Q=-_@\L7#.V_W9$LI# KQ<@%#!W!$0-YER MA59!,:JB,TK12,^#T>/^&"%E'&O'X#/B M[^:!V!B'/+.7*6/&:,OF3D$A\#N*\Z$!'I>GX8+E3[2YK974:CXFD;>N0WK" M$KTU2A'O/SY%+ 6'^WN]0]78[T=1N]UJ'=0.ZH?-@V:[7C^L#_9:]9E"VTUN M>:G<\M.3/3=VM1N,;!-26'"�NE)N+5!A"_I;3/2YURH\M4O8.H/D[BE7EGN\!V]XE-N^:LO9_GT3UNU+?I9O[)G?IXSVB\Q4/._Z1ON,M5W M7'74UW%_.M3_U'+1)63Y#C"&T217[\T_9@0$P]%*:(J:<+P^^=-6O0XU,^WC M/YG]6(;#[VCL_>$7\Z7J9_7V+9\M]U%KJ3_#^5CQ0 [O]6=SEDT;J!2]D:7O MIE-M_99/)P@]?&GQ?^;OEWZ5D90U6*(\(871#T;4]\.XKP5S%0>>CU1% \L: M6*EI;#W_7&^[;@X>.MF#^3K]"[-%VF3SYV&$D-.%*+A^L%U_=\?2--_HTG2D M,?T%@EW!!6*G0*#0"OW0TO+;8FG1WMB%M-:[H"H]-'%)N/-%/[@815ST= &@ M:33.@^W&#RM=+F1OB#/_;D#+LJR$=446\;_5-#A2WC+_S5*_S2SIG.6\M\+N M1KVO5QG:/N!J3;/W_];3!MM@\-2+7'&F#A^ZQ/P'9U0KRL867/DX(928PS,= M>KE8ML5L#K-=MJ?*LOA\:[9PA6@1'[]$5#C76'#7+3?-^V[J2OVCA^K;S2:] MW"9M-F9--V9S>M9]DU[4TWJN^]G>P7LEK .NYS/5S?BSQM+W\]N2T5>A+S9+ M_BQWYV:9-Y+].I?\QW9(W:W6G+GQRGC)MVY0[^TUP[U:XTW8:D^AK1\]RR7W MY:>G$+P7E+/F_NY>E=C];4K9YOBOZ<9LCO_+R5E]OQW6:C7\WYN0M;<5%J"< MTC+[PA@ &7IS\CWHIP60!_]6H_\M=^3XH01GT$\D%GG[P#76AW>MQ7+S>FFE MN49;_(*:];Z+L*YBO;3UM1'JC=[:;/%&;[V06#_2;'R=HDVVY<\$X;2_?S!, M]]'CFX.760(W>^#!^_YGX?_*B_ @\&I%8NM-,_<%@-9@=F'FP4^;>VQUBYS= MV^K7R[]U^T:5UV8&\/M@7-/6K]OU=\%#3H<>XR]W#'*QM"^%O=KZ]1@M7W(N MA],/0I5 ("5;HF(MQ1L=9M[]1!^Y$P-XU]Q$^-MC

8"!E8.R & MA)Y]Q!B?HMT;Z,VD(IM+G*F6R+]QA)H[=T56:(%%3:]%!83"I&@*CFWG!.)) MIXX1EFV1Z_[M'X)2) =36CSR:E K3Z=F.5+XS]6W3.1(E!!TN/EH3V6=)X12 MIEX#U+>1GNE._6A!+VNJ7'EN4C3"Z,*/?J@8[VF2=!) MKL!S>%O[Z#^/]+M^)Q(2A68HIW^_\-I*<\M-OZ6T*4/^F XC;2UH,R(.@Q.E M[?MH&)QJI:5GH[_92?J9OEH_QJ!4H =^C'M#$"R 2P8ES:!P(MY"'KVA4Q*E M^8Y7HJ0ZR^N[+0_8@EAO24-M8F'74P3W*IY&'^9;[[@%+?VQ]/FFZDU'#$-O MC_/@KT64Z0_T733;N>ROQ+1(+,W40F)F7PU9X0,%>C?X,[=HPZBM;.2J/&&> M$+@POL7]@MK9ZL7^9X%V)WFYY2W5XOFO3 T)CO]$5/N5>SE4.*B9Z]\?$*\\ M>$R(LX!:PNL+#OU2_(82DS3/8[3L[2JP0X"V';QI4:+XFL?"<8/?\5CU8^;Q MX0TI,8-_(_X"[N]H:@P-+]G3=!A;81=+M,WHQ1-F'8JX4P/K(V%9\^V )27' M]*/,J'UY13EXBJZB%JEUEZFSKQRK$F4-J23BX>L+/2F99]PP+1H[UT)9W;) M-:$;A'ME5!%$;N@CG5DJQZIN221\FDY+J?O NT-^(XP@_[2GG;F$DL*VB<[+ M)Q^?<_/">&2N"2&3\FM_K3ZG]K[46H#6D X1VI&@H6*J%^$J,LU!BPDK(.J M$:AVCPW&ML=\Z M[=3V6HW.OEC-C69GKUVUFC=D TN3#>QH=;*CAYMI+?->BN6?V-G8V]6:91AW MX^E2_:"7QEK.E@H_Z0M/__&7\Z/S+\'Y;R>G_WA,XVOOVS](G7]SZ]>%D2CS MBL7U[K=4^1^TEZB%+Z<#9@/^SPO56%41JQS!A8+Y]"/@6N1G F0]\X+?3DVP MSN+V9%73)\3[.YD-+;T\,*K*3"$*M+T:]VEI2=A,]8%3?4!>]H76X5ZIE6=6 M<&:64>FK?=5+F7GP/?E[L"Q^$10EUO/LK&P[*KY/?MD*AID:_&DKSKI3^5VS M7F\V#AJUW>%TO,QJ-NN[]3_:Q8SN)UC/OX[/=E&\G(@\>.O02I,B8.3\7WBY M5HZ)-*.=>FL[>H>( ?^FW3>_&51C$GY\&1_7#YNMS56RN4K>[%1_T-NB\=C; MHK&Y+=9!1#:WQ9KJE>V1:>V M9]GGWE"-H^ D[14 T6S4\MH(]F:J&[5\AUH^[GS8J.77N7UWJ.7C:-0KN -K M\"%.OG91!K)1TFLGYINI;I3T'4KZ0^=HHZ1?Y_;=H:0_1%TUVJCGC<[Z@:;Z MYM3SQ>7I1CV_SNV[0SU?V([T&R-ZH[I^J*F^.2U]Y\ MRMTM8T^=4\E[-)F,],Q1"CDUZEU9]>Y7K8.0(M)_#.X.6[P:X'K_XSQ2JJ68 M^%:VV_?ER]M4H=Y>A=JXLPKUEE[3AZV'5)J^HD/W(&7YBN9U1E088*6 ;GCK MM]X?W^PV%ED"$J&[M_(%]/,#:22>[(UK11MRN#+:D./.WE%S[Z!=Z^R?G-1/ M#_=/3UI"&]+>:QW4MG[=T(8L1QOR!".C'_T*\<7(\*U?/Y__^;?.E[]=GGY> M%>-?8S4^DH\BGL?J=(^:%*9"NU17<0ZZIVDPU+9JOQC=!+VH8,Z\.!<>)[RF MJXA7C&E%889VU3 :#4#"A0?1LLD70.^G"C"BT?,,<:CJ/X!PS$WYV8E7?ES3 M\VX"E-;^8MOS%K/4_[.U"D@]L:_[I&TB7\#,B2\_'7WZ$AQ_NKSX=-GY"M*K) M_YS_#$[AG+)%T=KS'KUU7?76YO<$$KN1UHVTOAYI=2SP?X][BG!3,5Q!C_3] M+$ZBI!<[XO<@V#Z!-]RQWG")0OXBBQ,P78]F__*AJ9YU"K,UJR8&_OLOYH=N MVK_Y]5__X^?A=#SZ]?\!4$L#!!0 ( %=YH5"""MRW @ .PM 7 M:7)B=&5X:&EB:70S,3$S,C@R,"YH=&WM6FMO&S<6_9S\"E;%=A- LAY^M%$4 M [:L[0;(HS6\"/8C-:0TA#G#*,G;8OSMLTU4%;&^/DGO"B.6U/!Y=I6JL_* =FU#6KK0-QD8LC@="S9CS"RW? M-28F]ZT)SY1>]"]4)AW[).?LW&0\?QN>.?4?V>]V"O^6K,?(XP%G.<\PUAT< M'1YVAH?[9\.C_=&/P^[IC[TWAV>CGT[?#$^.W@P[C>-!F^-_&%7_J#5KE5-$=I>7OD6UVJ:]\.K^'K+0W,>K1@;+3!%]1+9?G>ORU;7]'CF)\"< MM$]B_U!:KR8JX<02]U^L@,SM]E;MU7+R"+O=.'[?!)&@F7W<8R?Y5,LF2X*] M"^93[OMKYGH^UA(26E?&O6MT&J'M"I[4[,/6BGFVNA$_[ M!S]A'F*3%_2P^J,=1%?$9[2*A.MJOV!#XT&DJXVGC>YWHM('[VYW;XV#T>K; M;7Q[AY%/@0"6\IED5LZ4G,/A^E0Y]FO)+?B@%^Q<%L9Z9G+V#V,SUNVT?F5F MPM2Y ;& '8O' =EOMRPUO)=V ,TS=A[X7GH[@)U3[H 88"-;L,O+Y@9>YM*:$*(3Y$>R"*LPPMJ[AF$YZ@RS*3P>U[ M$^4V!'*92.>X79!(QB\E]"[-Z= G8 Q4ZI F0 <)),HBQ8!8CN&P1$C+YJE* M4N9*^G$S?BZMK":A!63*:20/E([,E4^Q0%?()!A(\Q8PS0@L$V\&FS)>+&_# M,SD>EQS[NTP.R28J!_P(R3=P:X(9$,=CN_1!@\7>B2X$Y >DE;#5! M!T6NN@ BB4Q$,JUOV%(!U:VI!B%%R-R;)%%J"( B!CBN,A6R)^$N91-MYJ[F MCY53Y3S2?L\X=4:[865SB0:N-F;#VF)9KD4,T$ M"3*Z"$KO&;:DAT=WGK>[A*_DZ#.T>BMB*347E M01Y90_,SI*0IX:6[_Q#*7L82@*TTQ7S(E!83P)7/E L! E(R M#_-057@36I;#DY6:!P94"=$-BIM5Z**'"F$&MC@4G2(<\+AR[)10W"I:@(II M6PB8.\*X<0X"8,\PA<-*CB]K%)SBH)85C#B)B7#B)C@+>>E M^&LL21"!"N.E^/8#TXXQ;+QS#+NWD]\@VOW#P[WY!H[.E" :<6?R@#WN0$&J M6XA;W(H:YV">XF.EE5]0EK9-+;$^4"*@/1)V172I[@GA]JI:4%&BPG> *V65 M26*L" :$"F@J2$]XA5L;F]K@@KE[$I_>VZ[Q--^;6TI-)L M=S\9UT1?<@HQ[0*=C-/DS#1Z7!F(':' 6<;:)5SH'JTJ#\&2-#@^(*)21 MF20I+>%Q*?U9F2\SSJ.'OG-@%H=M8;_%0U[V:D-X C+!OZ_)568F@'@XL*.S MO+R\MN5UM"3E[CH_I,@0R"=%")EA]54X6S"M+J6N3N_6Y)M?L2&[0;7=.F4X M_ N>,H3/'J*F9_/&=5,D6:;+C1 M2[DU-HX-LCUZ(A1L"L-?@4X(18Y"'7Y3&5;S7OY6*I@_U\@/!_ M>(!PHI'88\+P^1ECZ5PJ41) K;*IZT)^+ODEI48^DCX0?"O M:NYXEK?%YW.!@4Y>N_PM5*E*&@@#]:@\FC$[<^<>ZQ++MNM#7VO"TOB-C"2,5[G MV-!>5I 3C_7J79@JBWD0:?^(HVO6PK%,51[-XZ4W=4>XXA1[(FF['2Q^#,(]J%7^]]8N M12VWJWM3RUUQ WIQ]Y=>Z%.43:!HGWWD"]9MA@M^#_$WU5*K-U,MI%M-J]KC]-0;E!B-4R5G+#1E4Q* M.D!CGV,%=5>\6KMQ^K^]Z'K[%=?-./6PW.GI(^F3* P_7]2-:%0^6F.2^@' #*+0 %P &ER8G1E>&AI8FET,S$R M,S(X,C N:'1M[5IK;QNW$OV<_ I61=L$D*R7G;2*8L"Q'-P :=+Z^B+H1VI) M:0ESEUN2*UGWU_<,N9+U.^65R;EN-B\^U%@M M];[H-9O3Z?1HVCTR=MR\NFS25,=-;8R31\*+VNG3/G6=/GW23R47^/VD_UVC MP08F*3.9>Y98R;T4K'0J'[-/0KIKUF:-QD+RW!0SJ\:I9YU6I\4^&7NM)GPN MX977\O3B)E5#Y?O-V(2R9J6M/S1B=MH7:L**;TK'>E,NG8 M!SEEER;C^:OPS*G_RUZ[5?A79#U&GO8YRWF&L>ZDVWG9ZIX=OSG_Y46W_;)U M,7C;/AE<_/SF[&6W>W+RLG;:;W+\#Z/F/^::MK89 MJO)46N6WC!A:J*/NN=8EW>'9O5847 CL?6-HO#=9[T5QL^CRI@AM+V]\@VLU MSGOA57R^Y:$YC58,C1:8HGJ)K-L^ZJPN:7_6)X" MF@$TC]C9\;UT#@ [;[@#8H"-;,:N5 RH)!G.5,Y[/ M6)E[6TJH0G@/D1Z(XBQ#RRJNV8@GZ++,9'#YWD2Y#8%<)M(Y;F\CDD&RDPE8==%#DJ@L@DLA$)-/ZEBT54-V: M:A!2A*R]3A*EA@ H8H#C*DTA>Q+N4C;29NKF_+%RK)Q'RN\9I\YH-ZRL+]' MS8W9L/:1"?MEPO$!,.%J!38_N0KE5:))#M6,D!VCBZ#TCG$K V@!0D5@ +B8 M= 0,Y5(2)[$,P80""K6%PII$"G0[]@Q@%1+HCXB\N$E2 MGH\E.X,'ORPU)-I=WFB?/)//P]#VB8BMV%14&^21-30_(S>_1*8(;K+EP8I& M*XI&4$3K7*<8)"@_ZWWSM/GEQ=>@S9RL.V.2/__V>3.0#M,!1R$SN1_D=4J: M$EZZAP^A[&4H =A*4\R'3&DQ 5SY1+D0(" E\S /586WH64Y/%FI>6! E1#= MHKA>A2YZJ!!F8(LS6HEPN./*H5-"<:MH 2JF;2%@YC13Z2B5"@[#A;PKA!/C M) SR"%\TJ.#TLDK-*0IB6<&(VY0,(V*"MYR7XJ^A)$$$*HR7XML/3 ?&L.'! M,>S!3GZ#: \/#P_F&S@Z48)HQ)W) _:X P6I;B%N<2OF. ?S%!\JK?R,LK1M M:HGU@1(![9&P*Z)+=4\(MS?5@HH2%;X#7"FK3!)C13 @5$!CF2-9U" =GLB" MV$PBJ.XBL_6_9!HRA?2DDJST?UU/AO.B[[@%F3< SH=H\D? M:;!?&H@#H,$@XFP3KW0.5I4&X%Q*?U9F2\SSJ.'/G)@ M%H=M87_&0U[V;$-X!#+!OZ_)568F@'@XL*.SO+Q6/=(B,+'9@LRY3W4FZ-C4.#;(^>" 6;PO!GH!-" MD:-0A]]4ALUY+_\L%4P.3"_S)!SF/7\\0/@7'B"<:23VF#!\>\98.I=*E 10 MJVQJ4"?Y5S1W/\K;X?"XPT,F%R]]"E:JD M@3!0C\JC'K,SA]3,E5G&+98:EE&%U*W'YH<1#@X,_(=0VY\AP1I9N-\"O7UF+&H?&+T1%+:DO-Q]4'25N%#9H4V,XFGT]3$F,%7. 4.?&8& M=\3N@^<#=VY?-UBV71WZ7!.6QF]D)&&\R@7&AO:R@IQXK%32/E][,.\+UIM@32=MN8?%#."9I&XG1FA=.]N9_;$#ZEOD0@87Y MZUJG=C?1HXH3:*AM\&OSV?V>(EZ"6N5_9^U&U'*[NC2UW!4WH!-W?^F%?HFR M"13ML5_YC+7KX7+?+OZF6FKU9JJ%M(L;%DZ=V?>M\.]0MJ+IFNSL_;O_?OS M!A=G'^[R%5_KY9-7HP_$O50),'@?*_[Q^_:+UK9#PZ^QOKVD88OK=7,>-V[Y-Y(UQK M?MH/]ZU/_P)02P,$% @ 5WFA4)W?;G2W!0 MQX !< !IU9ZW/:.!#_W/X56W>ND\P ?D!ZA-#,$$.NS"20 M IU>/PI;8$V%Y;-%"/?7WTJV">%Q*2UIPUTS"4'2KO:AWSYDUU\UN^[@\TT+ M CGA&P.>J;:JF)R(1):\J5OG+^LJZGSER_J 24^_G]1?U4L0E-X MTPD-)7@Q)9+Z,$U8.(9//DV^@ W%XH+2%=$\9N- @F,Y%GP2\1=V2W(*R22G MYZV[@ V9K)OI$(69F;3Z4/CS\[K/;B&1=TD^*>Y\H]<,FNW=7%U-;-)418&-&9R \

Z)%NO/:I%1'P??5\<"BG%I/8VNEM,21'IL:1WLD@X&X MSE(MAH+[N$5VB%!V2O9#D_:GO8>0H_'3./[Y:;G!R6ZK-VA?MMW&H-WM8,SW M^A\;G0$,NG" QMA5^%CJE]P2]%NN-L@NGUB':$FC#XUF]V;0:A[ZF>0G<6J] MA>XE#-ZWH-_H730ZK7ZQ^^=5ZS,TW(%:<2S+>3(#.1W)=,Q"'XVM5:I(L(>P M;X?@B3"DGBJ%,&,R !E0^# E,7J4SZ%'(Q%+P,5+$4_ MHH?0(R ]01JCL4L MQF6BF8\4H^&*243"N7$,(Q'KO2*4+'R@J+B_<-#.BEZ3V O>O+;?6F=.M:!K MYS?O]>9UV3DC"8P81Y461O>I-T5ZAB64A#ZT[KR A&.*1DXF+$F4C?BK*'TL M\8";4_1$:G;J)N.X #-:0 X\;[@N02,<\E"$GJ,\"V\!< YR4;X)9K&R92@6Z2 I:R2';/* M*@5 !Q!?1*I962;/B13@L_W[)!Z2D";%[AVG7@(3*[B:1%C,?UKRF*J6N5$@>@> MDD?D&#!CV"='_G$*S@AY/06R/5E*?H%EC[M,QD)567X#%H'D#O, A8DI4< M/&-M/TX,J;KX1K&X9?Y*:;FO1+JO5(>IA[G15X M.>NU97DJ=8"3>G_I0)\@<38Q\=7@FLS!?MAQ?TVNSTS-3B8SQ([N(,'FV(?7 MEOYY$E>LL-@;XG4/WC$3$]SN5;NC&_W.'U>M;3G]9T%"H*@1%[-:P'R,ZWT8 MG=[ O@$'!P+YAS>WK=GW*20'V'Y@(LSKWH4@L:]KY):;XW-'6UZ3_+UE\5YO]681I7[7ZW \U6H_/<\/#?*R\9E'1_NX:C)P^&I<=^/[;P;'RX M^-@%=>7MW(^\T&^\&&UY/;A^+=KM,7V*^R ?Z'>[+NGZY?/X/4$L! A0# M% @ 5WFA4&KR@ UI#@ ::( !$ ( ! &ER8G0M M,C R,# S,C@N>'-D4$L! A0#% @ 5WFA4.=B CY!&P K1H! !4 M ( !F X &ER8G0M,C R,# S,CA?8V%L+GAM;%!+ 0(4 Q0 ( M %=YH5!.)YO=*D0 *E= P 5 " 0PJ !I:%0>Z>*XZ2; #T'0@ %0 M @ %I;@ :7)B="TR,#(P,#,R.%]L86(N>&UL4$L! A0#% @ M5WFA4(_R"RPQ:0 -R0% !4 ( !0 H! &ER8G0M,C R,# S M,CA?<')E+GAM;%!+ 0(4 Q0 ( %=YH5!(-YYBW$$! #-^#P 3 M " :1S 0!I&AI8FET,S$Q M,S(X,C N:'1M4$L! A0#% @ 5WFA4/EICDOH!P RBT !< M ( !YKT" &ER8G1E>&AI8FET,S$R,S(X,C N:'1M4$L! A0#% @ M5WFA4)W?;G2W!0 MQX !< ( ! \8" &ER8G1E>&AI8FET B,S(Q,S(X,C N:'1M4$L%!@ ) D 6P( ._+ @ $! end XML 45 R17.htm IDEA: XBRL DOCUMENT v3.20.1
Stockholders Equity (Notes)
3 Months Ended
Mar. 28, 2020
Equity [Abstract]  
Stockholders' Equity Note Disclosure [Text Block] Stockholders' Equity
Share Repurchase Activity
The Company's Board of Directors approved a stock repurchase program authorizing up to $200.0 million in share repurchases from time to time until September 2021. On March 10, 2020, the Company entered into a Rule 10b5-1 plan to repurchase $25.0 million of common stock in the aggregate beginning March 13, 2020 and ending April 30, 2020. As of March 28, 2020, the Company repurchased 663,602 shares of its common stock at an average price of $37.65, totaling $25.0 million.

XML 46 R13.htm IDEA: XBRL DOCUMENT v3.20.1
Goodwill, Other Intangible Assets and Other Assets
3 Months Ended
Mar. 28, 2020
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill, Other Intangible Assets and Other Assets Goodwill and Other Intangible Assets
The following table summarizes the activity in the carrying amount of goodwill for the three months ended March 28, 2020 (in thousands):
Balance as of December 28, 2019
$
118,732

Effect of foreign currency translation
(355
)
Balance as of March 28, 2020
$
118,377



Intangible assets consisted of the following (in thousands):
 
March 28, 2020
 
December 28, 2019
 
Cost
 
Accumulated
Amortization
 
Net
 
Cost
 
Accumulated
Amortization
 
Net
Completed technology
$
28,100

 
$
24,890

 
$
3,210

 
$
28,100

 
$
24,605

 
$
3,495

Tradename
100

 
100

 

 
100

 
100

 

Customer relationships
11,064

 
2,529

 
8,535

 
11,095

 
2,302

 
8,793

Reacquired distribution rights
31,549

 
31,549

 

 
31,680

 
31,680

 

Non-competition agreements
254

 
212


42

 
256

 
192

 
64

Total
$
71,067

 
$
59,280

 
$
11,787

 
$
71,231

 
$
58,879

 
$
12,352


Amortization expense related to acquired intangible assets was $0.5 million and $3.3 million for the three months ended March 28, 2020 and March 30, 2019, respectively.
The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):
 
Cost of Revenue
 
Operating Expenses
 
Total
Remainder of 2020
$
855

 
$
743

 
$
1,598

2021
1,140

 
779

 
1,919

2022
915

 
779

 
1,694

2023
240

 
779

 
1,019

2024
60

 
779

 
839

Thereafter

 
4,718

 
4,718

Total
$
3,210

 
$
8,577

 
$
11,787


XML 47 R55.htm IDEA: XBRL DOCUMENT v3.20.1
Income Taxes (Details)
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Income Tax Disclosure [Abstract]    
Effective Income Tax Rate Reconciliation, Percent 10.40% 4.30%
XML 48 R51.htm IDEA: XBRL DOCUMENT v3.20.1
Fair Value Measurements Fair Value on a Recurring Basis (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 28, 2020
Dec. 28, 2019
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value $ 1,250 $ 0
conversion of debt 1,250  
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money Market Funds, at Carrying Value 120,144  
Available-for-sale Securities 0 [1] 0
Convertible Debt, Fair Value Disclosures 0  
Derivative Asset 0 0
Assets, Fair Value Disclosure 120,144 0
Derivative Liability 0 0
Financial and Nonfinancial Liabilities, Fair Value Disclosure 0 0
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money Market Funds, at Carrying Value [2] 0  
Available-for-sale Securities [2] 13,509 [1] 17,032
Convertible Debt, Fair Value Disclosures [2] 0  
Derivative Asset 20,891 15,314 [2]
Assets, Fair Value Disclosure [2] 34,400 32,346
Derivative Liability [2] 559 758
Financial and Nonfinancial Liabilities, Fair Value Disclosure [2] 559 758
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money Market Funds, at Carrying Value [3] 0  
Available-for-sale Securities [3] 0 [1] 0
Convertible Debt, Fair Value Disclosures [3] 1,250  
Derivative Asset [3] 0 0
Assets, Fair Value Disclosure [3] 1,250 0
Derivative Liability 0 0 [3]
Financial and Nonfinancial Liabilities, Fair Value Disclosure $ 0 $ 0 [3]
[1]
As of March 28, 2020, the Company’s investments had maturity dates ranging from May 2020 to March 2021.
[2]
Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
[3]
Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities.
XML 49 R48.htm IDEA: XBRL DOCUMENT v3.20.1
Accrued Expenses (Details) - USD ($)
$ in Thousands
Mar. 28, 2020
Dec. 28, 2019
Accounts Payable, Current [Abstract]    
Accrued other compensation $ 16,232 $ 13,331
Accrued warranty 13,998 13,856
Accrued bonus 3,820 12,541
Current portion of operating lease liabilities 6,950 6,843
Accrued direct fulfillment costs 3,536 10,582
Accrued sales and other indirect taxes payable 2,460 12,440
Accrued federal and state income taxes 1,722 3,378
Accrued other 7,083 8,797
Accrued expenses $ 55,801 $ 81,768
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.20.1
Leases Supplemental Cash Flow (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Leases [Abstract]    
Document Period End Date Mar. 28, 2020  
Operating Lease, Payments $ 2,021 $ 2,020
Right-of-Use Asset Obtained in Exchange for Operating Lease Liability $ 0 $ 52,767
XML 51 R44.htm IDEA: XBRL DOCUMENT v3.20.1
Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Dec. 28, 2019
Business Acquisition [Line Items]      
Goodwill $ 118,377   $ 118,732
Amortization of Acquired Intangible Assets $ 500 $ 3,300  
XML 52 R25.htm IDEA: XBRL DOCUMENT v3.20.1
Leases (Tables)
3 Months Ended
Mar. 28, 2020
Operating Lease Cost [Abstract]  
Lease, Cost [Table Text Block]
The components of lease expense were as follows (in thousands):
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Operating lease cost
$
2,355

 
$
1,973

Variable lease cost
1,122

 
825

Total lease cost
$
3,477

 
$
2,798


Schedule of Leases, Supplemental Cash Flow [Table Text Block]
Supplemental cash flow information related to leases was as follows (in thousands):
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Cash paid for amounts included in the measurement of lease liabilities:
 
 
 
Operating cash flows from operating leases
$
2,021

 
$
2,020

Right-of-use assets obtained in exchange for lease obligations:
 
 
 
Operating leases
$

 
$
52,767


Lessee, Operating Lease, Liability, Maturity [Table Text Block]
Maturities of operating lease liabilities were as follows as of March 28, 2020 (in thousands):
 
Operating leases
Remainder of 2020
$
6,869

2021
8,219

2022
7,550

2023
7,102

2024
6,266

Thereafter
34,835

Total minimum lease payments
$
70,841

Less: imputed interest
10,847

Present value of future minimum lease payments
$
59,994

Less: current portion of operating lease liabilities (Note 7)
6,950

Long-term lease liabilities
$
53,044


XML 53 R21.htm IDEA: XBRL DOCUMENT v3.20.1
Subsequent Event (Notes)
3 Months Ended
Mar. 28, 2020
Subsequent Events [Abstract]  
Subsequent Events [Text Block]
14. Subsequent Event
On April 24, 2020, the Company was granted a temporary exclusion from Section 301 List 3 tariffs by the United States Trade Representative. This exclusion eliminates the 25% tariff on Roomba products until August 7, 2020 and entitles the Company to a refund of approximately $57.0 million in tariffs paid since the date the Section 301 List 3 tariffs were imposed. No amounts have been recorded in the consolidated financial statements as of and for the three months ended March 28, 2020.
XML 54 R29.htm IDEA: XBRL DOCUMENT v3.20.1
Derivative Instruments (Tables)
3 Months Ended
Mar. 28, 2020
Derivative Instruments, Gain (Loss) [Line Items]  
Derivative Instruments, Gain (Loss) [Table Text Block]
Gains (losses) associated with derivative instruments not designated as hedging instruments are as follows (in thousands):
 
 
 
Three Months Ended
 
Classification
 
March 28, 2020
 
March 30, 2019
(Loss) gain recognized in income
Other (expense) income, net
 
$
(545
)
 
$
433



The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): 
 
 
Gain (loss) recognized in OCI on Derivative (1)
 
 
Three Months Ended
 
 
March 28, 2020
 
March 30, 2019
Foreign currency forward contracts
 
$
7,566

 
$
6,404


(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
 
 
Gain (loss) recognized in earnings on cash flow hedging instruments
 
 
Three Months Ended
 
 
March 28, 2020
 
March 30, 2019
 
 
Revenue
 
Revenue
Consolidated statements of operations in which the effects of cash flow hedging instruments are recorded
 
$
192,535

 
$
237,661

 
 
 
 
 
Gain (loss) on cash flow hedging relationships:
 
 
 
 
Foreign currency forward contracts:
 
 
 
 
Amount of gain (loss) reclassified from AOCI into earnings
 
$
1,957

 
$
(144
)

XML 55 R7.htm IDEA: XBRL DOCUMENT v3.20.1
Consolidated Statements of Cash Flows (Unaudited) - USD ($)
$ in Thousands
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Cash flows from operating activities:    
Net (loss) income $ (18,135) $ 22,520
Adjustments to reconcile net (loss) income to net cash provided by operating activities:    
Depreciation and amortization 7,459 8,724
Stock-based compensation 5,191 6,864
Deferred income taxes, net (528) 1,739
Other 1,531 1,542
Changes in operating assets and liabilities — (use) source    
Accounts receivable 108,825 106,561
Inventory 9,848 (16,863)
Other current assets (5,612) (2,913)
Accounts payable (41,440) (52,744)
Accrued expenses and other liabilities (26,405) (22,727)
Net cash provided by operating activities 40,734 52,703
Cash flows from investing activities:    
Additions of property and equipment (7,310) (6,004)
Change in other assets (1,560) (1,977)
Sales and maturities of investments 3,500 2,380
Net cash used in investing activities (5,370) (5,601)
Cash flows from financing activities:    
Proceeds from employee stock plans 934 2,563
Income tax withholding payment associated with restricted stock vesting (1,816) (7,212)
Stock repurchases 25,000 0
Net cash used in financing activities (25,882) (4,649)
Effect of exchange rate changes on cash and cash equivalents (106) 268
Net increase in cash and cash equivalents 9,376 42,721
Cash and cash equivalents, at beginning of period 239,392 130,373
Cash and cash equivalents, at end of period $ 248,768 $ 173,094
XML 56 R3.htm IDEA: XBRL DOCUMENT v3.20.1
Consolidated Balance Sheets (Unaudited) (Parenthetical) - $ / shares
Mar. 28, 2020
Dec. 28, 2019
Preferred stock, shares authorized 5,000,000 5,000,000
Preferred stock, shares outstanding
Common stock, par value $ 0.01 $ 0.01
Common stock, shares authorized 100,000,000 100,000,000
Common stock, shares issued 27,876,000 28,352,000
Common stock, shares outstanding 27,876,000 28,352,000
XML 57 R41.htm IDEA: XBRL DOCUMENT v3.20.1
Leases Maturity of Operating Lease LIability (Details) - USD ($)
$ in Thousands
Mar. 28, 2020
Dec. 28, 2019
Dec. 30, 2018
Leases [Abstract]      
Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year $ 6,869    
Lessee, Operating Lease, Liability, Payments, Due Year Two 8,219    
Lessee, Operating Lease, Liability, Payments, Due Year Three 7,550    
Lessee, Operating Lease, Liability, Payments, Due Year Four 7,102    
Lessee, Operating Lease, Liability, Payments, Due Year Five 6,266    
Lessee, Operating Lease, Liability, Payments, Due after Year Five 34,835    
Lessee, Operating Lease, Liability, Payments, Due 70,841    
Lessee, Operating Lease, Liability, Undiscounted Excess Amount 10,847    
Operating Lease, Liability 59,994   $ 67,300
Current portion of operating lease liabilities 6,950 $ 6,843  
Operating Lease, Liability, Noncurrent $ 53,044 $ 54,928  
XML 58 R45.htm IDEA: XBRL DOCUMENT v3.20.1
Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Dec. 28, 2019
Finite-Lived Intangible Assets [Line Items]      
Document Period End Date Mar. 28, 2020    
Finite-Lived Intangible Assets, Gross $ 71,067   $ 71,231
Intangible assets accumulated amortization 59,280   58,879
Intangible Assets, Net 11,787   12,352
Amortization of Acquired Intangible Assets 500 $ 3,300  
Completed technology      
Finite-Lived Intangible Assets [Line Items]      
Finite-Lived Intangible Assets, Gross 28,100   28,100
Intangible assets accumulated amortization 24,890   24,605
Intangible Assets, Net 3,210   3,495
Trade Names      
Finite-Lived Intangible Assets [Line Items]      
Finite-Lived Intangible Assets, Gross 100   100
Intangible assets accumulated amortization 100   100
Intangible Assets, Net 0   0
Customer-Related Intangible Assets [Member]      
Finite-Lived Intangible Assets [Line Items]      
Finite-Lived Intangible Assets, Gross 11,064   11,095
Intangible assets accumulated amortization 2,529   2,302
Intangible Assets, Net 8,535   8,793
Distribution Rights [Member]      
Finite-Lived Intangible Assets [Line Items]      
Finite-Lived Intangible Assets, Gross 31,549   31,680
Intangible assets accumulated amortization 31,549   31,680
Intangible Assets, Net 0   0
Noncompete Agreements [Member]      
Finite-Lived Intangible Assets [Line Items]      
Finite-Lived Intangible Assets, Gross 254   256
Intangible assets accumulated amortization 212   192
Intangible Assets, Net $ 42   $ 64
XML 59 R49.htm IDEA: XBRL DOCUMENT v3.20.1
Derivative Instruments Schedule of Derivative Instruments (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Dec. 28, 2019
Derivative [Line Items]      
Document Period End Date Mar. 28, 2020    
Revenue $ 192,535 $ 237,661  
Total cost of revenue 114,580 118,115  
Designated as Hedging Instrument [Member]      
Derivative [Line Items]      
Derivative, Notional Amount 388,400   $ 424,600
Not Designated as Hedging Instrument [Member]      
Derivative [Line Items]      
Derivative, Notional Amount 72,500   58,400
Accrued Liabilities [Member] | Foreign Exchange Forward [Member]      
Derivative [Line Items]      
Other Derivatives Not Designated as Hedging Instruments at Fair Value, Net 559   297
Cash Flow Hedging [Member] | Foreign Exchange Forward [Member]      
Derivative [Line Items]      
Derivative Instruments, Gain Recognized in Other Comprehensive Income (Loss), Effective Portion [1] 7,566 6,404  
Other Nonoperating Income (Expense) [Member]      
Derivative [Line Items]      
Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net (545) 433  
Revenue Benchmark [Member] | Cash Flow Hedging [Member] | Foreign Exchange Forward [Member]      
Derivative [Line Items]      
Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net 1,957 $ (144)  
Not Designated as Hedging Instrument [Member] | Other Current Assets [Member] | Foreign Exchange Forward [Member]      
Derivative [Line Items]      
Derivative Asset 1,756   1,855
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | Accrued Liabilities [Member] | Foreign Exchange Forward [Member]      
Derivative [Line Items]      
Derivative Liability 0   47
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | Other Noncurrent Liabilities [Member] | Foreign Exchange Forward [Member]      
Derivative [Line Items]      
Derivative Liability 0   414
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | Other Current Assets [Member] | Foreign Exchange Forward [Member]      
Derivative [Line Items]      
Derivative Asset 7,398   4,347
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | Other Noncurrent Assets [Member] | Foreign Exchange Forward [Member]      
Derivative [Line Items]      
Derivative Asset $ 11,737   $ 9,112
[1]
(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.
XML 60 R28.htm IDEA: XBRL DOCUMENT v3.20.1
Accrued Expenses (Tables)
3 Months Ended
Mar. 28, 2020
Accrued Liabilities, Current [Abstract]  
Components of Accrued Expenses
 
March 28, 2020
 
December 28, 2019
Accrued other compensation
$
16,232

 
$
13,331

Accrued warranty
13,998

 
13,856

Current portion of operating lease liabilities
6,950

 
6,843

Accrued bonus
3,820

 
12,541

Accrued direct fulfillment costs
3,536

 
10,582

Accrued sales and other indirect taxes payable
2,460

 
12,440

Accrued federal and state income taxes
1,722

 
3,378

Accrued other
7,083

 
8,797

 
$
55,801

 
$
81,768


XML 61 R24.htm IDEA: XBRL DOCUMENT v3.20.1
Revenue Recognition Contract Balances (Tables)
3 Months Ended
Mar. 28, 2020
Revenue Recognition and Deferred Revenue [Abstract]  
Contract with Customer, Asset and Liability [Table Text Block]
Contract Balances
The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):
 
March 28, 2020
 
December 28, 2019
Accounts receivable, net
$
37,013

 
$
146,161

Contract liabilities
7,706

 
6,991

The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities primarily relate to prepayments received from customers in advance of product shipments. The change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended March 28, 2020 and March 30, 2019, the Company recognized $3.6 million and $5.8 million, respectively, of the contract liability balance as revenue upon transfer of the products to customers.
XML 62 R20.htm IDEA: XBRL DOCUMENT v3.20.1
Industry Segment, Geographic Information and Significant Customers
3 Months Ended
Mar. 28, 2020
Segment Reporting [Abstract]  
Industry Segment, Geographic Information and Significant Customers Industry Segment, Geographic Information and Significant Customers
The Company operates as one operating segment. The Company's consumer robots products are offered to consumers through a variety of distribution channels, including chain stores and other national retailers, through its on-line stores, and through value-added distributors and resellers worldwide.
Significant Customers
For the three months ended March 28, 2020 and March 30, 2019, the Company generated 13.4% and 16.1% of total revenue, respectively, from one of its retailers (Amazon).
XML 63 R6.htm IDEA: XBRL DOCUMENT v3.20.1
Consolidated Statement of Shareholders' Equity Statement - USD ($)
$ in Thousands
Total
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Beginning Balance, Shares   27,788,000      
Beginning balance $ 535,322 $ 278 $ 172,771 $ 367,021 $ (4,748)
Issuance of common stock under employee stock plans (in shares)   77,000      
Stock Issued During Period, Value, Stock Options Exercised 2,563 $ 1 2,562    
Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares)   231,000      
Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures 0 $ 2 (2)    
APIC, Share-based Payment Arrangement, Increase for Cost Recognition 6,864   6,864    
Shares Paid for Tax Withholding for Share Based Compensation (in shares)   (58,000)      
Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount (7,212) $ (1) (7,211)    
Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent 2,550       2,550
Adjustments to Additional Paid in Capital Directors Deferred Compensation 16   16    
Net (loss) income 22,520     22,520  
Beginning Balance, Shares   28,038,000      
Beginning balance $ 562,623 $ 280 175,000 389,541 (2,198)
Beginning Balance, Shares 28,352,000 28,352,000      
Beginning balance $ 652,069 $ 284 196,455 452,321 3,009
Issuance of common stock under employee stock plans (in shares)   40,000      
Stock Issued During Period, Value, Stock Options Exercised 934 $ 0 934    
Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares)   193,000      
Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures 0 $ 2 (2)    
APIC, Share-based Payment Arrangement, Increase for Cost Recognition 5,191   5,191    
Shares Paid for Tax Withholding for Share Based Compensation (in shares)   (45,000)      
Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount (1,816) $ 0 (1,816)    
Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent 3,275       3,275
Adjustments to Additional Paid in Capital Directors Deferred Compensation 21   21    
Net (loss) income $ (18,135)     (18,135)  
Stock Repurchased and Retired During Period, Shares (663,602)        
Stock Repurchased and Retired During Period, Value $ (25,000) $ (7) (24,993)    
Beginning Balance, Shares 27,876,000 27,876,000      
Beginning balance $ 616,539 $ 279 $ 175,790 $ 434,186 $ 6,284
XML 65 R2.htm IDEA: XBRL DOCUMENT v3.20.1
Consolidated Balance Sheets (Unaudited) - USD ($)
$ in Thousands
Mar. 28, 2020
Dec. 28, 2019
Current assets:    
Cash and cash equivalents $ 248,768 $ 239,392
Short term investments 14,759 17,032
Accounts receivable, net 37,013 146,161
Inventory 147,249 157,347
Other current assets 41,743 34,285
Total current assets 489,532 594,217
Property and equipment, net 79,530 75,988
Operating lease right-of-use assets 45,958 47,478
Deferred tax assets 41,071 41,791
Goodwill 118,377 118,732
Intangible assets, net 11,787 12,352
Other assets 33,778 30,195
Total assets 820,033 920,753
Current liabilities:    
Accounts payable 77,217 116,185
Accrued expenses 55,801 81,768
Deferred revenue and customer advances 5,320 4,549
Total current liabilities 138,338 202,502
Operating lease liabilities 53,044 54,928
Deferred tax liabilities 1,054 912
Other long-term liabilities 11,058 10,342
Total long-term liabilities 65,156 66,182
Total liabilities 203,494 268,684
Commitments and contingencies (Note 11)
Preferred stock, 5,000 shares authorized and none outstanding 0 0
Common stock, $0.01 par value, 100,000 shares authorized; 27,876 and 28,352 shares issued and outstanding, respectively 279 284
Additional paid-in capital 175,790 196,455
Retained earnings 434,186 452,321
Accumulated other comprehensive income 6,284 3,009
Total stockholders’ equity 616,539 652,069
Total liabilities and stockholders’ equity $ 820,033 $ 920,753
XML 66 R31.htm IDEA: XBRL DOCUMENT v3.20.1
Commitments and Contingencies (Tables)
3 Months Ended
Mar. 28, 2020
Commitments and Contingencies Disclosure [Abstract]  
Activity Related to the Warranty Accrual
Activity related to the warranty accrual was as follows (in thousands):
 
Three Months Ended
 
March 28, 2020
 
March 30, 2019
Balance at beginning of period
$
13,856

 
$
11,964

Provision
4,475

 
2,652

Warranty usage
(4,333
)
 
(2,988
)
Balance at end of period
$
13,998

 
$
11,628


XML 67 R35.htm IDEA: XBRL DOCUMENT v3.20.1
Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items]    
Document Period End Date Mar. 28, 2020  
Net (loss) income $ (18,135) $ 22,520
Weighted-average shares outstanding 28,297 27,863
Dilutive effect of employee stock options and restricted shares 0 900
Diluted weighted-average shares outstanding 28,297 28,763
Basic income per share $ (0.64) $ 0.81
Diluted income per share $ (0.64) $ 0.78
Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount 800 0
XML 69 R39.htm IDEA: XBRL DOCUMENT v3.20.1
Leases Lease Cost (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Leases [Abstract]    
Operating Lease, Weighted Average Discount Rate, Percent 3.62%  
Operating Lease, Cost $ 2,355 $ 1,973
Variable Lease, Cost 1,122 825
Lease, Cost $ 3,477 $ 2,798
Operating Lease, Weighted Average Remaining Lease Term 9 years 14 days  
JSON 70 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "irbt-202032810q.htm": { "axisCustom": 0, "axisStandard": 13, "contextCount": 81, "dts": { "calculationLink": { "local": [ "irbt-20200328_cal.xml" ] }, "definitionLink": { "local": [ "irbt-20200328_def.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-eedm-def-2019-01-31.xml", "http://xbrl.fasb.org/srt/2019/elts/srt-eedm1-def-2019-01-31.xml" ] }, "inline": { "local": [ "irbt-202032810q.htm" ] }, "labelLink": { "local": [ "irbt-20200328_lab.xml" ], "remote": [ "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml", "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-doc-2019-01-31.xml" ] }, "presentationLink": { "local": [ "irbt-20200328_pre.xml" ] }, "referenceLink": { "remote": [ "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml", "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-ref-2019-01-31.xml" ] }, "schema": { "local": [ "irbt-20200328.xsd" ], "remote": [ "http://xbrl.fasb.org/srt/2019/elts/srt-types-2019-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/2006/ref-2006-02-27.xsd", "http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-roles-2019-01-31.xsd", "http://xbrl.fasb.org/srt/2019/elts/srt-roles-2019-01-31.xsd", "https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-types-2019-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", "https://xbrl.sec.gov/currency/2019/currency-2019-01-31.xsd", "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd", "https://xbrl.sec.gov/exch/2019/exch-2019-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/deprecated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-parts-codification-2019-01-31.xsd" ] } }, "elementCount": 404, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2019-01-31": 12, "http://xbrl.sec.gov/dei/2019-01-31": 5, "total": 17 }, "keyCustom": 11, "keyStandard": 284, "memberCustom": 2, "memberStandard": 28, "nsprefix": "irbt", "nsuri": "http://www.irobot.com/20200328", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "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 - Document and Entity Information", "role": "http://www.irobot.com/role/DocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2108100 - Disclosure - Revenue Recognition (Notes)", "role": "http://www.irobot.com/role/RevenueRecognitionNotes", "shortName": "Revenue Recognition (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "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 (Notes)", "role": "http://www.irobot.com/role/LeasesNotes", "shortName": "Leases (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2116100 - Disclosure - Inventory", "role": "http://www.irobot.com/role/Inventory", "shortName": "Inventory", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2117100 - Disclosure - Goodwill, Other Intangible Assets and Other Assets", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssets", "shortName": "Goodwill, Other Intangible Assets and Other Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2118100 - Disclosure - Accrued Expenses", "role": "http://www.irobot.com/role/AccruedExpenses", "shortName": "Accrued Expenses", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfOtherDerivativesNotDesignatedAsHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2119100 - Disclosure - Derivative Instruments (Notes)", "role": "http://www.irobot.com/role/DerivativeInstrumentsNotes", "shortName": "Derivative Instruments (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfOtherDerivativesNotDesignatedAsHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2122100 - Disclosure - Fair Value Measurements (Notes)", "role": "http://www.irobot.com/role/FairValueMeasurementsNotes", "shortName": "Fair Value Measurements (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2123100 - Disclosure - Stockholders Equity (Notes)", "role": "http://www.irobot.com/role/StockholdersEquityNotes", "shortName": "Stockholders Equity (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2124100 - Disclosure - Commitments and Contingencies", "role": "http://www.irobot.com/role/CommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2126100 - Disclosure - Income Taxes (Notes)", "role": "http://www.irobot.com/role/IncomeTaxesNotes", "shortName": "Income Taxes (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1001000 - Statement - Consolidated Balance Sheets (Unaudited)", "role": "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "shortName": "Consolidated Balance Sheets (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2127100 - Disclosure - Industry Segment, Geographic Information and Significant Customers", "role": "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomers", "shortName": "Industry Segment, Geographic Information and Significant Customers", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2128100 - Disclosure - Subsequent Event (Notes)", "role": "http://www.irobot.com/role/SubsequentEventNotes", "shortName": "Subsequent Event (Notes)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2202201 - Disclosure - Summary of Significant Accounting Policies (Policies)", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2308303 - Disclosure - Revenue Recognition Disaggregation of Revenue (Tables)", "role": "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueTables", "shortName": "Revenue Recognition Disaggregation of Revenue (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2308304 - Disclosure - Revenue Recognition Contract Balances (Tables)", "role": "http://www.irobot.com/role/RevenueRecognitionContractBalancesTables", "shortName": "Revenue Recognition Contract Balances (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2309301 - Disclosure - Leases (Tables)", "role": "http://www.irobot.com/role/LeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2316301 - Disclosure - Inventory (Tables)", "role": "http://www.irobot.com/role/InventoryTables", "shortName": "Inventory (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2317301 - Disclosure - Goodwill, Other Intangible Assets and Other Assets (Tables)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables", "shortName": "Goodwill, Other Intangible Assets and Other Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2318301 - Disclosure - Accrued Expenses (Tables)", "role": "http://www.irobot.com/role/AccruedExpensesTables", "shortName": "Accrued Expenses (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2319301 - Disclosure - Derivative Instruments (Tables)", "role": "http://www.irobot.com/role/DerivativeInstrumentsTables", "shortName": "Derivative Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "1001501 - Statement - Consolidated Balance Sheets (Unaudited) (Parenthetical)", "role": "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "shortName": "Consolidated Balance Sheets (Unaudited) (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R30": { "firstAnchor": { "ancestors": [ "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowHedgesIncludedInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2319302 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Tables)", "role": "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables", "shortName": "Derivative Instruments Schedule of Derivative Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowHedgesIncludedInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2324301 - Disclosure - Commitments and Contingencies (Tables)", "role": "http://www.irobot.com/role/CommitmentsAndContingenciesTables", "shortName": "Commitments and Contingencies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2327301 - Disclosure - Industry Segment, Geographic Information and Significant Customers (Tables)", "role": "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersTables", "shortName": "Industry Segment, Geographic Information and Significant Customers (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "span", "span", "div", "us-gaap:CreditLossFinancialInstrumentPolicyTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2402403 - Disclosure - Summary of Significant Accounting Policies Credit Losses (Details)", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesCreditLossesDetails", "shortName": "Summary of Significant Accounting Policies Credit Losses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "us-gaap:CreditLossFinancialInstrumentPolicyTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "span", "span", "ix:continuation", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2402404 - Disclosure - Summary of Significant Accounting Policies Other Assets (Details)", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesOtherAssetsDetails", "shortName": "Summary of Significant Accounting Policies Other Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "ix:continuation", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2402405 - Disclosure - Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail)", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail", "shortName": "Summary of Significant Accounting Policies - Basic and Diluted Net Income Per Share (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "-3", "lang": null, "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408405 - Disclosure - Revenue Recognition Significant Judgments (Details)", "role": "http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsDetails", "shortName": "Revenue Recognition Significant Judgments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-5", "lang": null, "name": "irbt:Refundliabilityproductreturns", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408406 - Disclosure - Revenue Recognition Disaggregation of Revenue (Details)", "role": "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails", "shortName": "Revenue Recognition Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408407 - Disclosure - Revenue Recognition Contract Balances (Details)", "role": "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails", "shortName": "Revenue Recognition Contract Balances (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "-5", "lang": null, "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409402 - Disclosure - Leases Lease Cost (Details)", "role": "http://www.irobot.com/role/LeasesLeaseCostDetails", "shortName": "Leases Lease Cost (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1003000 - Statement - Consolidated Statements of Income Statement", "role": "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "shortName": "Consolidated Statements of Income Statement", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "-3", "lang": null, "name": "irbt:Costofproductrevenue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409403 - Disclosure - Leases Supplemental Cash Flow (Details)", "role": "http://www.irobot.com/role/LeasesSupplementalCashFlowDetails", "shortName": "Leases Supplemental Cash Flow (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "irbt:ScheduleofLeasesSupplementalCashFlowTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "-3", "lang": null, "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409404 - Disclosure - Leases Maturity of Operating Lease LIability (Details)", "role": "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails", "shortName": "Leases Maturity of Operating Lease LIability (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409405 - Disclosure - Leases Financial Statement Impact of Adopting ASC 842 (Details)", "role": "http://www.irobot.com/role/LeasesFinancialStatementImpactOfAdoptingAsc842Details", "shortName": "Leases Financial Statement Impact of Adopting ASC 842 (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "I2019Q1AdoptionASC842", "decimals": "-5", "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2416402 - Disclosure - Inventory (Details)", "role": "http://www.irobot.com/role/InventoryDetails", "shortName": "Inventory (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417402 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "shortName": "Goodwill, Other Intangible Assets and Other Assets - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": null }, "R45": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417403 - Disclosure - Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail", "shortName": "Goodwill, Other Intangible Assets and Other Assets - Other Intangible Assets (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417404 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails", "shortName": "Goodwill, Other Intangible Assets and Other Assets Schedule of goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "ix:continuation", "us-gaap:ScheduleOfGoodwillTextBlock", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "-3", "lang": null, "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417405 - Disclosure - Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details)", "role": "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails", "shortName": "Goodwill, Other Intangible Assets and Other Assets Finite-lived intangible assets, schedule of future amortization (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccruedEmployeeBenefitsCurrentAndNoncurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2418402 - Disclosure - Accrued Expenses (Details)", "role": "http://www.irobot.com/role/AccruedExpensesDetails", "shortName": "Accrued Expenses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccruedEmployeeBenefitsCurrentAndNoncurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2419403 - Disclosure - Derivative Instruments Schedule of Derivative Instruments (Details)", "role": "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "shortName": "Derivative Instruments Schedule of Derivative Instruments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_DesignatedAsHedgingInstrumentMember", "decimals": "-5", "lang": null, "name": "us-gaap:DerivativeNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "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 Comprehensive Income (Unaudited)", "role": "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "shortName": "Consolidated Statements of Comprehensive Income (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "-3", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentBeforeTaxPortionAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2419404 - Disclosure - Derivative Instruments (Details)", "role": "http://www.irobot.com/role/DerivativeInstrumentsDetails", "shortName": "Derivative Instruments (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R51": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ConvertibleDebtTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2422401 - Disclosure - Fair Value Measurements Fair Value on a Recurring Basis (Details)", "role": "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails", "shortName": "Fair Value Measurements Fair Value on a Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ConvertibleDebtTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2423402 - Disclosure - Stockholders Equity (Details)", "role": "http://www.irobot.com/role/StockholdersEquityDetails", "shortName": "Stockholders Equity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ContractualObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2424402 - Disclosure - Commitments and Contingencies - Additional Information (Detail)", "role": "http://www.irobot.com/role/CommitmentsAndContingenciesAdditionalInformationDetail", "shortName": "Commitments and Contingencies - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2020Q1", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ContractualObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2019Q4", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StandardProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2424404 - Disclosure - Commitments and Contingencies - Activity Related to Warranty Accrual (Detail)", "role": "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail", "shortName": "Commitments and Contingencies - Activity Related to Warranty Accrual (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2019Q4", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StandardProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2426402 - Disclosure - Income Taxes (Details)", "role": "http://www.irobot.com/role/IncomeTaxesDetails", "shortName": "Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "span", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2427402 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail)", "role": "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail", "shortName": "Industry Segment, Geographic Information and Significant Customers - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "div", "ix:continuation", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "span", "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentPeriodEndDate", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2427403 - Disclosure - Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail)", "role": "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "shortName": "Industry Segment, Geographic Information and Significant Customers - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1QTD_srt_MajorCustomersAxis_irbt_AmazonMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember", "decimals": "3", "lang": null, "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "span", "span", "div", "us-gaap:SubsequentEventsTextBlock", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "D2020Q1TariffExcl", "decimals": "-5", "first": true, "lang": null, "name": "irbt:RecoveryofImportDuties", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2428402 - Disclosure - Subsequent Event (Details)", "role": "http://www.irobot.com/role/SubsequentEventDetails", "shortName": "Subsequent Event (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "us-gaap:SubsequentEventsTextBlock", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "D2020Q1TariffExcl", "decimals": "-5", "first": true, "lang": null, "name": "irbt:RecoveryofImportDuties", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember", "decimals": "INF", "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 Statement", "role": "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "shortName": "Consolidated Statement of Shareholders' Equity Statement", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesIssued", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1006000 - Statement - Consolidated Statements of Cash Flows (Unaudited)", "role": "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited", "shortName": "Consolidated Statements of Cash Flows (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "span", "div", "td", "tr", "table", "div", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": "-3", "lang": null, "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2101100 - Disclosure - Description of Business", "role": "http://www.irobot.com/role/DescriptionOfBusiness", "shortName": "Description of Business", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2102100 - Disclosure - Summary of Significant Accounting Policies", "role": "http://www.irobot.com/role/SummaryOfSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "div", "body", "html" ], "baseRef": "irbt-202032810q.htm", "contextRef": "FD2020Q1YTD", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 33, "tag": { "country_US": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "UNITED STATES", "terseLabel": "UNITED STATES" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2017-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "dei_DocumentInformationTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.", "label": "Document Information [Table]", "terseLabel": "Document Information [Table]" } } }, "localname": "DocumentInformationTable", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "stringItemType" }, "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.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DocumentAndEntityInformation", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail", "http://www.irobot.com/role/LeasesSupplementalCashFlowDetails", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r322" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r323" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r324" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.", "label": "Entity [Domain]", "terseLabel": "Entity [Domain]" } } }, "localname": "EntityDomain", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/DocumentAndEntityInformation", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r324" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r324" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInformationLineItems": { "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": "Entity Information [Line Items]", "terseLabel": "Entity Information [Line Items]" } } }, "localname": "EntityInformationLineItems", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "stringItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r325" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r324" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r324" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r324" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r324" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "dei_LegalEntityAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The set of legal entities associated with a report.", "label": "Legal Entity [Axis]", "terseLabel": "Legal Entity [Axis]" } } }, "localname": "LegalEntityAxis", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/DocumentAndEntityInformation", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "stringItemType" }, "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r320" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r321" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "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.irobot.com/role/DocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "irbt_AccruedDirectFulfillmentCosts": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 5.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accrued direct fulfillment costs.", "label": "Accrued Direct Fulfillment Costs", "terseLabel": "Accrued direct fulfillment costs" } } }, "localname": "AccruedDirectFulfillmentCosts", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "irbt_AccruedSalesTax": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 6.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accrued Sales Tax", "label": "Accrued Sales Tax", "terseLabel": "Accrued sales and other indirect taxes payable" } } }, "localname": "AccruedSalesTax", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "irbt_AdjustmentsToAdditionalPaidInCapitalDirectorsDeferredCompensation": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Adjustments to additional paid in capital directors deferred compensation.", "label": "Adjustments to Additional Paid in Capital Directors Deferred Compensation", "terseLabel": "Adjustments to Additional Paid in Capital Directors Deferred Compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalDirectorsDeferredCompensation", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "irbt_AllOtherRegionsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "All Other Regions [Member]", "label": "All Other Regions [Member]", "terseLabel": "All Other Regions [Member]" } } }, "localname": "AllOtherRegionsMember", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "irbt_AmazonMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Amazon [Member]", "label": "Amazon [Member]", "terseLabel": "Amazon [Member]" } } }, "localname": "AmazonMember", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "irbt_AmortizationofIntangibleAssetsNonproduction": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 4.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amortization of Intangible Assets, Nonproduction", "label": "Amortization of Intangible Assets, Nonproduction", "terseLabel": "Amortization of acquired intangible assets" } } }, "localname": "AmortizationofIntangibleAssetsNonproduction", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "irbt_Costofproductrevenue": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Cost of product revenue", "label": "Cost of product revenue", "terseLabel": "Cost of product revenue" } } }, "localname": "Costofproductrevenue", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "irbt_DisclosureActivityRelatedToWarrantyAccrualAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure - Activity Related to Warranty Accrual [Abstract]", "label": "Disclosure Activity Related To Warranty Accrual [Abstract]" } } }, "localname": "DisclosureActivityRelatedToWarrantyAccrualAbstract", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "stringItemType" }, "irbt_DisclosureBasicAndDilutedNetIncomePerShareAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure - Basic and Diluted Net Income Per Share [Abstract]", "label": "Disclosure Basic And Diluted Net Income Per Share [Abstract]" } } }, "localname": "DisclosureBasicAndDilutedNetIncomePerShareAbstract", "nsuri": "http://www.irobot.com/20200328", "xbrltype": "stringItemType" }, "irbt_DisclosureGoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure - Goodwill, Other Intangible Assets and Other Assets - Additional Information [Abstract]", "label": "Disclosure Goodwill Other Intangible Assets And Other Assets Additional Information [Abstract]" } } }, "localname": "DisclosureGoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationAbstract", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "irbt_DisclosureOtherIntangibleAssetsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure Other Intangible Assets [Abstract]", "label": "Disclosure Other Intangible Assets [Abstract]" } } }, "localname": "DisclosureOtherIntangibleAssetsAbstract", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "stringItemType" }, "irbt_DisclosureSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure - Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes [Abstract]", "label": "Disclosure Segment Information About Revenue Cost Of Revenue Gross Margin And Income Before Income Taxes [Abstract]" } } }, "localname": "DisclosureSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesAbstract", "nsuri": "http://www.irobot.com/20200328", "xbrltype": "stringItemType" }, "irbt_DocumentDocumentandEntityInformationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Document Documentand Entity Information [Abstract]", "label": "Document Documentand Entity Information [Abstract]" } } }, "localname": "DocumentDocumentandEntityInformationAbstract", "nsuri": "http://www.irobot.com/20200328", "xbrltype": "stringItemType" }, "irbt_EquityandcostmethodinvestmentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Equity and cost method investments [Abstract]", "label": "Equity and cost method investments [Abstract]" } } }, "localname": "EquityandcostmethodinvestmentsAbstract", "nsuri": "http://www.irobot.com/20200328", "xbrltype": "stringItemType" }, "irbt_FairValueFootnoteAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Fair Value Footnote [Abstract]", "label": "Fair Value Footnote [Abstract]" } } }, "localname": "FairValueFootnoteAbstract", "nsuri": "http://www.irobot.com/20200328", "xbrltype": "stringItemType" }, "irbt_Finitelivedintangibleassetsfutureamortizationtotal": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Finite-lived intangible assets, future amortization total", "label": "Finite-lived intangible assets, future amortization total", "terseLabel": "Total" } } }, "localname": "Finitelivedintangibleassetsfutureamortizationtotal", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "irbt_FinitelivedintangibleassetsscheduleofamortizationexpenseLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "[Line Items] for Finite-lived intangible assets, schedule of amortization expense [Table]", "label": "Finite-lived intangible assets, schedule of amortization expense [Line Items]", "terseLabel": "Finite-lived intangible assets, schedule of amortization expense [Line Items]" } } }, "localname": "FinitelivedintangibleassetsscheduleofamortizationexpenseLineItems", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "stringItemType" }, "irbt_FinitelivedintangibleassetsscheduleofamortizationexpenseTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Finite-lived intangible assets, schedule of amortization expense [Table]", "label": "Finite-lived intangible assets, schedule of amortization expense [Table]", "terseLabel": "Finite-lived intangible assets, schedule of amortization expense [Table]" } } }, "localname": "FinitelivedintangibleassetsscheduleofamortizationexpenseTable", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "stringItemType" }, "irbt_OperatingLeaseCostAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Operating Lease Cost [Abstract]", "label": "Operating Lease Cost [Abstract]" } } }, "localname": "OperatingLeaseCostAbstract", "nsuri": "http://www.irobot.com/20200328", "xbrltype": "stringItemType" }, "irbt_OutstandingPOsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Outstanding POs [Abstract]", "label": "Outstanding POs [Abstract]" } } }, "localname": "OutstandingPOsAbstract", "nsuri": "http://www.irobot.com/20200328", "xbrltype": "stringItemType" }, "irbt_RecoveryofImportDuties": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Recovery of Import Duties", "label": "Recovery of Import Duties", "terseLabel": "Recovery of Import Duties" } } }, "localname": "RecoveryofImportDuties", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails" ], "xbrltype": "monetaryItemType" }, "irbt_Refundliabilityothercreditsandincentives": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Refund liability, other credits and incentives", "label": "Refund liability, other credits and incentives", "terseLabel": "Refund liability, other credits and incentives" } } }, "localname": "Refundliabilityothercreditsandincentives", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsDetails" ], "xbrltype": "monetaryItemType" }, "irbt_Refundliabilityproductreturns": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Refund liability, product returns", "label": "Refund liability, product returns", "terseLabel": "Refund liability, product returns" } } }, "localname": "Refundliabilityproductreturns", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsDetails" ], "xbrltype": "monetaryItemType" }, "irbt_ReturnsreserveadjustmentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Returns reserve adjustment [Abstract]", "label": "Returns reserve adjustment [Abstract]" } } }, "localname": "ReturnsreserveadjustmentAbstract", "nsuri": "http://www.irobot.com/20200328", "xbrltype": "stringItemType" }, "irbt_ScheduleOfComputationOfBasicAndDilutedEarningsPerCommonShareLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items]", "label": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items]", "terseLabel": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Line Items]" } } }, "localname": "ScheduleOfComputationOfBasicAndDilutedEarningsPerCommonShareLineItems", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "stringItemType" }, "irbt_ScheduleOfComputationOfBasicAndDilutedEarningsPerCommonShareTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table]", "label": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table]", "terseLabel": "Schedule Of Computation Of Basic And Diluted Earnings Per Common Share [Table]" } } }, "localname": "ScheduleOfComputationOfBasicAndDilutedEarningsPerCommonShareTable", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "stringItemType" }, "irbt_ScheduleofDerivativeInstrumentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule of Derivative Instruments [Abstract]", "label": "Schedule of Derivative Instruments [Abstract]" } } }, "localname": "ScheduleofDerivativeInstrumentsAbstract", "nsuri": "http://www.irobot.com/20200328", "xbrltype": "stringItemType" }, "irbt_ScheduleofLeasesSupplementalCashFlowTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule of Leases, Supplemental Cash Flow [Table Text Block]", "label": "Schedule of Leases, Supplemental Cash Flow [Table Text Block]", "terseLabel": "Schedule of Leases, Supplemental Cash Flow [Table Text Block]" } } }, "localname": "ScheduleofLeasesSupplementalCashFlowTableTextBlock", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "irbt_StockWithheldToCoverTaxWithholdingRequirementsUponVestingToRestrictedStockUnitsAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Stock withheld to Cover tax withholding requirements Upon Vesting to restricted Stock Units.", "label": "Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount", "terseLabel": "Stock Withheld to Cover Tax Withholding Requirements Upon Vesting to Restricted Stock Units Amount" } } }, "localname": "StockWithheldToCoverTaxWithholdingRequirementsUponVestingToRestrictedStockUnitsAmount", "nsuri": "http://www.irobot.com/20200328", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r125", "r135" ], "lang": { "en-US": { "role": { "label": "Consolidation Items [Axis]", "terseLabel": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Consolidation Items [Domain]", "terseLabel": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "domainItemType" }, "srt_EnergyAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Energy [Axis]", "terseLabel": "Energy [Axis]" } } }, "localname": "EnergyAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "srt_EnergyDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Energy [Domain]", "terseLabel": "Energy [Domain]" } } }, "localname": "EnergyDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r138", "r196", "r201", "r315" ], "lang": { "en-US": { "role": { "label": "Customer [Axis]", "terseLabel": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r136", "r196", "r199", "r312", "r313" ], "lang": { "en-US": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statistical Measurement [Axis]", "terseLabel": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statistical Measurement [Domain]", "terseLabel": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "domainItemType" }, "srt_RestatementAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Restatement [Axis]", "terseLabel": "Restatement [Axis]" } } }, "localname": "RestatementAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "stringItemType" }, "srt_RestatementDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Restatement [Domain]", "terseLabel": "Restatement [Domain]" } } }, "localname": "RestatementDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "domainItemType" }, "srt_ScenarioUnspecifiedDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Scenario [Domain]", "terseLabel": "Scenario [Domain]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r137", "r196", "r200", "r314", "r317", "r318" ], "lang": { "en-US": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_StatementScenarioAxis": { "auth_ref": [ "r182", "r284" ], "lang": { "en-US": { "role": { "label": "Scenario [Axis]", "terseLabel": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "auth_ref": [ "r37" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.", "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "terseLabel": "Accrued Expenses" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpenses" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r36" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Accounts Payable, Current [Abstract]", "terseLabel": "Accounts Payable, Current [Abstract]" } } }, "localname": "AccountsPayableCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r3", "r22", "r140", "r141", "r197" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, net", "verboseLabel": "Accounts Receivable, after Allowance for Credit Loss, Current" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedBonusesCurrentAndNoncurrent": { "auth_ref": [ "r295", "r307" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements.", "label": "Accrued Bonuses", "terseLabel": "Accrued bonus" } } }, "localname": "AccruedBonusesCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedEmployeeBenefitsCurrentAndNoncurrent": { "auth_ref": [ "r295", "r307" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them.", "label": "Accrued Employee Benefits", "terseLabel": "Accrued other compensation" } } }, "localname": "AccruedEmployeeBenefitsCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxes": { "auth_ref": [ "r15", "r18", "r215", "r293", "r302" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 7.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "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": "Accrued federal and state income taxes" } } }, "localname": "AccruedIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r39" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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", "totalLabel": "Accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails", "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Accrued Liabilities, Current [Abstract]" } } }, "localname": "AccruedLiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccruedLiabilitiesMember": { "auth_ref": [ "r39" ], "lang": { "en-US": { "role": { "documentation": "This item represents 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.", "label": "Accrued Liabilities [Member]", "terseLabel": "Accrued Liabilities [Member]" } } }, "localname": "AccruedLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r51", "r52", "r53" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 6.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 income" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r50", "r53", "r56", "r228" ], "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": "AOCI Attributable to Parent [Member]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r23" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 4.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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "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 [Member]" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForChangeInAccountingPrincipleAxis": { "auth_ref": [ "r96" ], "lang": { "en-US": { "role": { "documentation": "Information by type of change in accounting principle. Does not include error corrections.", "label": "Adjustments for Change in Accounting Principle [Axis]", "terseLabel": "Adjustments for Change in Accounting Principle [Axis]" } } }, "localname": "AdjustmentsForChangeInAccountingPrincipleAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsForErrorCorrectionDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the types error corrections made to the financial statements.", "label": "Adjustments for Error Correction [Domain]", "terseLabel": "Adjustments for Error Correction [Domain]" } } }, "localname": "AdjustmentsForErrorCorrectionDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "auth_ref": [ "r96" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r206", "r207", "r209", "r210" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "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 (loss) income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "auth_ref": [ "r142", "r148", "r150", "r151" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss", "terseLabel": "Accounts Receivable, Allowance for Credit Loss" } } }, "localname": "AllowanceForDoubtfulAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease": { "auth_ref": [ "r152" ], "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss, Period Increase (Decrease)", "terseLabel": "Accounts Receivable, Allowance for Credit Loss, Period Increase (Decrease)" } } }, "localname": "AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r86", "r166", "r171" ], "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 Acquired Intangible Assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r107" ], "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": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_Assets": { "auth_ref": [ "r129", "r292", "r301" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r4", "r5", "r46" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r256" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Fair Value Disclosure", "terseLabel": "Assets, Fair Value Disclosure" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecurities": { "auth_ref": [], "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": "Available-for-sale Securities" } } }, "localname": "AvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesAmortizedCost": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "This item represents the cost of debt and equity securities, which are categorized neither as held-to-maturity nor trading, net of adjustments including accretion, amortization, collection of cash, previous other-than-temporary impairments recognized in earnings (less any cumulative-effect adjustments recognized, as defined), and fair value hedge accounting adjustments, if any.", "label": "Available-for-sale Securities, Amortized Cost Basis", "terseLabel": "Available-for-sale Securities, Amortized Cost Basis" } } }, "localname": "AvailableForSaleSecuritiesAmortizedCost", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesCurrent": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt and equity securities categorized neither as trading securities nor held-to-maturity securities and intended be sold or mature one year or operating cycle, if longer.", "label": "Available-for-sale Securities, Current", "terseLabel": "Short term investments" } } }, "localname": "AvailableForSaleSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r238", "r241" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r219", "r220" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionLineItems": { "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": "Business Acquisition [Line Items]", "terseLabel": "Business Acquisition [Line Items]" } } }, "localname": "BusinessAcquisitionLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r1", "r34", "r88" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease": { "auth_ref": [], "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)", "terseLabel": "Cash and Cash Equivalents, Period Increase (Decrease)" } } }, "localname": "CashAndCashEquivalentsPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r83", "r269" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net increase in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashFlowHedgingMember": { "auth_ref": [ "r234" ], "lang": { "en-US": { "role": { "documentation": "Hedge of the exposure to variability in the cash flows of a recognized asset or liability, or of a forecasted transaction, that is attributable to a particular risk.", "label": "Cash Flow Hedging [Member]", "terseLabel": "Cash Flow Hedging [Member]" } } }, "localname": "CashFlowHedgingMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ChangeInAccountingPrincipleMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A change from one generally accepted accounting principle to another generally accepted accounting principle when there are two or more generally accepted accounting principles that apply or when the accounting principle formerly used is no longer generally accepted. A change in the method of applying an accounting principle that is not treated as a change in accounting estimate also is considered a change in accounting principle.", "label": "Adjustments for Change in Accounting Principle [Domain]", "terseLabel": "Adjustments for Change in Accounting Principle [Domain]" } } }, "localname": "ChangeInAccountingPrincipleMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfStockDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.", "label": "Class of Stock [Domain]", "terseLabel": "Class of Stock [Domain]" } } }, "localname": "ClassOfStockDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r42", "r181", "r296", "r306" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies (Note 11)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r180", "r183" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "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 [Member]" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r21" ], "lang": { "en-US": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r21" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r21" ], "lang": { "en-US": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued", "verboseLabel": "Beginning Balance, Shares" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r21", "r188" ], "lang": { "en-US": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r21" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "terseLabel": "Common stock, $0.01 par value, 100,000 shares authorized; 27,876 and 28,352 shares issued and outstanding, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r59", "r61", "r62" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "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 (loss) income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r117", "r118", "r267", "r268" ], "lang": { "en-US": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r117", "r118", "r267", "r268", "r316" ], "lang": { "en-US": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]", "terseLabel": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r117", "r118", "r267", "r268", "r316" ], "lang": { "en-US": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]", "terseLabel": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r117", "r118", "r267", "r268" ], "lang": { "en-US": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "terseLabel": "Concentration Risk, Percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r117", "r118", "r267", "r268" ], "lang": { "en-US": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.", "label": "Concentration Risk Type [Domain]", "terseLabel": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r193" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of contract balances and changes in contract balances.", "label": "Contract with Customer, Asset and Liability [Table Text Block]", "terseLabel": "Contract with Customer, Asset and Liability [Table Text Block]" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionContractBalancesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r191", "r192", "r197" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Contract with Customer, Liability", "terseLabel": "Contract with Customer, Liability" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r198" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Contract with Customer, Liability, Revenue Recognized" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractualObligation": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of contractual obligation, including but not limited to, long-term debt, capital lease obligations, operating lease obligations, purchase obligations, and other commitments.", "label": "Contractual Obligation", "terseLabel": "Contractual Obligation" } } }, "localname": "ContractualObligation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConvertibleDebtFairValueDisclosures": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock.", "label": "Convertible Debt, Fair Value Disclosures", "terseLabel": "Convertible Debt, Fair Value Disclosures" } } }, "localname": "ConvertibleDebtFairValueDisclosures", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConvertibleDebtTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder. Disclosures include, but are not limited to, principal amount, amortized premium or discount, and amount of liability and equity components.", "label": "Convertible Debt [Table Text Block]", "terseLabel": "Convertible Debt [Table Text Block]" } } }, "localname": "ConvertibleDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r71" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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": "Total cost of revenue", "totalLabel": "Total cost of revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsAndServicesSoldAmortization": { "auth_ref": [ "r69" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 3.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of expense for allocation of cost of intangible asset over its useful life directly used in production of good and rendering of service.", "label": "Cost, Amortization", "terseLabel": "Amortization of acquired intangible assets" } } }, "localname": "CostOfGoodsAndServicesSoldAmortization", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]", "verboseLabel": "Cost of revenue" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CreditLossAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Credit Loss [Abstract]" } } }, "localname": "CreditLossAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_CreditLossFinancialInstrumentPolicyTextBlock": { "auth_ref": [ "r149", "r153", "r154", "r155", "r156" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status.", "label": "Credit Loss, Financial Instrument [Policy Text Block]", "terseLabel": "Credit Loss, Financial Instrument [Policy Text Block]" } } }, "localname": "CreditLossFinancialInstrumentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "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": "Cumulative Effect of New Accounting Principle in Period of Adoption" } } }, "localname": "CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r116" ], "lang": { "en-US": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer Concentration Risk [Member]" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelatedIntangibleAssetsMember": { "auth_ref": [ "r221" ], "lang": { "en-US": { "role": { "documentation": "Customer-related asset, including, but not limited to, customer lists, and noncontractual customer relationships.", "label": "Customer-Related Intangible Assets [Member]", "terseLabel": "Customer-Related Intangible Assets [Member]" } } }, "localname": "CustomerRelatedIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r216" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred tax assets" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r212", "r216" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenue": { "auth_ref": [ "r28" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.", "label": "Deferred Revenue", "terseLabel": "Deferred revenue and customer advances" } } }, "localname": "DeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r86", "r126" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssets": { "auth_ref": [ "r47", "r48", "r266" ], "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" } } }, "localname": "DerivativeAssets", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeContractTypeDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.", "label": "Derivative Contract [Domain]", "terseLabel": "Derivative Contract [Domain]" } } }, "localname": "DerivativeContractTypeDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_DerivativeInstrumentRiskAxis": { "auth_ref": [ "r239", "r240", "r245", "r248" ], "lang": { "en-US": { "role": { "documentation": "Information by type of derivative contract.", "label": "Derivative Instrument [Axis]", "terseLabel": "Derivative Instrument [Axis]", "verboseLabel": "Derivative, by Nature [Axis]" } } }, "localname": "DerivativeInstrumentRiskAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "auth_ref": [ "r255" ], "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 and Hedging Activities Disclosure [Text Block]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis": { "auth_ref": [ "r235", "r239", "r245" ], "lang": { "en-US": { "role": { "documentation": "Information by type of hedging relationship.", "label": "Hedging Relationship [Axis]", "terseLabel": "Hedging Relationship [Axis]" } } }, "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": { "auth_ref": [ "r235", "r239", "r245", "r248", "r249", "r252", "r253" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet": { "auth_ref": [ "r243", "r247" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The effective portion of net gain (loss) reclassified from accumulated other comprehensive income into income on derivative instruments designated and qualifying as hedging instruments.", "label": "Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net", "terseLabel": "Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net" } } }, "localname": "DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet": { "auth_ref": [ "r244", "r246" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of realized and unrealized gain (loss) of derivative instruments not designated or qualifying as hedging instruments.", "label": "Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net", "terseLabel": "Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net" } } }, "localname": "DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLiabilities": { "auth_ref": [ "r47", "r48", "r266" ], "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" } } }, "localname": "DerivativeLiabilities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeNotionalAmount": { "auth_ref": [ "r231", "r233" ], "lang": { "en-US": { "role": { "documentation": "Nominal or face amount used to calculate payment on derivative.", "label": "Derivative, Notional Amount", "terseLabel": "Derivative, Notional Amount" } } }, "localname": "DerivativeNotionalAmount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeTable": { "auth_ref": [ "r92", "r230", "r232", "r233", "r235", "r237", "r242", "r245", "r250", "r251", "r253" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_DesignatedAsHedgingInstrumentMember": { "auth_ref": [ "r235" ], "lang": { "en-US": { "role": { "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).", "label": "Designated as Hedging Instrument [Member]", "terseLabel": "Designated as Hedging Instrument [Member]" } } }, "localname": "DesignatedAsHedgingInstrumentMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r196" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Disaggregation of Revenue [Table Text Block]" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueTables" ], "xbrltype": "textBlockItemType" }, "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 Rights [Member]" } } }, "localname": "DistributionRightsMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_EMEAMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Regions of Europe, Middle East and Africa.", "label": "EMEA [Member]", "terseLabel": "EMEA [Member]" } } }, "localname": "EMEAMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r68", "r97", "r103", "r104", "r105", "r106", "r110", "r300", "r310" ], "lang": { "en-US": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Basic", "verboseLabel": "Basic income per share" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r68", "r97", "r103", "r104", "r105", "r106", "r110", "r300", "r310" ], "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", "verboseLabel": "Diluted income per share" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerSharePolicyTextBlock": { "auth_ref": [ "r89", "r107", "r108", "r109" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.", "label": "Earnings Per Share, Policy [Policy Text Block]", "terseLabel": "Net Income Per Share" } } }, "localname": "EarningsPerSharePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents": { "auth_ref": [ "r269" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 4.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "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 exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashAndCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r91", "r213", "r214" ], "lang": { "en-US": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective Income Tax Rate Reconciliation, Percent" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r188" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount": { "auth_ref": [ "r145" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in equity security without readily determinable fair value.", "label": "Equity Securities without Readily Determinable Fair Value, Amount", "terseLabel": "Equity Securities without Readily Determinable Fair Value, Amount" } } }, "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesOtherAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis": { "auth_ref": [ "r98", "r99", "r100" ], "lang": { "en-US": { "role": { "documentation": "Information by type of error correction.", "label": "Adjustments for Error Corrections [Axis]", "terseLabel": "Adjustments for Error Corrections [Axis]" } } }, "localname": "ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "stringItemType" }, "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r256", "r257", "r258", "r264" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value, Recurring and Nonrecurring [Table]", "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r203", "r204", "r205", "r257", "r286" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r256", "r257", "r259", "r260", "r265" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r263" ], "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 Disclosures [Text Block]" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r203", "r204", "r205", "r257", "r287" ], "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": "Fair Value, Inputs, Level 1 [Member]" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r203", "r204", "r205", "r257", "r288" ], "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": "Fair Value, Inputs, Level 2 [Member]" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r203", "r204", "r205", "r257", "r289" ], "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 [Member]" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]", "terseLabel": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases": { "auth_ref": [ "r262" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of purchases of financial instrument classified as an asset 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, Asset, Purchases", "terseLabel": "conversion of debt" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue": { "auth_ref": [ "r261" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value of financial instrument classified as an asset 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, Asset Value", "terseLabel": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r263", "r265" ], "lang": { "en-US": { "role": { "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.", "label": "Fair Value, Recurring [Member]", "terseLabel": "Fair Value, Recurring [Member]" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r170" ], "calculation": { "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail": { "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": "Intangible assets accumulated amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "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", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "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", "terseLabel": "Remainder of 2020" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r172" ], "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": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r172" ], "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": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r172" ], "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": "2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r172" ], "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": "2021" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r167", "r168", "r170", "r173", "r290" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r170", "r290" ], "calculation": { "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail": { "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": "Finite-Lived Intangible Assets, Gross" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r167", "r169" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r170" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Intangible Assets, Net", "verboseLabel": "Intangible assets, net" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignExchangeForwardMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate.", "label": "Foreign Exchange Forward [Member]", "terseLabel": "Foreign Exchange Forward [Member]" } } }, "localname": "ForeignExchangeForwardMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GainLossOnSaleOfBusiness": { "auth_ref": [ "r86", "r229" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of gain (loss) from sale and disposal of integrated set of activities and assets capable of being conducted and managed for purpose of providing return in form of dividend, lower cost, or other economic benefit to investor, owner, member and participant.", "label": "Gain (Loss) on Disposition of Business", "terseLabel": "Gain (Loss) on Disposition of Business" } } }, "localname": "GainLossOnSaleOfBusiness", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r72" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 3.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and Administrative Expense", "terseLabel": "General and administrative", "verboseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r160", "r161" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r162" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.", "label": "Goodwill, Acquired During Period", "terseLabel": "Goodwill, Acquired During Period" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetImpairment": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Total loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill.", "label": "Goodwill and Intangible Asset Impairment", "terseLabel": "Goodwill and Intangible Asset Impairment" } } }, "localname": "GoodwillAndIntangibleAssetImpairment", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r174" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "Goodwill, Other Intangible Assets and Other Assets" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "auth_ref": [ "r163" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "terseLabel": "Goodwill, Foreign Currency Translation Gain (Loss)" } } }, "localname": "GoodwillForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillLineItems": { "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": "Goodwill [Line Items]", "terseLabel": "Goodwill [Line Items]" } } }, "localname": "GoodwillLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r70" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "terseLabel": "Gross profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_HedgingDesignationAxis": { "auth_ref": [ "r235", "r249" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_HedgingDesignationDomain": { "auth_ref": [ "r235" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_HedgingRelationshipDomain": { "auth_ref": [ "r235" ], "lang": { "en-US": { "role": { "documentation": "Nature or intent of a hedge.", "label": "Hedging Relationship [Domain]", "terseLabel": "Hedging Relationship [Domain]" } } }, "localname": "HedgingRelationshipDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r65", "r97", "r291", "r298", "r311" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "(Loss) income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromEquityMethodInvestments": { "auth_ref": [ "r66", "r86", "r127", "r146", "r297", "r308" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (loss) for proportionate share of equity method investee's income (loss).", "label": "Income (Loss) from Equity Method Investments", "terseLabel": "Income (Loss) from Equity Method Investments" } } }, "localname": "IncomeLossFromEquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r176" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails", "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Income Tax Disclosure [Abstract]" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r218" ], "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": "Income Tax Disclosure [Text Block]" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IncomeTaxesNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r90", "r128", "r217" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "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 (benefit) expense" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 9.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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 6.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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 4.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", "negatedTerseLabel": "Deferred income taxes, net" } } }, "localname": "IncreaseDecreaseInDeferredIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventory" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities \u2014 (use) source" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid.", "label": "Increase (Decrease) in Other Accrued Liabilities", "terseLabel": "Accrued expenses and other liabilities" } } }, "localname": "IncreaseDecreaseInOtherAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in operating assets classified as other.", "label": "Increase (Decrease) in Other Operating Assets", "negatedLabel": "Other current assets" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssets", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Inventory Disclosure [Abstract]" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r159" ], "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": "Inventory" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/Inventory" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r29", "r158" ], "calculation": { "http://www.irobot.com/role/InventoryDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.", "label": "Inventory, Finished Goods, Net of Reserves", "terseLabel": "Inventory, Finished Goods, Net of Reserves" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/InventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r2", "r44", "r157" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.irobot.com/role/InventoryDetails": { "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": "Inventory", "totalLabel": "Inventory" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/InventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r30", "r158" ], "calculation": { "http://www.irobot.com/role/InventoryDetails": { "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": "Inventory, Raw Materials, Net of Reserves" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/InventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentPolicyTextBlock": { "auth_ref": [ "r147" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for investment in financial asset.", "label": "Investment, Policy [Policy Text Block]", "terseLabel": "Investment, Policy [Policy Text Block]" } } }, "localname": "InvestmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r279", "r281" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r279" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Lease, Cost [Table Text Block]" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Leases [Abstract]" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r280" ], "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 [Table Text Block]" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r280" ], "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", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Due" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "auth_ref": [ "r280" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due after fifth fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Five", "terseLabel": "Lessee, Operating Lease, Liability, Payments, Due after Year Five" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r280" ], "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": "Lessee, Operating Lease, Liability, Payments, Due Year Five" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r280" ], "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": "Lessee, Operating Lease, Liability, Payments, Due Year Four" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r280" ], "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": "Lessee, Operating Lease, Liability, Payments, Due Year Three" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r280" ], "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": "Lessee, Operating Lease, Liability, Payments, Due Year Two" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r280" ], "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": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r280" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "terseLabel": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r282" ], "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": "Lessee, Operating Leases [Text Block]" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r38" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r27", "r294", "r304" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders\u2019 equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES, REDEEMABLE CONVERTIBLE PREFERRED STOCK AND STOCKHOLDERS' EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r40" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesFairValueDisclosure": { "auth_ref": [ "r256" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value of financial and nonfinancial obligations.", "label": "Financial and Nonfinancial Liabilities, Fair Value Disclosure", "terseLabel": "Financial and Nonfinancial Liabilities, Fair Value Disclosure" } } }, "localname": "LiabilitiesFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesNoncurrent": { "auth_ref": [ "r10", "r11", "r12", "r16", "r17" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer.", "label": "Liabilities, Noncurrent", "totalLabel": "Total long-term liabilities" } } }, "localname": "LiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_MoneyMarketFundsAtCarryingValue": { "auth_ref": [], "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 Funds, at Carrying Value" } } }, "localname": "MoneyMarketFundsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/FairValueMeasurementsFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "stringItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r111", "r122" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.", "label": "Nature of Operations [Text Block]", "terseLabel": "Description of Business" } } }, "localname": "NatureOfOperations", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DescriptionOfBusiness" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r83" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash used in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r83" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r83", "r84", "r87" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r57", "r60", "r67", "r87", "r108", "r299", "r309" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "terseLabel": "Net (loss) income", "totalLabel": "Net (loss) income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "monetaryItemType" }, "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": "Recent Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncompeteAgreementsMember": { "auth_ref": [ "r223" ], "lang": { "en-US": { "role": { "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.", "label": "Noncompete Agreements [Member]", "terseLabel": "Noncompete Agreements [Member]" } } }, "localname": "NoncompeteAgreementsMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_NondesignatedMember": { "auth_ref": [ "r235" ], "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 [Member]" } } }, "localname": "NondesignatedMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r73" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).", "label": "Nonoperating Income (Expense)", "terseLabel": "Other (expense) income, net", "verboseLabel": "Other income, net" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of Reportable Segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingExpenseMember": { "auth_ref": [ "r247" ], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing expenses associated with normal operations.", "label": "Operating Expense [Member]", "terseLabel": "Operating Expense [Member]" } } }, "localname": "OperatingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsFiniteLivedIntangibleAssetsScheduleOfFutureAmortizationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.", "label": "Operating Expenses", "totalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "terseLabel": "Operating (loss) income" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r273", "r281" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r271" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesFinancialStatementImpactOfAdoptingAsc842Details", "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r271" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "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": "Current portion of operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails", "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r271" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesNoncurrent", "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 liabilities", "verboseLabel": "Operating Lease, Liability, Noncurrent" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/LeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r272", "r275" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesSupplementalCashFlowDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r270" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease right-of-use assets", "verboseLabel": "Operating lease right-of-use asset" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/LeasesFinancialStatementImpactOfAdoptingAsc842Details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r278", "r281" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r277", "r281" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r6", "r7", "r8", "r39" ], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 8.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Accrued Liabilities, Current", "terseLabel": "Accrued other" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsCurrent": { "auth_ref": [ "r45" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of current assets classified as other.", "label": "Other Assets, Current", "terseLabel": "Other current assets" } } }, "localname": "OtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r35" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 7.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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r225", "r226", "r227" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 5.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "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", "terseLabel": "Net unrealized (losses) gains on marketable securities, net of tax" } } }, "localname": "OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentBeforeTaxPortionAttributableToParent": { "auth_ref": [ "r225", "r226", "r227" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount before tax, after reclassification adjustments of gain (loss) on foreign currency translation adjustments, on foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax, Portion Attributable to Parent", "terseLabel": "Net foreign currency translation adjustments" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentBeforeTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLocationAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by location in other comprehensive income.", "label": "Other Comprehensive Income Location [Axis]", "terseLabel": "Other Comprehensive Income Location [Axis]" } } }, "localname": "OtherComprehensiveIncomeLocationAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLocationDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Location in other comprehensive income.", "label": "Other Comprehensive Income Location [Domain]", "terseLabel": "Other Comprehensive Income Location [Domain]" } } }, "localname": "OtherComprehensiveIncomeLocationDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "terseLabel": "Other comprehensive income (loss):" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r58", "r61", "r225", "r226", "r227" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "terseLabel": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax": { "auth_ref": [ "r51", "r54", "r55", "r236" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 4.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of reclassification adjustment from accumulated other comprehensive income of accumulated gain (loss) realized from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's deferred hedging gain (loss).", "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI on Derivatives, Net of Tax", "negatedTerseLabel": "Net (gains) losses on cash flow hedge reclassified into earnings, net of tax" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodBeforeTax": { "auth_ref": [ "r49", "r51", "r254" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount before tax 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), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax", "terseLabel": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax", "verboseLabel": "Derivative Instruments, Gain Recognized in Other Comprehensive Income (Loss), Effective Portion" } } }, "localname": "OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodBeforeTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r49", "r51", "r254" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited": { "order": 3.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax 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), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax", "terseLabel": "Net unrealized gains on cash flow hedges, net of tax" } } }, "localname": "OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCurrentAssetsMember": { "auth_ref": [ "r238", "r252" ], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing other current assets.", "label": "Other Current Assets [Member]", "terseLabel": "Other Current Assets [Member]" } } }, "localname": "OtherCurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherDerivativesNotDesignatedAsHedgingInstrumentsAtFairValueNet": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Net fair value of all derivative instruments not designated as a hedging instrument.", "label": "Other Derivatives Not Designated as Hedging Instruments at Fair Value, Net", "terseLabel": "Other Derivatives Not Designated as Hedging Instruments at Fair Value, Net" } } }, "localname": "OtherDerivativesNotDesignatedAsHedgingInstrumentsAtFairValueNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r41" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesNoncurrent", "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 long-term liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncashIncomeExpense": { "auth_ref": [ "r87" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.", "label": "Other Noncash Income (Expense)", "negatedTerseLabel": "Other" } } }, "localname": "OtherNoncashIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncurrentAssetsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing other noncurrent assets.", "label": "Other Noncurrent Assets [Member]", "terseLabel": "Other Noncurrent Assets [Member]" } } }, "localname": "OtherNoncurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherNoncurrentLiabilitiesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing other noncurrent liabilities.", "label": "Other Noncurrent Liabilities [Member]", "terseLabel": "Other Noncurrent Liabilities [Member]" } } }, "localname": "OtherNoncurrentLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherNonoperatingIncomeExpenseMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing other nonoperating income (expense).", "label": "Other Nonoperating Income (Expense) [Member]", "terseLabel": "Other Nonoperating Income (Expense) [Member]" } } }, "localname": "OtherNonoperatingIncomeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PatentedTechnologyMember": { "auth_ref": [ "r224" ], "lang": { "en-US": { "role": { "documentation": "Exclusive legal right granted by the government to the owner of the patented technology to exploit the technology for a period of time specified by law.", "label": "Patented Technology [Member]", "terseLabel": "Completed technology" } } }, "localname": "PatentedTechnologyMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": { "auth_ref": [ "r76", "r80", "r93" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash (inflow) outflow from investing activities classified as other.", "label": "Payments for (Proceeds from) Other Investing Activities", "negatedTerseLabel": "Change in other assets" } } }, "localname": "PaymentsForProceedsFromOtherInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r82" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "Payments for Repurchase of Common Stock", "terseLabel": "Stock repurchases" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r82" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Payment, Tax Withholding, Share-based Payment Arrangement", "negatedTerseLabel": "Income tax withholding payment associated with restricted stock vesting" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireAvailableForSaleSecurities": { "auth_ref": [ "r77", "r144" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow to acquire debt and equity securities not classified as either held-to-maturity securities or trading securities which would be classified as available-for-sale securities and reported at fair value, with unrealized gains and losses excluded from earnings and reported in a separate component of shareholders' equity.", "label": "Payments to Acquire Available-for-sale Securities", "terseLabel": "Purchases of investments" } } }, "localname": "PaymentsToAcquireAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r78" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "terseLabel": "Cash paid for business acquisition, net of cash acquired" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r79" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedTerseLabel": "Additions of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PositionAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by position taken for a security.", "label": "Position [Axis]", "terseLabel": "Position [Axis]" } } }, "localname": "PositionAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_PositionDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Indicates position taken for a security.", "label": "Position [Domain]", "terseLabel": "Position [Domain]" } } }, "localname": "PositionDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r20" ], "lang": { "en-US": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock, shares authorized" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r20" ], "lang": { "en-US": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r20" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred Stock, Value, Issued", "terseLabel": "Preferred stock, 5,000 shares authorized and none outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities": { "auth_ref": [ "r74", "r75", "r144" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow from sale, maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Proceeds from Sale and Maturity of Debt Securities, Available-for-sale", "terseLabel": "Sales and maturities of investments" } } }, "localname": "ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfOtherAssetsInvestingActivities": { "auth_ref": [ "r76" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow from the sale of other assets recognized in investing activities.", "label": "Proceeds from Sale of Other Assets, Investing Activities", "terseLabel": "Proceeds from Sale of Other Assets, Investing Activities" } } }, "localname": "ProceedsFromSaleOfOtherAssetsInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockPlans": { "auth_ref": [ "r81" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The cash inflow associated with the amount received from the stock plan during the period.", "label": "Proceeds from Stock Plans", "terseLabel": "Proceeds from employee stock plans" } } }, "localname": "ProceedsFromStockPlans", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r13", "r14", "r175", "r305" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable": { "auth_ref": [ "r131", "r133" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about the reconciliation of profit (loss) from reportable segments to the consolidated income (loss) before income tax expense (benefit) and discontinued operations. Includes, but is not limited to, reconciliation after income tax if income tax is allocated to the reportable segment.", "label": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]", "terseLabel": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]" } } }, "localname": "ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r211", "r319" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "terseLabel": "Research and development", "verboseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r24", "r189", "r303" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "order": 5.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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited" ], "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 [Member]" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r195", "r196" ], "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 from Contract with Customer, Excluding Assessed Tax" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionDisaggregationOfRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r202" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue from Contract with Customer [Text Block]" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueJudgmentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Revenue, Judgment [Abstract]", "terseLabel": "Revenue, Judgment [Abstract]" } } }, "localname": "RevenueJudgmentAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRecognitionAndDeferredRevenueAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Revenue Recognition and Deferred Revenue [Abstract]" } } }, "localname": "RevenueRecognitionAndDeferredRevenueAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r194" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Revenue, Remaining Performance Obligation, Amount" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/RevenueRecognitionContractBalancesDetails", "http://www.irobot.com/role/RevenueRecognitionSignificantJudgmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Revenues": { "auth_ref": [ "r64", "r124", "r125", "r134" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).", "label": "Revenues", "terseLabel": "Revenue" } } }, "localname": "Revenues", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "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": "Revenues from External Customers and Long-Lived Assets [Line Items]", "terseLabel": "Revenues from External Customers and Long-Lived Assets [Line Items]" } } }, "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r276", "r281" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesSupplementalCashFlowDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r117" ], "lang": { "en-US": { "role": { "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue Benchmark [Member]", "terseLabel": "Revenue Benchmark [Member]" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Components of Accrued Expenses" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "auth_ref": [ "r219", "r220" ], "lang": { "en-US": { "role": { "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.", "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCashFlowHedgesIncludedInAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "auth_ref": [ "r243" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of gain (loss) on derivative and nonderivative instruments designated and qualifying as cash flow hedge recorded in accumulated other comprehensive income (AOCI) and reclassified into earnings.", "label": "Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block]", "terseLabel": "Schedule of Cash Flow Hedges Included in Accumulated Other Comprehensive Income (Loss) [Table Text Block]" } } }, "localname": "ScheduleOfCashFlowHedgesIncludedInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": { "auth_ref": [ "r239", "r245", "r249" ], "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) [Table Text Block]" } } }, "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsTextBlock": { "auth_ref": [ "r92", "r230", "r232", "r233", "r235", "r237", "r242", "r245", "r250", "r251" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of pertinent information about 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": "Schedule of Derivative Instruments [Table Text Block]", "terseLabel": "Schedule of Derivative Instruments [Table Text Block]" } } }, "localname": "ScheduleOfDerivativeInstrumentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r167", "r169" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r167", "r169" ], "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": "Other Intangible Assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTable": { "auth_ref": [ "r164", "r165" ], "lang": { "en-US": { "role": { "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.", "label": "Schedule of Goodwill [Table]", "terseLabel": "Schedule of Goodwill [Table]" } } }, "localname": "ScheduleOfGoodwillTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsScheduleOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r164", "r165" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Schedule of Goodwill [Table Text Block]" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r9", "r31", "r32", "r33" ], "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": "Components of Inventory" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/InventoryTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfOtherDerivativesNotDesignatedAsHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock": { "auth_ref": [ "r244", "r246" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of derivative instrument not designated or qualifying as hedging instrument.", "label": "Derivatives Not Designated as Hedging Instruments [Table Text Block]", "terseLabel": "Derivatives Not Designated as Hedging Instruments [Table Text Block]" } } }, "localname": "ScheduleOfOtherDerivativesNotDesignatedAsHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r187" ], "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": "Activity Related to the Warranty Accrual" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "auth_ref": [ "r63", "r64", "r137" ], "lang": { "en-US": { "role": { "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.", "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "terseLabel": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]" } } }, "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r123", "r129", "r130", "r132", "r164" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Segment Information about Revenue, Cost of Revenue, Gross Margin and Income before Income Taxes" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r169" ], "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": "Estimated Future Amortization Expense Related to Current Intangible Assets" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]", "terseLabel": "Segment [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Segment Reporting [Abstract]" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r139" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Industry Segment, Geographic Information and Significant Customers" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomers" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]", "terseLabel": "Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]" } } }, "localname": "SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Selling and Marketing Expense", "terseLabel": "Selling and marketing", "verboseLabel": "Selling and marketing" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r85" ], "calculation": { "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-based Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation", "terseLabel": "Shares Paid for Tax Withholding for Share Based Compensation (in shares)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "sharesItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r95" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StandardProductWarrantyAccrual": { "auth_ref": [ "r186" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability. Does not include the balance for the extended product warranty liability.", "label": "Standard Product Warranty Accrual", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period" } } }, "localname": "StandardProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_StandardProductWarrantyAccrualCurrent": { "auth_ref": [], "calculation": { "http://www.irobot.com/role/AccruedExpensesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid within one year or the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.", "label": "Standard Product Warranty Accrual, Current", "terseLabel": "Accrued warranty" } } }, "localname": "StandardProductWarrantyAccrualCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/AccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StandardProductWarrantyAccrualPayments": { "auth_ref": [ "r184" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.", "label": "Standard Product Warranty Accrual, Decrease for Payments", "negatedLabel": "Warranty usage" } } }, "localname": "StandardProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_StandardProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r185" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in the standard product warranty accrual from warranties issued. Excludes extended product warranties.", "label": "Standard Product Warranty Accrual, Increase for Warranties Issued", "terseLabel": "Provision" } } }, "localname": "StandardProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/CommitmentsAndContingenciesActivityRelatedToWarrantyAccrualDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r0", "r129", "r164", "r177", "r178", "r179", "r312" ], "lang": { "en-US": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]", "terseLabel": "Business Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsAdditionalInformationDetail", "http://www.irobot.com/role/IndustrySegmentGeographicInformationAndSignificantCustomersSegmentInformationAboutRevenueCostOfRevenueGrossMarginAndIncomeBeforeIncomeTaxesDetail" ], "xbrltype": "stringItemType" }, "us-gaap_StatementClassOfStockAxis": { "auth_ref": [ "r19", "r20", "r21", "r188" ], "lang": { "en-US": { "role": { "documentation": "Information by the different classes of stock of the entity.", "label": "Class of Stock [Axis]", "terseLabel": "Class of Stock [Axis]" } } }, "localname": "StatementClassOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r43", "r188" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "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/2019-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/2019-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/2019-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/2019-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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/ConsolidatedStatementsOfComprehensiveIncomeUnaudited", "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r20", "r21", "r188", "r189" ], "lang": { "en-US": { "role": { "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r20", "r21", "r188", "r189", "r208" ], "lang": { "en-US": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "terseLabel": "Issuance of common stock under employee stock plans (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r188", "r189" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.", "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures" } } }, "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r43", "r188", "r189" ], "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": "Stock Issued During Period, Value, Stock Options Exercised" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of stock repurchase plan authorized.", "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Stock Repurchase Program, Authorized Amount" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/StockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "auth_ref": [ "r20", "r21", "r188", "r189" ], "lang": { "en-US": { "role": { "documentation": "Number of shares that have been repurchased and retired during the period.", "label": "Stock Repurchased and Retired During Period, Shares", "negatedTerseLabel": "Stock Repurchased and Retired During Period, Shares", "terseLabel": "Stock Repurchased and Retired During Period, Shares" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/StockholdersEquityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "auth_ref": [ "r20", "r21", "r188", "r189" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).", "label": "Stock Repurchased and Retired During Period, Value", "negatedTerseLabel": "Stock Repurchased and Retired During Period, Value", "terseLabel": "Stock Repurchased and Retired During Period, Value" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement", "http://www.irobot.com/role/StockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r21", "r25", "r26", "r143" ], "calculation": { "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited": { "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", "terseLabel": "Beginning balance", "totalLabel": "Total stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedBalanceSheetsUnaudited", "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r190" ], "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": "Stockholders' Equity Note Disclosure [Text Block]" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/StockholdersEquityNotes" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTable": { "auth_ref": [ "r283" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r283" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r283" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Subsequent Events [Abstract]" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r285" ], "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 [Text Block]" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SubsequentEventNotes" ], "xbrltype": "textBlockItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r222" ], "lang": { "en-US": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Names [Member]", "terseLabel": "Trade Names" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/GoodwillOtherIntangibleAssetsAndOtherAssetsOtherIntangibleAssetsDetail" ], "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/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementOfShareholdersEquityStatement" ], "xbrltype": "domainItemType" }, "us-gaap_UnusualRisksAndUncertaintiesTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the nature of the unusual risk or uncertainty, if estimable, such as the threat of expropriation of its assets by a foreign government, rapid technological obsolescence in the industry, risk of natural disaster from earthquake or weather events, and availability of or continuation of a labor force at a reasonable cost.", "label": "Unusual Risks and Uncertainties [Table Text Block]", "terseLabel": "Unusual Risks and Uncertainties [Table Text Block]" } } }, "localname": "UnusualRisksAndUncertaintiesTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r112", "r113", "r114", "r115", "r119", "r120", "r121" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ValuationAllowancesAndReservesDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]", "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]" } } }, "localname": "ValuationAllowancesAndReservesDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ValuationAllowancesAndReservesTypeAxis": { "auth_ref": [ "r94" ], "lang": { "en-US": { "role": { "documentation": "Information by valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]", "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]" } } }, "localname": "ValuationAllowancesAndReservesTypeAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableLeaseCost": { "auth_ref": [ "r274", "r281" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "Variable Lease, Cost", "terseLabel": "Variable Lease, Cost" } } }, "localname": "VariableLeaseCost", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]", "terseLabel": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]", "terseLabel": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsDetails", "http://www.irobot.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsTables" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "auth_ref": [ "r106" ], "calculation": { "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail": { "order": 3.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": "Dilutive effect of employee stock options and restricted shares" } } }, "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r102", "r106" ], "calculation": { "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail": { "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", "totalLabel": "Diluted weighted-average shares outstanding" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r101", "r106" ], "calculation": { "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail": { "order": 2.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", "verboseLabel": "Weighted-average shares outstanding" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.irobot.com/role/ConsolidatedStatementsOfIncomeStatement", "http://www.irobot.com/role/SummaryOfSignificantAccountingPoliciesBasicAndDilutedNetIncomePerShareDetail" ], "xbrltype": "sharesItemType" } }, "unitCount": 5 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(24))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1448-109256" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1505-109256" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1252-109256" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=SL5780133-109256" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1337-109256" }, "r106": { "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" }, "r107": { "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" }, "r108": { "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" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(25))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117327953&loc=d3e4984-109258" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(26))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592" }, "r122": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "http://asc.fasb.org/topic&trid=2134479" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8721-108599" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r128": { "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" }, "r129": { "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" }, "r13": { "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" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8813-108599" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8906-108599" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8906-108599" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8924-108599" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599" }, "r136": { "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" }, "r137": { "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" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9054-108599" }, "r139": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r14": { "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" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4428-111522" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4531-111522" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118936363&loc=d3e5074-111524" }, "r143": { "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" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=118954083&loc=d3e26853-111562" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "321", "URI": "http://asc.fasb.org/extlink&oid=116654751&loc=SL75117539-209714" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=109237563&loc=d3e33749-111570" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=118955202&loc=SL82895884-210446" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919244-210447" }, "r15": { "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" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919253-210447" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919260-210447" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919272-210447" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=118955579&loc=SL82922895-210455" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116846819&loc=d3e3927-108312" }, "r158": { "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" }, "r159": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "http://asc.fasb.org/topic&trid=2126998" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r160": { "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" }, "r161": { "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" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13854-109267" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "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" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(23))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r170": { "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" }, "r171": { "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" }, "r172": { "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" }, "r173": { "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" }, "r174": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r175": { "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" }, "r176": { "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" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r18": { "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" }, "r180": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14326-108349" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14615-108349" }, "r183": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r184": { "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" }, "r185": { "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" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1),(c)(5)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r187": { "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" }, "r188": { "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" }, "r189": { "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" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944033&loc=SL49130531-203044" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944033&loc=SL49130532-203044" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130551-203045" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130556-203045" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130543-203045" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130545-203045" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r20": { "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" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046" }, "r202": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r204": { "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=118255775&loc=d3e1928-114920" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4179-114921" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116855982&loc=d3e4534-113899" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901" }, "r208": { "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=116856206&loc=d3e5070-113901" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=118258462&loc=d3e11149-113907" }, "r21": { "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" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=118258462&loc=d3e11178-113907" }, "r211": { "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" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e31931-109318" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "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": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=109238882&loc=d3e38679-109324" }, "r218": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r219": { "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" }, "r22": { "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" }, "r220": { "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" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5227-128473" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5263-128473" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5263-128473" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5504-128473" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4582445-111684" }, "r23": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)(ii)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41620-113959" }, "r235": { "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" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "c", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41638-113959" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r24": { "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" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959" }, "r241": { "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" }, "r242": { "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" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624171-113959" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624171-113959" }, "r245": { "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" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "4CC", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL109998890-113959" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r25": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "182", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=116861445&loc=SL5629052-113961" }, "r253": { "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" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=109978405&loc=d3e80720-113993" }, "r255": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "815", "URI": "http://asc.fasb.org/topic&trid=2229140" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r26": { "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" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19279-110258" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13433-108611" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13531-108611" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13537-108611" }, "r269": { "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" }, "r27": { "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" }, "r270": { "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" }, "r271": { "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" }, "r272": { "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" }, "r273": { "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" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r275": { "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" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(5))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r280": { "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" }, "r281": { "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" }, "r282": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/subtopic&trid=77888251" }, "r283": { "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" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662" }, "r285": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "http://asc.fasb.org/topic&trid=2122774" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719" }, "r29": { "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" }, "r290": { "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" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953" }, "r292": { "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" }, "r293": { "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" }, "r294": { "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" }, "r295": { "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" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(13)(f))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260" }, "r299": { "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=116637391&loc=SL114874048-224260" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r30": { "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" }, "r300": { "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=116637391&loc=SL114874048-224260" }, "r301": { "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=119400593&loc=d3e572229-122910" }, "r302": { "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=119400593&loc=d3e572229-122910" }, "r303": { "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=119400593&loc=d3e572229-122910" }, "r304": { "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=119400593&loc=d3e572229-122910" }, "r305": { "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=119400593&loc=d3e572229-122910" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.(a),19)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.15(a))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(10))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263" }, "r309": { "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=116637232&loc=SL114874131-224263" }, "r31": { "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" }, "r310": { "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=116637232&loc=SL114874131-224263" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=99380617&loc=SL75241803-196195" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r32": { "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" }, "r320": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r321": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r322": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-13" }, "r323": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1-" }, "r324": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r325": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r33": { "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" }, "r34": { "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" }, "r35": { "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" }, "r36": { "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" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r38": { "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" }, "r39": { "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" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r40": { "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" }, "r41": { "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" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r43": { "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" }, "r44": { "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" }, "r45": { "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" }, "r46": { "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" }, "r47": { "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" }, "r48": { "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" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669646-108580" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6801-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669646-108580" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e637-108580" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&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=118930883&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=118930883&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=118930883&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=118930883&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=118930883&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=118930883&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=118930883&loc=SL7669619-108580" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6911-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&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=118930883&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=118930883&loc=d3e557-108580" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-03(e))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868656-224227" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(1))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(12))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r67": { "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=116634182&loc=SL114868664-224227" }, "r68": { "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=116634182&loc=SL114868664-224227" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(b)(2))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6935-107765" }, "r70": { "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=116634182&loc=SL114868664-224227" }, "r71": { "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=116634182&loc=SL114868664-224227" }, "r72": { "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=116634182&loc=SL114868664-224227" }, "r73": { "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=116634182&loc=SL114868664-224227" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3151-108585" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3179-108585" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3179-108585" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a),(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e7018-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3255-108585" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3521-108585" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3536-108585" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3044-108585" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790" }, "r9": { "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" }, "r90": { "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" }, "r91": { "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" }, "r92": { "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" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24072-122690" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24092-122690" }, "r95": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r96": { "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" }, "r97": { "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" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22658-107794" } }, "version": "2.1" } XML 71 R16.htm IDEA: XBRL DOCUMENT v3.20.1
Fair Value Measurements (Notes)
3 Months Ended
Mar. 28, 2020
Fair Value Footnote [Abstract]  
Fair Value Disclosures [Text Block] Fair Value Measurements
The Company’s financial assets and liabilities measured at fair value on a recurring basis were as follows (in thousands):
 
Fair Value Measurements as of
March 28, 2020

Level 1
 
Level 2 (1)
 
Level 3 (2)
Assets:
 
 
 
 
 
Money market funds
$
120,144

 
$

 
$

Corporate bonds, $13,489 at cost (3)

 
13,509

 

Convertible notes

 

 
1,250

Derivative instruments (Note 8)

 
20,891

 

Total assets measured at fair value
$
120,144

 
$
34,400

 
$
1,250

 
 
 
 
 
 
Liabilities:
 
 
 
 
 
Derivative instruments (Note 8)
$

 
$
559

 
$

Total liabilities measured at fair value
$

 
$
559

 
$


 
Fair Value Measurements as of
December 28, 2019
 
Level 1
 
Level 2 (1)
 
Level 3 (2)
Assets:
 
 
 
 
 
Corporate and government bonds, $17,016 at cost
$

 
$
17,032

 
$

Derivative instruments (Note 8)

 
15,314

 

Total assets measured at fair value
$

 
$
32,346

 
$

 
 
 
 
 
 
Liabilities:
 
 
 
 
 
Derivative instruments (Note 8)
$

 
$
758

 
$

Total liabilities measured at fair value
$

 
$
758

 
$

(1)
Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
(2)
Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities.
(3)
As of March 28, 2020, the Company’s investments had maturity dates ranging from May 2020 to March 2021.
    
The following table provides a summary of changes in fair value of our Level 3 investment for the three months ended March 28, 2020 (in thousands):
Balance as of December 28, 2019
$

Investment in convertible notes
1,250

Balance as of March 28, 2020
$
1,250


Convertible Debt [Table Text Block]
The following table provides a summary of changes in fair value of our Level 3 investment for the three months ended March 28, 2020 (in thousands):
Balance as of December 28, 2019
$

Investment in convertible notes
1,250

Balance as of March 28, 2020
$
1,250


XML 72 R12.htm IDEA: XBRL DOCUMENT v3.20.1
Inventory
3 Months Ended
Mar. 28, 2020
Inventory Disclosure [Abstract]  
Inventory Inventory
Inventory consists of the following (in thousands):
 
March 28, 2020
 
December 28, 2019
Raw materials
$
182

 
$
2,825

Finished goods
147,067

 
154,522

 
$
147,249

 
$
157,347


XML 73 irbt-202032810q_htm.xml IDEA: XBRL DOCUMENT 0001159167 2019-12-29 2020-03-28 0001159167 2020-04-25 0001159167 2020-03-28 0001159167 2019-12-28 0001159167 2018-12-30 2019-03-30 0001159167 us-gaap:RetainedEarningsMember 2019-03-30 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-29 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-03-30 0001159167 us-gaap:CommonStockMember 2018-12-30 2019-03-30 0001159167 us-gaap:CommonStockMember 2019-03-30 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-12-30 2019-03-30 0001159167 us-gaap:AdditionalPaidInCapitalMember 2018-12-29 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-30 2019-03-30 0001159167 us-gaap:RetainedEarningsMember 2018-12-30 2019-03-30 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-03-30 0001159167 us-gaap:RetainedEarningsMember 2018-12-29 0001159167 2019-03-30 0001159167 us-gaap:CommonStockMember 2018-12-29 0001159167 2018-12-29 0001159167 us-gaap:CommonStockMember 2019-12-28 0001159167 us-gaap:CommonStockMember 2019-12-29 2020-03-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-29 2020-03-28 0001159167 us-gaap:CommonStockMember 2020-03-28 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-12-29 2020-03-28 0001159167 us-gaap:RetainedEarningsMember 2020-03-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-28 0001159167 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-28 0001159167 us-gaap:AdditionalPaidInCapitalMember 2019-12-28 0001159167 us-gaap:AdditionalPaidInCapitalMember 2020-03-28 0001159167 us-gaap:RetainedEarningsMember 2019-12-28 0001159167 us-gaap:RetainedEarningsMember 2019-12-29 2020-03-28 0001159167 irbt:AllOtherRegionsMember 2019-12-29 2020-03-28 0001159167 country:US 2019-12-29 2020-03-28 0001159167 country:US 2018-12-30 2019-03-30 0001159167 us-gaap:EMEAMember 2018-12-30 2019-03-30 0001159167 us-gaap:EMEAMember 2019-12-29 2020-03-28 0001159167 irbt:AllOtherRegionsMember 2018-12-30 2019-03-30 0001159167 2018-12-30 0001159167 us-gaap:CostOfSalesMember 2020-03-28 0001159167 us-gaap:OperatingExpenseMember 2020-03-28 0001159167 us-gaap:CustomerRelatedIntangibleAssetsMember 2019-12-28 0001159167 us-gaap:DistributionRightsMember 2020-03-28 0001159167 us-gaap:NoncompeteAgreementsMember 2019-12-28 0001159167 us-gaap:NoncompeteAgreementsMember 2020-03-28 0001159167 us-gaap:PatentedTechnologyMember 2020-03-28 0001159167 us-gaap:CustomerRelatedIntangibleAssetsMember 2020-03-28 0001159167 us-gaap:TradeNamesMember 2019-12-28 0001159167 us-gaap:DistributionRightsMember 2019-12-28 0001159167 us-gaap:TradeNamesMember 2020-03-28 0001159167 us-gaap:PatentedTechnologyMember 2019-12-28 0001159167 us-gaap:DesignatedAsHedgingInstrumentMember 2020-03-28 0001159167 us-gaap:NondesignatedMember 2019-12-28 0001159167 us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:NondesignatedMember 2020-03-28 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2018-12-30 2019-03-30 0001159167 us-gaap:OtherNonoperatingIncomeExpenseMember 2019-12-29 2020-03-28 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2019-12-29 2020-03-28 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember 2018-12-30 2019-03-30 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2020-03-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember 2020-03-28 0001159167 us-gaap:OtherNoncurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-03-28 0001159167 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-03-28 0001159167 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-03-28 0001159167 us-gaap:OtherNoncurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2019-12-28 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2019-12-28 0001159167 us-gaap:OtherCurrentAssetsMember us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-03-28 0001159167 us-gaap:AccruedLiabilitiesMember us-gaap:ForeignExchangeForwardMember 2019-12-28 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesRevenueNetMember 2019-12-29 2020-03-28 0001159167 us-gaap:ForeignExchangeForwardMember us-gaap:CashFlowHedgingMember us-gaap:SalesRevenueNetMember 2018-12-30 2019-03-30 0001159167 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-28 0001159167 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-28 0001159167 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-28 0001159167 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2020-03-28 0001159167 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2020-03-28 0001159167 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-03-28 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2019-12-29 2020-03-28 0001159167 irbt:AmazonMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2018-12-30 2019-03-30 0001159167 2020-04-24 2020-04-24 pure irbt:segment shares iso4217:USD shares iso4217:USD false --01-02 Q1 2020 0001159167 0.01 0.01 100000000 100000000 28352000 27876000 28352000 27876000 5000000 5000000 10-Q true 2020-03-28 false 001-36414 iROBOT CORPORATION DE 77-0259335 8 Crosby Drive Bedford MA 01730 781 430-3000 Common Stock, $0.01 par value IRBT NASDAQ Yes Yes Large Accelerated Filer false false false 27884331 248768000 239392000 14759000 17032000 37013000 146161000 147249000 157347000 41743000 34285000 489532000 594217000 79530000 75988000 45958000 47478000 41071000 41791000 118377000 118732000 11787000 12352000 33778000 30195000 820033000 920753000 77217000 116185000 55801000 81768000 5320000 4549000 138338000 202502000 53044000 54928000 1054000 912000 11058000 10342000 65156000 66182000 203494000 268684000 0 0 279000 284000 175790000 196455000 434186000 452321000 6284000 3009000 616539000 652069000 820033000 920753000 192535000 237661000 114295000 115038000 285000 3077000 114580000 118115000 77955000 119546000 36759000 35269000 36594000 38836000 24573000 22907000 254000 271000 98180000 97283000 -20225000 22263000 -19000 1280000 -20244000 23543000 -2109000 1023000 -18135000 22520000 -0.64 0.81 -0.64 0.78 28297000 27863000 28297000 28763000 -18135000 22520000 -914000 -2470000 5674000 4801000 1468000 -106000 -17000 113000 -14860000 25070000 28352000 284000 196455000 452321000 3009000 652069000 40000 0 934000 934000 193000 2000 -2000 0 5191000 5191000 -45000 0 -1816000 -1816000 3275000 3275000 21000 21000 664000 7000 24993000 25000000 -18135000 -18135000 27876000 279000 175790000 434186000 6284000 616539000 27788000 278000 172771000 367021000 -4748000 535322000 77000 1000 2562000 2563000 231000 2000 -2000 0 6864000 6864000 -58000 -1000 -7211000 -7212000 2550000 2550000 16000 16000 22520000 22520000 28038000 280000 175000000 389541000 -2198000 562623000 -18135000 22520000 7459000 8724000 5191000 6864000 528000 -1739000 -1531000 -1542000 -108825000 -106561000 -9848000 16863000 5612000 2913000 -41440000 -52744000 -26405000 -22727000 40734000 52703000 7310000 6004000 1560000 1977000 3500000 2380000 -5370000 -5601000 934000 2563000 1816000 7212000 25000000 0 -25882000 -4649000 -106000 268000 9376000 42721000 239392000 130373000 248768000 173094000 Description of BusinessiRobot Corporation ("iRobot" or the "Company") designs and builds robots that empower people to do more both inside and outside of the home. iRobot's consumer robots help people find smarter ways to clean and accomplish more in their daily lives. The Company's portfolio of solutions features proprietary technologies for the connected home and advanced concepts in cleaning, mapping and navigation, human-robot interaction and physical solutions. Leveraging this portfolio, our engineers are building an ecosystem of robots to empower the smart home. The Company’s revenue is primarily generated from product sales through a variety of distribution channels, including chain stores and other national retailers, through its on-line stores, and through value-added distributors and resellers worldwide. Summary of Significant Accounting Policies<div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Basis of Presentation</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP").</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, filed with the Securities and Exchange Commission on </span><span style="font-family:inherit;font-size:10pt;">February 13, 2020</span><span style="font-family:inherit;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Recently Adopted Accounting Standards</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13, "Measurement of Credit Losses on Financial Instruments," which amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. The Company adopted the standard effective December 29, 2019 which resulted in no adjustment to the allowance for credit losses upon adoption. See the description of the Company’s "Credit Losses" accounting policy below.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The Company adopted this standard effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements and related disclosures. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns 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 (and hosting arrangements that include an internal use software license). The Company adopted the standard using the prospective method effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements. </span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Recently Issued Accounting Standards</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In December 2019, the FASB issued ASU No. 2019-12, "Income Taxes - Simplifying the Accounting for Income Taxes." The ASU simplifies the accounting for income taxes by removing certain exceptions to the general principles as well as clarifying and amending existing guidance to improve consistent application. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective or prospective basis. The Company intends to adopt the ASU effective January 3, 2021, and is currently evaluating the impact to the consolidated financial statements.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Impact of COVID-19</span></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The global pandemic related to the novel coronavirus (COVID-19) has resulted in significant economic disruption. The pandemic and associated actions and measures implemented by governments around the world to slow the spread of COVID-19 have altered macroeconomic conditions and created recession-like environments around the world. These dynamics have had an adverse impact on the Company's financial and operating results. Mandated orders to "shelter-in-place" and other social distancing measures have directly and indirectly affected sales and supply chain activities during the first quarter and are likely to continue to impact the magnitude and timing of orders by retailers, resellers, distributors and consumers over the coming quarters. The Company expects to continue to be impacted as the situation remains dynamic and subject to rapid and possibly material changes. Additional impacts may arise of which the Company is not currently aware. The nature and extent of such impacts will depend on future developments, which are highly uncertain.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In light of the COVID-19 pandemic, the Company evaluated its assets for impairment, including strategic investments, goodwill and long-lived assets. The Company considered the current and expected future economic and market conditions and determined that no impairment existed as of March 28, 2020. However, the Company is unable to predict how long the pandemic will persist or the timing and speed of any economic recovery that may follow. Any measures that prolong shelter-in-place or restrict business activities are highly likely to be harmful to the consumer product retail industry in general, and consequently, to the Company's business.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Use of Estimates</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; allowance for credit losses; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Credit Losses</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company is exposed to credit losses primarily through sales of its products. The Company assesses each customer's ability to pay by conducting a credit review which includes consideration of established credit ratings or an internal assessment of the customer's creditworthiness based on an analysis of their financial information when a credit rating is not available. The Company monitors the credit exposure through active review of customer balances. The Company's expected loss methodology for accounts receivable is developed using historical collection experience, current customer credit ratings, current and future economic and market conditions and a review of the current status of customers' account balances. Although the Company historically has not experienced significant credit losses as it relates to trade accounts receivable, the COVID-19 pandemic has caused uncertainty in some customer accounts. The Company recorded its estimate of credit losses, resulting in an increase to the reserve and bad debt expense, of </span><span style="font-family:inherit;font-size:10pt;"><span>$4.5 million</span></span><span style="font-family:inherit;font-size:10pt;"> during the three months ended March 28, 2020. As of March 28, 2020 and December 28, 2019, the Company recorded an allowance for credit losses of </span><span style="font-family:inherit;font-size:10pt;"><span>$5.7 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$1.2 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively.</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's exposure to credit losses may increase if its customers are adversely affected by changes in economic pressures or uncertainty associated with local or global economic recessions or other customer-specific factors. It is possible that there could be a material adverse impact to the carrying amount of accounts receivables if the liquidity of retailers, resellers and distributors continues to be impacted by disruptions related to the COVID-19 pandemic.</span></div><div style="line-height:120%;padding-top:6px;text-indent:16px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Other Assets</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes. At </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, other assets consisted primarily of equity securities without readily determinable fair values and an equity method investment totaling </span><span style="font-family:inherit;font-size:10pt;"><span>$21.3 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$21.0 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Net (Loss) Income Per Share</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income</span></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock</span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">awards as determined under the treasury stock method. </span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table presents the calculation of both basic and diluted net (loss) income per share (in thousands, except per share amounts):</span><span style="font-family:inherit;font-size:9pt;"> </span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;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="8"/></tr><tr><td style="width:67%;"/><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="text-align:left;font-size:8pt;"><span style="font-family:inherit;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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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:inherit;font-size:8pt;"> </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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:inherit;font-size:10pt;">Net (loss) income</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:inherit;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:inherit;font-size:10pt;"><span>(18,135</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: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:inherit;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:inherit;font-size:10pt;"><span>22,520</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="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Basic weighted-average common shares outstanding</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,297</span></span></div></td><td style="vertical-align:bottom;border-top: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;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>27,863</span></span></div></td><td style="vertical-align:bottom;border-top: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: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:inherit;font-size:10pt;">Dilutive effect of employee stock awards</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:inherit;font-size:10pt;"><span>—</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:inherit;font-size:10pt;"><span>900</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:inherit;font-size:10pt;">Diluted weighted-average common shares outstanding</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:inherit;font-size:10pt;"><span>28,297</span></span></div></td><td 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:inherit;font-size:10pt;"><span>28,763</span></span></div></td><td 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:inherit;font-size:10pt;">Net (loss) income per share - Basic</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(0.64</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:left;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;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>0.81</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top: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: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:inherit;font-size:10pt;">Net (loss) income per share - Diluted</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:inherit;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:inherit;font-size:10pt;"><span>(0.64</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: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;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;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:inherit;font-size:10pt;"><span>0.78</span></span></div></td><td 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></div><span style="font-family:inherit;font-size:10pt;">Restricted stock units and stock options representing approximately </span><span style="font-family:inherit;font-size:10pt;"><span>0.8 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>0.0 million</span></span><span style="font-family:inherit;font-size:10pt;"> shares of common stock for the three months ended </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">March 30, 2019</span>, respectively, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive. <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Basis of Presentation</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The accompanying consolidated financial statements include those of iRobot and its subsidiaries, after elimination of all intercompany balances and transactions. iRobot has prepared the accompanying unaudited consolidated financial statements in conformity with accounting principles generally accepted in the United States of America ("GAAP").</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In the opinion of management, all adjustments necessary to the unaudited interim consolidated financial statements have been made to state fairly the Company's financial position. Interim results are not necessarily indicative of results for the full fiscal year or any future periods. The information included in this Form 10-Q should be read in conjunction with the Company's audited consolidated financial statements and notes thereto included in its Annual Report on Form 10-K for the fiscal year ended </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, filed with the Securities and Exchange Commission on </span><span style="font-family:inherit;font-size:10pt;">February 13, 2020</span><span style="font-family:inherit;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company operates and reports using a 52-53 week fiscal year ending on the Saturday closest to December 31. Accordingly, the Company’s fiscal quarters end on the Saturday that falls closest to the last day of the third month of each quarter.</span></div> <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Recently Adopted Accounting Standards</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13, "Measurement of Credit Losses on Financial Instruments," which amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments. The Company adopted the standard effective December 29, 2019 which resulted in no adjustment to the allowance for credit losses upon adoption. See the description of the Company’s "Credit Losses" accounting policy below.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In August 2018, the FASB issued ASU No. 2018-13, "Fair Value Measurement: Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement." The amendment modifies disclosure requirements related to fair value measurement. The Company adopted this standard effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements and related disclosures. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In August 2018, the FASB issued ASU No. 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software." The new standard aligns 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 (and hosting arrangements that include an internal use software license). The Company adopted the standard using the prospective method effective December 29, 2019 which did not have a material impact on the Company's consolidated financial statements. </span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Recently Issued Accounting Standards</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In December 2019, the FASB issued ASU No. 2019-12, "Income Taxes - Simplifying the Accounting for Income Taxes." The ASU simplifies the accounting for income taxes by removing certain exceptions to the general principles as well as clarifying and amending existing guidance to improve consistent application. The amendments to this ASU are effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective or prospective basis. The Company intends to adopt the ASU effective January 3, 2021, and is currently evaluating the impact to the consolidated financial statements.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">From time to time, new accounting pronouncements are issued by FASB that are adopted by the Company as of the specified effective date. Unless otherwise discussed, the Company believes that recently issued standards, which are not yet effective, will not have a material impact on the Company’s consolidated financial statements upon adoption.</span></div> <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Impact of COVID-19</span></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The global pandemic related to the novel coronavirus (COVID-19) has resulted in significant economic disruption. The pandemic and associated actions and measures implemented by governments around the world to slow the spread of COVID-19 have altered macroeconomic conditions and created recession-like environments around the world. These dynamics have had an adverse impact on the Company's financial and operating results. Mandated orders to "shelter-in-place" and other social distancing measures have directly and indirectly affected sales and supply chain activities during the first quarter and are likely to continue to impact the magnitude and timing of orders by retailers, resellers, distributors and consumers over the coming quarters. The Company expects to continue to be impacted as the situation remains dynamic and subject to rapid and possibly material changes. Additional impacts may arise of which the Company is not currently aware. The nature and extent of such impacts will depend on future developments, which are highly uncertain.</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">In light of the COVID-19 pandemic, the Company evaluated its assets for impairment, including strategic investments, goodwill and long-lived assets. The Company considered the current and expected future economic and market conditions and determined that no impairment existed as of March 28, 2020. However, the Company is unable to predict how long the pandemic will persist or the timing and speed of any economic recovery that may follow. Any measures that prolong shelter-in-place or restrict business activities are highly likely to be harmful to the consumer product retail industry in general, and consequently, to the Company's business.</span></div> <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Use of Estimates</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The preparation of these financial statements in conformity with GAAP requires the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and revenues and expenses. These estimates and judgments include, but are not limited to, revenue recognition, including performance obligations, variable consideration and other obligations such as product returns and incentives; allowance for credit losses; warranty costs; valuation of goodwill and acquired intangible assets; valuation of financial instruments; evaluating loss contingencies; accounting for stock-based compensation including performance-based assessments; and accounting for income taxes and related valuation allowances. The Company bases these estimates and judgments on historical experience, market participant fair value considerations, projected future cash flows and various other factors that the Company believes are reasonable under the circumstances. Actual results may differ from the Company’s estimates.</span></div> <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Credit Losses</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company is exposed to credit losses primarily through sales of its products. The Company assesses each customer's ability to pay by conducting a credit review which includes consideration of established credit ratings or an internal assessment of the customer's creditworthiness based on an analysis of their financial information when a credit rating is not available. The Company monitors the credit exposure through active review of customer balances. The Company's expected loss methodology for accounts receivable is developed using historical collection experience, current customer credit ratings, current and future economic and market conditions and a review of the current status of customers' account balances. Although the Company historically has not experienced significant credit losses as it relates to trade accounts receivable, the COVID-19 pandemic has caused uncertainty in some customer accounts. The Company recorded its estimate of credit losses, resulting in an increase to the reserve and bad debt expense, of </span><span style="font-family:inherit;font-size:10pt;"><span>$4.5 million</span></span><span style="font-family:inherit;font-size:10pt;"> during the three months ended March 28, 2020. As of March 28, 2020 and December 28, 2019, the Company recorded an allowance for credit losses of </span><span style="font-family:inherit;font-size:10pt;"><span>$5.7 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$1.2 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively.</span></div> 4500000 5700000 1200000 <div style="line-height:120%;padding-top:6px;text-indent:16px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Other Assets</span></div><span style="font-family:inherit;font-size:10pt;">The Company holds non-marketable equity securities as part of its strategic investments portfolio. The Company classifies the majority of these securities as equity securities without readily determinable fair values and measures these investments at cost, less any impairment, adjusted for observable price changes. At </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, other assets consisted primarily of equity securities without readily determinable fair values and an equity method investment totaling </span><span style="font-family:inherit;font-size:10pt;"><span>$21.3 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$21.0 million</span></span>, respectively. 21300000 21000000.0 <div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Net (Loss) Income Per Share</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Basic income per share is calculated using the Company's weighted-average outstanding common shares. Diluted income</span></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">per share is calculated using the Company's weighted-average outstanding common shares including the dilutive effect of stock</span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">awards as determined under the treasury stock method. </span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table presents the calculation of both basic and diluted net (loss) income per share (in thousands, except per share amounts):</span><span style="font-family:inherit;font-size:9pt;"> </span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;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="8"/></tr><tr><td style="width:67%;"/><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="text-align:left;font-size:8pt;"><span style="font-family:inherit;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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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:inherit;font-size:8pt;"> </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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:inherit;font-size:10pt;">Net (loss) income</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:inherit;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:inherit;font-size:10pt;"><span>(18,135</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: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:inherit;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:inherit;font-size:10pt;"><span>22,520</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="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Basic weighted-average common shares outstanding</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>28,297</span></span></div></td><td style="vertical-align:bottom;border-top: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;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>27,863</span></span></div></td><td style="vertical-align:bottom;border-top: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: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:inherit;font-size:10pt;">Dilutive effect of employee stock awards</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:inherit;font-size:10pt;"><span>—</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:inherit;font-size:10pt;"><span>900</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:inherit;font-size:10pt;">Diluted weighted-average common shares outstanding</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:inherit;font-size:10pt;"><span>28,297</span></span></div></td><td 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:inherit;font-size:10pt;"><span>28,763</span></span></div></td><td 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:inherit;font-size:10pt;">Net (loss) income per share - Basic</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>(0.64</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:left;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;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>0.81</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top: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: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:inherit;font-size:10pt;">Net (loss) income per share - Diluted</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:inherit;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:inherit;font-size:10pt;"><span>(0.64</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: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;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;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:inherit;font-size:10pt;"><span>0.78</span></span></div></td><td 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></div><span style="font-family:inherit;font-size:10pt;">Restricted stock units and stock options representing approximately </span><span style="font-family:inherit;font-size:10pt;"><span>0.8 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>0.0 million</span></span><span style="font-family:inherit;font-size:10pt;"> shares of common stock for the three months ended </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">March 30, 2019</span>, respectively, were excluded from the computation of diluted earnings per share as their effect would have been antidilutive. -18135000 22520000 28297000 27863000 0 900000 28297000 28763000 -0.64 0.81 -0.64 0.78 800000 0.0 Revenue Recognition<div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company primarily derives its revenue from product sales. The Company sells products directly to consumers through on-line stores and indirectly through resellers and distributors. Revenue is recognized upon transfer of control of promised products or services to customers, generally as title and risk of loss passes, in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. Revenue is recognized only to the extent that it is probable that a significant reversal of revenue will not occur. Taxes collected from customers, which are subsequently remitted to governmental authorities, are excluded from revenue. Shipping and handling expenses are considered fulfillment activities and are expensed as incurred. </span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company’s product portfolio includes various consumer robots, many of which are Wi-Fi connected. The consumer robots are generally highly dependent on, and interrelated with, the embedded software and cannot function without the software. As such, the consumer robots are accounted for as a single performance obligation, and the revenue is recognized at a point in time when the control is transferred to distributors, resellers or directly to end customers through on-line stores. For certain consumer robots with Wi-Fi capability ("connected robots"), each sale represents an arrangement with multiple promises consisting of the robot, an app, cloud services and potential future unspecified software upgrades. The Company has determined that the app, cloud services and potential future unspecified software upgrades represent one promised service to the customer to enhance the functionality and interaction with the robot (referred to collectively as "Cloud Services").</span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">For contracts that contain multiple performance obligations, the transaction price is allocated to each performance obligation based on a relative standalone selling price ("SSP"). The SSP reflects the Company's best estimate of what the selling prices of performance obligations would be if they were sold regularly on a standalone basis. Revenue allocated to the robots is recognized at a point in time when control is transferred. Revenue allocated to the Cloud Services is deferred and recognized on a straight-line basis over the estimated period the software upgrades and services are expected to be provided. For contracts with a duration of greater than one year, the transaction price allocated to performance obligations that are unsatisfied as of </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> is </span><span style="font-family:inherit;font-size:10pt;"><span>$4.4 million</span></span><span style="font-family:inherit;font-size:10pt;">. The Company does not disclose the value of unsatisfied performance obligations for contracts with an original expected duration of one year or less.</span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company’s products generally carry a one-year or two-year limited warranty that promises customers that delivered products are as specified. The Company does not consider these assurance-type warranties as a separate performance obligation and therefore, the Company accounts for such warranties under ASC 460, "Guarantees."</span></div><div style="line-height:120%;padding-bottom:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company provides limited rights of returns for direct-to-consumer sales generated through its on-line stores and certain resellers and distributors. The Company records an allowance for product returns based on specific terms and conditions included in the customer agreements or based on historical experience and the Company's expectation of future returns. In addition, the Company may provide other credits or incentives which are accounted for as variable consideration when estimating the amount of revenue to recognize. Where appropriate, these estimates take into consideration relevant factors such as the Company’s historical experience, current contractual requirements, specific known market events and forecasted inventory level in the channels. Overall, these reserves reflect the Company’s best estimates, and the actual amounts of consideration ultimately received may differ from the Company’s estimates. Returns and credits are estimated at contract inception and updated at the end of each reporting period as additional information becomes available and only to the extent that it is probable that a significant reversal of any incremental revenue will not occur. As of </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;">, the Company has reserves for product returns of </span><span style="font-family:inherit;font-size:10pt;"><span>$47.7 million</span></span><span style="font-family:inherit;font-size:10pt;"> and other credits and incentives of </span><span style="font-family:inherit;font-size:10pt;"><span>$83.2 million</span></span><span style="font-family:inherit;font-size:10pt;">. As of </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, the </span></div><div style="line-height:120%;padding-bottom:6px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Company had reserves for product returns of </span><span style="font-family:inherit;font-size:10pt;"><span>$55.2 million</span></span><span style="font-family:inherit;font-size:10pt;"> and other credits and incentives of </span><span style="font-family:inherit;font-size:10pt;"><span>$134.0 million</span></span><span style="font-family:inherit;font-size:10pt;">. Revenue recognized during the three months ended </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> related to performance obligations satisfied in a prior period was not material. </span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Disaggregation of Revenue</span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides information about disaggregated revenue by geographical region (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;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="8"/></tr><tr><td style="width:67%;"/><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="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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="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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:inherit;font-size:10pt;">United States</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:inherit;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:inherit;font-size:10pt;"><span>81,967</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><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:inherit;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:inherit;font-size:10pt;"><span>114,065</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: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:inherit;font-size:10pt;">EMEA</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:inherit;font-size:10pt;"><span>66,659</span></span></div></td><td 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:inherit;font-size:10pt;"><span>74,569</span></span></div></td><td 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:inherit;font-size:10pt;">Other</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:inherit;font-size:10pt;"><span>43,909</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>49,027</span></span></div></td><td style="vertical-align: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:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total revenue</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:inherit;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:inherit;font-size:10pt;"><span>192,535</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:inherit;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:inherit;font-size:10pt;"><span>237,661</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:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;padding-top:8px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Contract Balances </span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;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="8"/></tr><tr><td style="width:67%;"/><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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</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:inherit;font-size:10pt;">Accounts receivable, net</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:inherit;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:inherit;font-size:10pt;"><span>37,013</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><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:inherit;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:inherit;font-size:10pt;"><span>146,161</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: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:inherit;font-size:10pt;">Contract 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:inherit;font-size:10pt;"><span>7,706</span></span></div></td><td 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:inherit;font-size:10pt;"><span>6,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></table></div></div><span style="font-family:inherit;font-size:10pt;">The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities primarily relate to prepayments received from customers in advance of product shipments. The change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">March 30, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company recognized </span><span style="font-family:inherit;font-size:10pt;"><span>$3.6 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$5.8 million</span></span>, respectively, of the contract liability balance as revenue upon transfer of the products to customers. 4400000 47700000 83200000 55200000 134000000.0 <div style="line-height:120%;padding-bottom:6px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Disaggregation of Revenue</span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides information about disaggregated revenue by geographical region (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;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="8"/></tr><tr><td style="width:67%;"/><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="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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="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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:inherit;font-size:10pt;">United States</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:inherit;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:inherit;font-size:10pt;"><span>81,967</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><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:inherit;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:inherit;font-size:10pt;"><span>114,065</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: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:inherit;font-size:10pt;">EMEA</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:inherit;font-size:10pt;"><span>66,659</span></span></div></td><td 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:inherit;font-size:10pt;"><span>74,569</span></span></div></td><td 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:inherit;font-size:10pt;">Other</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:inherit;font-size:10pt;"><span>43,909</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>49,027</span></span></div></td><td style="vertical-align: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:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total revenue</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:inherit;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:inherit;font-size:10pt;"><span>192,535</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:inherit;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:inherit;font-size:10pt;"><span>237,661</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:inherit;font-size:10pt;"><br/></span></div> 81967000 114065000 66659000 74569000 43909000 49027000 192535000 237661000 <div style="line-height:120%;padding-bottom:6px;padding-top:8px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Contract Balances </span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides information about receivables and contract liabilities from contracts with customers (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;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="8"/></tr><tr><td style="width:67%;"/><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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</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:inherit;font-size:10pt;">Accounts receivable, net</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:inherit;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:inherit;font-size:10pt;"><span>37,013</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><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:inherit;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:inherit;font-size:10pt;"><span>146,161</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: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:inherit;font-size:10pt;">Contract 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:inherit;font-size:10pt;"><span>7,706</span></span></div></td><td 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:inherit;font-size:10pt;"><span>6,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></table></div></div><span style="font-family:inherit;font-size:10pt;">The Company invoices customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract liabilities primarily relate to prepayments received from customers in advance of product shipments. The change in the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and the customer’s payment. During the three months ended </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">March 30, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company recognized </span><span style="font-family:inherit;font-size:10pt;"><span>$3.6 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$5.8 million</span></span>, respectively, of the contract liability balance as revenue upon transfer of the products to customers. 37013000 146161000 7706000 6991000 3600000 5800000 Leases<div style="line-height:120%;padding-bottom:4px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's leasing arrangements primarily consist of operating leases for its facilities which include corporate, sales and marketing and research and development offices. For leases with terms greater than 12 months, the Company records the related right-of-use asset and lease obligation at the present value of lease payments over the term. The Company's leases typically include rental escalation clauses, renewal options and/or termination options that are factored into the determination of lease payments when appropriate. The Company does not separate lease and nonlease components of contracts and excludes all variable lease payments from the measurement of right-of-use assets and lease liabilities. The Company's variable lease payments generally include usage based nonlease components. The Company's lease agreements do not contain any residual value guarantees or restrictive covenants. Leases with an initial term of 12 months or less are not recorded on the balance sheet. Lease expense is recognized on a straight-line basis over the lease term. </span></div><div style="line-height:120%;padding-bottom:4px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's existing leases do not provide a readily determinable implicit rate. Therefore, the Company estimates its incremental borrowing rate to discount the lease payments based on information available at December 30, 2018 (date of initial application) or the lease commencement date for new leases post adoption. At </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;">, the Company's weighted average discount rate was </span><span style="font-family:inherit;font-size:10pt;"><span>3.62%</span></span><span style="font-family:inherit;font-size:10pt;">, while the weighted average remaining lease term was </span><span style="font-family:inherit;font-size:10pt;"><span>9.04</span></span><span style="font-family:inherit;font-size:10pt;"> years.</span></div><div style="line-height:120%;padding-bottom:4px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The components of lease expense were as follows (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;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="8"/></tr><tr><td style="width:67%;"/><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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 2020</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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:inherit;font-size:10pt;">Operating lease cost</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:inherit;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:inherit;font-size:10pt;"><span>2,355</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>1,973</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Variable lease cost</span></div></td><td colspan="2" 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:inherit;font-size:10pt;"><span>1,122</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 colspan="2" 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:inherit;font-size:10pt;"><span>825</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:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total lease cost</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:inherit;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:inherit;font-size:10pt;"><span>3,477</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:inherit;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:inherit;font-size:10pt;"><span>2,798</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:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;padding-top:16px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Supplemental cash flow information related to leases was as follows (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;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="8"/></tr><tr><td style="width:67%;"/><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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 2020</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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:inherit;font-size:10pt;">Cash paid for amounts included in the measurement of lease liabilities:</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:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating cash flows from operating leases</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:inherit;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:inherit;font-size:10pt;"><span>2,021</span></span></div></td><td 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:inherit;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:inherit;font-size:10pt;"><span>2,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></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:inherit;font-size:10pt;">Right-of-use assets obtained in exchange for lease obligations:</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:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating leases</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:inherit;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:inherit;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:inherit;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:inherit;font-size:10pt;"><span>52,767</span></span></div></td><td 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:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;padding-top:16px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Maturities of operating lease liabilities were as follows as of </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;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:81%;"/><td style="width:1%;"/><td style="width:17%;"/><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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Operating leases</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:inherit;font-size:10pt;">Remainder of 2020</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:inherit;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:inherit;font-size:10pt;"><span>6,869</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">2021</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:inherit;font-size:10pt;"><span>8,219</span></span></div></td><td 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:inherit;font-size:10pt;">2022</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:inherit;font-size:10pt;"><span>7,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></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:inherit;font-size:10pt;">2023</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:inherit;font-size:10pt;"><span>7,102</span></span></div></td><td 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:inherit;font-size:10pt;">2024</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:inherit;font-size:10pt;"><span>6,266</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Thereafter</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:inherit;font-size:10pt;"><span>34,835</span></span></div></td><td 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:inherit;font-size:10pt;">Total minimum lease payments</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:inherit;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:inherit;font-size:10pt;"><span>70,841</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: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:inherit;font-size:10pt;">Less: imputed interest</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:inherit;font-size:10pt;"><span>10,847</span></span></div></td><td 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:inherit;font-size:10pt;">Present value of future minimum lease payments</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:inherit;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:inherit;font-size:10pt;"><span>59,994</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: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:inherit;font-size:10pt;">Less: current portion of operating lease liabilities (Note 7)</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:inherit;font-size:10pt;"><span>6,950</span></span></div></td><td 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:inherit;font-size:10pt;">Long-term lease liabilities</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:inherit;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:inherit;font-size:10pt;"><span>53,044</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:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-bottom:6px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Financial Statement Impact of Adopting ASC 842</span></div><div style="line-height:120%;padding-top:8px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company adopted ASC 842 effective December 30, 2018 using the alternative transition method. Under this alternative transition method, a company is permitted to use its effective date as the date of initial application without restating comparative period financial statements. The Company elected the package of practical expedients permitted under the transition guidance, which allowed the Company to carryforward its historical assessments of (1) whether contracts are or contain leases, (2) lease classification and (3) initial direct costs. In addition, the Company elected the practical expedient to use hindsight in determining lease term. The adoption of the new standard resulted in the recognition of right-of-use assets and lease liabilities of approximately </span><span style="font-family:inherit;font-size:10pt;"><span>$52.8 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$67.3 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively. The standard did not materially impact the Company's consolidated income or cash flows.</span></div> 0.0362 P9Y14D <div style="line-height:120%;padding-bottom:4px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The components of lease expense were as follows (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;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="8"/></tr><tr><td style="width:67%;"/><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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 2020</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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:inherit;font-size:10pt;">Operating lease cost</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:inherit;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:inherit;font-size:10pt;"><span>2,355</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>1,973</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Variable lease cost</span></div></td><td colspan="2" 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:inherit;font-size:10pt;"><span>1,122</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 colspan="2" 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:inherit;font-size:10pt;"><span>825</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:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total lease cost</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:inherit;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:inherit;font-size:10pt;"><span>3,477</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:inherit;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:inherit;font-size:10pt;"><span>2,798</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:inherit;font-size:10pt;"><br/></span></div> 2355000 1973000 1122000 825000 3477000 2798000 <div style="line-height:120%;padding-bottom:6px;padding-top:16px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Supplemental cash flow information related to leases was as follows (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;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="8"/></tr><tr><td style="width:67%;"/><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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 2020</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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:inherit;font-size:10pt;">Cash paid for amounts included in the measurement of lease liabilities:</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:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating cash flows from operating leases</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:inherit;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:inherit;font-size:10pt;"><span>2,021</span></span></div></td><td 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:inherit;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:inherit;font-size:10pt;"><span>2,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></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:inherit;font-size:10pt;">Right-of-use assets obtained in exchange for lease obligations:</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:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Operating leases</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:inherit;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:inherit;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:inherit;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:inherit;font-size:10pt;"><span>52,767</span></span></div></td><td 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:inherit;font-size:10pt;"><br/></span></div> 2021000 2020000 0 52767000 <div style="line-height:120%;padding-bottom:6px;padding-top:16px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Maturities of operating lease liabilities were as follows as of </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-bottom:6px;text-align:center;text-indent:0px;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:81%;"/><td style="width:1%;"/><td style="width:17%;"/><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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Operating leases</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:inherit;font-size:10pt;">Remainder of 2020</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:inherit;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:inherit;font-size:10pt;"><span>6,869</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">2021</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:inherit;font-size:10pt;"><span>8,219</span></span></div></td><td 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:inherit;font-size:10pt;">2022</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:inherit;font-size:10pt;"><span>7,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></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:inherit;font-size:10pt;">2023</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:inherit;font-size:10pt;"><span>7,102</span></span></div></td><td 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:inherit;font-size:10pt;">2024</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:inherit;font-size:10pt;"><span>6,266</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Thereafter</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:inherit;font-size:10pt;"><span>34,835</span></span></div></td><td 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:inherit;font-size:10pt;">Total minimum lease payments</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:inherit;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:inherit;font-size:10pt;"><span>70,841</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: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:inherit;font-size:10pt;">Less: imputed interest</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:inherit;font-size:10pt;"><span>10,847</span></span></div></td><td 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:inherit;font-size:10pt;">Present value of future minimum lease payments</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:inherit;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:inherit;font-size:10pt;"><span>59,994</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: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:inherit;font-size:10pt;">Less: current portion of operating lease liabilities (Note 7)</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:inherit;font-size:10pt;"><span>6,950</span></span></div></td><td 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:inherit;font-size:10pt;">Long-term lease liabilities</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:inherit;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:inherit;font-size:10pt;"><span>53,044</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:inherit;font-size:10pt;"><br/></span></div> 6869000 8219000 7550000 7102000 6266000 34835000 70841000 10847000 59994000 6950000 53044000 52800000 67300000 Inventory<div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Inventory consists 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:71%;"/><td style="width:1%;"/><td style="width:12%;"/><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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</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:inherit;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:inherit;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:inherit;font-size:10pt;"><span>182</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>2,825</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Finished goods</span></div></td><td colspan="2" 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:inherit;font-size:10pt;"><span>147,067</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 colspan="2" 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:inherit;font-size:10pt;"><span>154,522</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="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:inherit;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:inherit;font-size:10pt;"><span>147,249</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:inherit;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:inherit;font-size:10pt;"><span>157,347</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:inherit;font-size:10pt;"><br/></span></div> Inventory<div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Inventory consists 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:71%;"/><td style="width:1%;"/><td style="width:12%;"/><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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</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:inherit;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:inherit;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:inherit;font-size:10pt;"><span>182</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>2,825</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Finished goods</span></div></td><td colspan="2" 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:inherit;font-size:10pt;"><span>147,067</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 colspan="2" 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:inherit;font-size:10pt;"><span>154,522</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="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:inherit;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:inherit;font-size:10pt;"><span>147,249</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:inherit;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:inherit;font-size:10pt;"><span>157,347</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:inherit;font-size:10pt;"><br/></span></div> 182000 2825000 147067000 154522000 147249000 157347000 Goodwill and Other Intangible Assets<div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table summarizes the activity in the carrying amount of goodwill for the three months ended </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;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:84%;"/><td style="width:1%;"/><td style="width:14%;"/><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:inherit;font-size:10pt;">Balance as of December 28, 2019</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:inherit;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:inherit;font-size:10pt;"><span>118,732</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Effect of foreign currency translation</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:inherit;font-size:10pt;"><span>(355</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: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:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of March 28, 2020</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:inherit;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:inherit;font-size:10pt;"><span>118,377</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:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Intangible assets consisted of the following (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:left;padding-left:0px;text-indent:0px;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:33%;"/><td style="width:1%;"/><td style="width:8%;"/><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: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:9%;"/><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="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="11" 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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="11" 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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</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:inherit;font-size:8pt;"> </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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Net</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Net</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:inherit;font-size:10pt;">Completed technology</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:inherit;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:inherit;font-size:10pt;"><span>28,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 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:inherit;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:inherit;font-size:10pt;"><span>24,890</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>3,210</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>28,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 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:inherit;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:inherit;font-size:10pt;"><span>24,605</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>3,495</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Tradename</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:inherit;font-size:10pt;"><span>100</span></span></div></td><td 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:inherit;font-size:10pt;"><span>100</span></span></div></td><td 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:inherit;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:inherit;font-size:10pt;"><span>100</span></span></div></td><td 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:inherit;font-size:10pt;"><span>100</span></span></div></td><td 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:inherit;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:inherit;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:inherit;font-size:10pt;"><span>11,064</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>2,529</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>8,535</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>11,095</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>2,302</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>8,793</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Reacquired distribution rights</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:inherit;font-size:10pt;"><span>31,549</span></span></div></td><td 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:inherit;font-size:10pt;"><span>31,549</span></span></div></td><td 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:inherit;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:inherit;font-size:10pt;"><span>31,680</span></span></div></td><td 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:inherit;font-size:10pt;"><span>31,680</span></span></div></td><td 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:inherit;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:inherit;font-size:10pt;">Non-competition 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:inherit;font-size:10pt;"><span>254</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>212</span></span></div></td><td style="vertical-align: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="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></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:inherit;font-size:10pt;"><span>42</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:inherit;font-size:10pt;"><span>256</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:inherit;font-size:10pt;"><span>192</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:inherit;font-size:10pt;"><span>64</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:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total</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:inherit;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:inherit;font-size:10pt;"><span>71,067</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:inherit;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:inherit;font-size:10pt;"><span>59,280</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:inherit;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:inherit;font-size:10pt;"><span>11,787</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:inherit;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:inherit;font-size:10pt;"><span>71,231</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:inherit;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:inherit;font-size:10pt;"><span>58,879</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:inherit;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:inherit;font-size:10pt;"><span>12,352</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:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Amortization expense related to acquired intangible assets was </span><span style="font-family:inherit;font-size:10pt;"><span>$0.5</span></span><span style="font-family:inherit;font-size:10pt;"> million and </span><span style="font-family:inherit;font-size:10pt;"><span>$3.3</span></span><span style="font-family:inherit;font-size:10pt;"> million for the three months ended </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">March 30, 2019</span><span style="font-family:inherit;font-size:10pt;">, respectively.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:0px;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:38%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Cost of Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Operating 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 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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Total</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:inherit;font-size:10pt;">Remainder of 2020</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:inherit;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:inherit;font-size:10pt;"><span>855</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>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><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:inherit;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:inherit;font-size:10pt;"><span>1,598</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">2021</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:inherit;font-size:10pt;"><span>1,140</span></span></div></td><td 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:inherit;font-size:10pt;"><span>779</span></span></div></td><td 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:inherit;font-size:10pt;"><span>1,919</span></span></div></td><td 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:inherit;font-size:10pt;">2022</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:inherit;font-size:10pt;"><span>915</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>779</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>1,694</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">2023</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:inherit;font-size:10pt;"><span>240</span></span></div></td><td 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:inherit;font-size:10pt;"><span>779</span></span></div></td><td 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:inherit;font-size:10pt;"><span>1,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:inherit;font-size:10pt;">2024</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:inherit;font-size:10pt;"><span>60</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>779</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>839</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Thereafter</span></div></td><td colspan="2" 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:inherit;font-size:10pt;"><span>—</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 colspan="2" 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:inherit;font-size:10pt;"><span>4,718</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 colspan="2" 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:inherit;font-size:10pt;"><span>4,718</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:inherit;font-size:10pt;">Total</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:inherit;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:inherit;font-size:10pt;"><span>3,210</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:inherit;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:inherit;font-size:10pt;"><span>8,577</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:inherit;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:inherit;font-size:10pt;"><span>11,787</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:inherit;font-size:10pt;"><br/></span></div> <div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table summarizes the activity in the carrying amount of goodwill for the three months ended </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;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:84%;"/><td style="width:1%;"/><td style="width:14%;"/><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:inherit;font-size:10pt;">Balance as of December 28, 2019</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:inherit;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:inherit;font-size:10pt;"><span>118,732</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Effect of foreign currency translation</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:inherit;font-size:10pt;"><span>(355</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: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:10pt;"><span style="font-family:inherit;font-size:10pt;">Balance as of March 28, 2020</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:inherit;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:inherit;font-size:10pt;"><span>118,377</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:inherit;font-size:10pt;"><br/></span></div> 118732000 -355000 118377000 <div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Intangible assets consisted of the following (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:left;padding-left:0px;text-indent:0px;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:33%;"/><td style="width:1%;"/><td style="width:8%;"/><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: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:9%;"/><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="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="11" 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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="11" 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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</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:inherit;font-size:8pt;"> </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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Net</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Net</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:inherit;font-size:10pt;">Completed technology</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:inherit;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:inherit;font-size:10pt;"><span>28,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 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:inherit;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:inherit;font-size:10pt;"><span>24,890</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>3,210</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>28,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 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:inherit;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:inherit;font-size:10pt;"><span>24,605</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>3,495</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Tradename</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:inherit;font-size:10pt;"><span>100</span></span></div></td><td 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:inherit;font-size:10pt;"><span>100</span></span></div></td><td 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:inherit;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:inherit;font-size:10pt;"><span>100</span></span></div></td><td 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:inherit;font-size:10pt;"><span>100</span></span></div></td><td 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:inherit;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:inherit;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:inherit;font-size:10pt;"><span>11,064</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>2,529</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>8,535</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>11,095</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>2,302</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>8,793</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Reacquired distribution rights</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:inherit;font-size:10pt;"><span>31,549</span></span></div></td><td 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:inherit;font-size:10pt;"><span>31,549</span></span></div></td><td 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:inherit;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:inherit;font-size:10pt;"><span>31,680</span></span></div></td><td 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:inherit;font-size:10pt;"><span>31,680</span></span></div></td><td 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:inherit;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:inherit;font-size:10pt;">Non-competition 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:inherit;font-size:10pt;"><span>254</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>212</span></span></div></td><td style="vertical-align: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="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></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:inherit;font-size:10pt;"><span>42</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:inherit;font-size:10pt;"><span>256</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:inherit;font-size:10pt;"><span>192</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:inherit;font-size:10pt;"><span>64</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:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Total</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:inherit;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:inherit;font-size:10pt;"><span>71,067</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:inherit;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:inherit;font-size:10pt;"><span>59,280</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:inherit;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:inherit;font-size:10pt;"><span>11,787</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:inherit;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:inherit;font-size:10pt;"><span>71,231</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:inherit;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:inherit;font-size:10pt;"><span>58,879</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:inherit;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:inherit;font-size:10pt;"><span>12,352</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:inherit;font-size:10pt;"><br/></span></div> 28100000 24890000 3210000 28100000 24605000 3495000 100000 100000 0 100000 100000 0 11064000 2529000 8535000 11095000 2302000 8793000 31549000 31549000 0 31680000 31680000 0 254000 212000 42000 256000 192000 64000 71067000 59280000 11787000 71231000 58879000 12352000 500000 3300000 <div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The estimated future amortization expense related to current intangible assets in each of the five succeeding fiscal years is expected to be as follows (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:0px;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:38%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Cost of Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Operating 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 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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Total</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:inherit;font-size:10pt;">Remainder of 2020</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:inherit;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:inherit;font-size:10pt;"><span>855</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>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><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:inherit;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:inherit;font-size:10pt;"><span>1,598</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">2021</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:inherit;font-size:10pt;"><span>1,140</span></span></div></td><td 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:inherit;font-size:10pt;"><span>779</span></span></div></td><td 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:inherit;font-size:10pt;"><span>1,919</span></span></div></td><td 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:inherit;font-size:10pt;">2022</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:inherit;font-size:10pt;"><span>915</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>779</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>1,694</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">2023</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:inherit;font-size:10pt;"><span>240</span></span></div></td><td 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:inherit;font-size:10pt;"><span>779</span></span></div></td><td 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:inherit;font-size:10pt;"><span>1,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:inherit;font-size:10pt;">2024</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:inherit;font-size:10pt;"><span>60</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>779</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>839</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Thereafter</span></div></td><td colspan="2" 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:inherit;font-size:10pt;"><span>—</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 colspan="2" 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:inherit;font-size:10pt;"><span>4,718</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 colspan="2" 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:inherit;font-size:10pt;"><span>4,718</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:inherit;font-size:10pt;">Total</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:inherit;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:inherit;font-size:10pt;"><span>3,210</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:inherit;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:inherit;font-size:10pt;"><span>8,577</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:inherit;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:inherit;font-size:10pt;"><span>11,787</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:inherit;font-size:10pt;"><br/></span></div> 855000 743000 1598000 1140000 779000 1919000 915000 779000 1694000 240000 779000 1019000 60000 779000 839000 0 4718000 4718000 3210000 8577000 11787000 Accrued Expenses<div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses consisted of the following at (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:71%;"/><td style="width:1%;"/><td style="width:12%;"/><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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</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:inherit;font-size:10pt;">Accrued other compensation</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:inherit;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:inherit;font-size:10pt;"><span>16,232</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>13,331</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Accrued warranty</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:inherit;font-size:10pt;"><span>13,998</span></span></div></td><td 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:inherit;font-size:10pt;"><span>13,856</span></span></div></td><td 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:inherit;font-size:10pt;">Current portion of operating lease liabilities</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:inherit;font-size:10pt;"><span>6,950</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>6,843</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Accrued bonus</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:inherit;font-size:10pt;"><span>3,820</span></span></div></td><td 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:inherit;font-size:10pt;"><span>12,541</span></span></div></td><td 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:inherit;font-size:10pt;">Accrued direct fulfillment costs</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:inherit;font-size:10pt;"><span>3,536</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>10,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: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:inherit;font-size:10pt;">Accrued sales and other indirect taxes payable</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:inherit;font-size:10pt;"><span>2,460</span></span></div></td><td 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:inherit;font-size:10pt;"><span>12,440</span></span></div></td><td 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:inherit;font-size:10pt;">Accrued federal and state income taxes</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:inherit;font-size:10pt;"><span>1,722</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>3,378</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Accrued other</span></div></td><td colspan="2" 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:inherit;font-size:10pt;"><span>7,083</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 colspan="2" 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:inherit;font-size:10pt;"><span>8,797</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="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:inherit;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:inherit;font-size:10pt;"><span>55,801</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:inherit;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:inherit;font-size:10pt;"><span>81,768</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:inherit;font-size:10pt;"><br/></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:71%;"/><td style="width:1%;"/><td style="width:12%;"/><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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</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:inherit;font-size:10pt;">Accrued other compensation</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:inherit;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:inherit;font-size:10pt;"><span>16,232</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>13,331</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Accrued warranty</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:inherit;font-size:10pt;"><span>13,998</span></span></div></td><td 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:inherit;font-size:10pt;"><span>13,856</span></span></div></td><td 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:inherit;font-size:10pt;">Current portion of operating lease liabilities</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:inherit;font-size:10pt;"><span>6,950</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>6,843</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Accrued bonus</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:inherit;font-size:10pt;"><span>3,820</span></span></div></td><td 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:inherit;font-size:10pt;"><span>12,541</span></span></div></td><td 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:inherit;font-size:10pt;">Accrued direct fulfillment costs</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:inherit;font-size:10pt;"><span>3,536</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>10,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: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:inherit;font-size:10pt;">Accrued sales and other indirect taxes payable</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:inherit;font-size:10pt;"><span>2,460</span></span></div></td><td 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:inherit;font-size:10pt;"><span>12,440</span></span></div></td><td 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:inherit;font-size:10pt;">Accrued federal and state income taxes</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:inherit;font-size:10pt;"><span>1,722</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>3,378</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Accrued other</span></div></td><td colspan="2" 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:inherit;font-size:10pt;"><span>7,083</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 colspan="2" 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:inherit;font-size:10pt;"><span>8,797</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="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:inherit;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:inherit;font-size:10pt;"><span>55,801</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:inherit;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:inherit;font-size:10pt;"><span>81,768</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:inherit;font-size:10pt;"><br/></span></div> 16232000 13331000 13998000 13856000 6950000 6843000 3820000 12541000 3536000 10582000 2460000 12440000 1722000 3378000 7083000 8797000 55801000 81768000 Derivative Instruments<div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company operates internationally and, in the normal course of business, is exposed to fluctuations in foreign currency exchange rates. The foreign currency exposures typically arise from transactions denominated in currencies other than the functional currency of the Company's operations, primarily the British Pound, Canadian Dollar, Euro and Japanese Yen. The Company uses derivative instruments that are designated in cash flow hedge relationships to reduce or eliminate the effects of foreign exchange rate changes on sales. These contracts typically have maturities of thirty-seven months or less. At </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company had outstanding cash flow hedges with a total notional value of </span><span style="font-family:inherit;font-size:10pt;"><span>$388.4 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$424.6 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company also enters into economic hedges that are not designated as hedges from an accounting standpoint to reduce or eliminate the effects of foreign exchange rate changes typically related to short term trade receivables and payables. These contracts typically have maturities of twelve months or less. At </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company had outstanding economic hedges with a total notional value of </span><span style="font-family:inherit;font-size:10pt;"><span>$72.5 million</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>$58.4 million</span></span><span style="font-family:inherit;font-size:10pt;">, respectively.</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The fair values of derivative instruments are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:18px;text-align:center;padding-left:0px;text-indent:0px;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="10"/></tr><tr><td style="width:43%;"/><td style="width:23%;"/><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 style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Classification</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</span></div></td></tr><tr><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:inherit;font-size:10pt;font-weight:bold;">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:inherit;font-size:10pt;">Foreign currency forward contracts</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:inherit;font-size:10pt;">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:inherit;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:inherit;font-size:10pt;"><span>1,756</span></span></div></td><td 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:inherit;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:inherit;font-size:10pt;"><span>1,855</span></span></div></td><td 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:inherit;font-size:10pt;">Foreign currency forward contracts</span></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:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div 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:inherit;font-size:10pt;"><span>559</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>297</span></span></div></td><td style="vertical-align: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 colspan="3" 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:inherit;font-size:10pt;font-weight:bold;">Derivatives designated as cash flow hedges:</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: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:inherit;font-size:10pt;">Foreign currency forward contracts</span></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:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other current 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:inherit;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:inherit;font-size:10pt;"><span>7,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:inherit;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:inherit;font-size:10pt;"><span>4,347</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Foreign currency forward contracts</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:inherit;font-size:10pt;">Other 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 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:inherit;font-size:10pt;"><span>11,737</span></span></div></td><td 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:inherit;font-size:10pt;"><span>9,112</span></span></div></td><td 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:inherit;font-size:10pt;">Foreign currency forward contracts</span></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:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div 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:inherit;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:inherit;font-size:10pt;"><span>47</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Foreign currency forward contracts</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:inherit;font-size:10pt;">Long-term liabilities</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div 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:inherit;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:inherit;font-size:10pt;"><span>414</span></span></div></td><td 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:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;padding-left:0px;text-indent:0px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Gains (losses) associated with derivative instruments not designated as hedging instruments are 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="10"/></tr><tr><td style="width:41%;"/><td style="width:25%;"/><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 style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Classification</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">(Loss) gain recognized in income</span></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:center;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Other (expense) income, net</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(545</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>433</span></span></div></td><td style="vertical-align: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></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): </span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;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="9"/></tr><tr><td style="width:66%;"/><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 style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in OCI on Derivative (1)</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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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="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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>7,566</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><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>6,404</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></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:88px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:64px;"><span style="font-family:inherit;font-size:10pt;">(1)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The amount represents the change in fair value of derivative contracts due to changes in spot rates.</span></div></td></tr></table><div style="line-height:120%;padding-top:12px;text-align:center;padding-left:0px;text-indent:0px;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="9"/></tr><tr><td style="width:66%;"/><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 style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in earnings on cash flow hedging instruments</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="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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="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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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:8pt;"><span style="font-family:inherit;font-size:8pt;">Revenue</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Consolidated statements of operations in which the effects of cash flow hedging instruments are recorded</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:inherit;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:inherit;font-size:10pt;"><span>192,535</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><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:inherit;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:inherit;font-size:10pt;"><span>237,661</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:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;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:20px;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:20px;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:20px;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:20px;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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Gain (loss) on cash flow hedging relationships:</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom: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:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts:</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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:bottom;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Amount of gain (loss) reclassified from AOCI into earnings</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:inherit;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:inherit;font-size:10pt;"><span>1,957</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>(144</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:inherit;font-size:10pt;">)</span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> 388400000 424600000 72500000 58400000 <div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The fair values of derivative instruments are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:18px;text-align:center;padding-left:0px;text-indent:0px;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="10"/></tr><tr><td style="width:43%;"/><td style="width:23%;"/><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 style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Classification</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">December 28, 2019</span></div></td></tr><tr><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:inherit;font-size:10pt;font-weight:bold;">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:inherit;font-size:10pt;">Foreign currency forward contracts</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:inherit;font-size:10pt;">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:inherit;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:inherit;font-size:10pt;"><span>1,756</span></span></div></td><td 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:inherit;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:inherit;font-size:10pt;"><span>1,855</span></span></div></td><td 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:inherit;font-size:10pt;">Foreign currency forward contracts</span></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:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div 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:inherit;font-size:10pt;"><span>559</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;"><span>297</span></span></div></td><td style="vertical-align: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 colspan="3" 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:inherit;font-size:10pt;font-weight:bold;">Derivatives designated as cash flow hedges:</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: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:inherit;font-size:10pt;">Foreign currency forward contracts</span></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:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Other current 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:inherit;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:inherit;font-size:10pt;"><span>7,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:inherit;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:inherit;font-size:10pt;"><span>4,347</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Foreign currency forward contracts</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:inherit;font-size:10pt;">Other 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 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:inherit;font-size:10pt;"><span>11,737</span></span></div></td><td 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:inherit;font-size:10pt;"><span>9,112</span></span></div></td><td 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:inherit;font-size:10pt;">Foreign currency forward contracts</span></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:center;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div 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:inherit;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:inherit;font-size:10pt;"><span>47</span></span></div></td><td style="vertical-align: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:inherit;font-size:10pt;">Foreign currency forward contracts</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:inherit;font-size:10pt;">Long-term liabilities</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div 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:inherit;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:inherit;font-size:10pt;"><span>414</span></span></div></td><td 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:inherit;font-size:10pt;"><br/></span></div> 1756000 1855000 559000 297000 7398000 4347000 11737000 9112000 0 47000 0 414000 <div style="line-height:120%;padding-top:6px;text-align:left;padding-left:0px;text-indent:0px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Gains (losses) associated with derivative instruments not designated as hedging instruments are 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="10"/></tr><tr><td style="width:41%;"/><td style="width:25%;"/><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 style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Classification</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">(Loss) gain recognized in income</span></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:center;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Other (expense) income, net</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(545</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>433</span></span></div></td><td style="vertical-align: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></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): </span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;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="9"/></tr><tr><td style="width:66%;"/><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 style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in OCI on Derivative (1)</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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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="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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>7,566</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><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>6,404</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></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:88px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:64px;"><span style="font-family:inherit;font-size:10pt;">(1)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The amount represents the change in fair value of derivative contracts due to changes in spot rates.</span></div></td></tr></table><div style="line-height:120%;padding-top:12px;text-align:center;padding-left:0px;text-indent:0px;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="9"/></tr><tr><td style="width:66%;"/><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 style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in earnings on cash flow hedging instruments</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="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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="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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">Revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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:8pt;"><span style="font-family:inherit;font-size:8pt;">Revenue</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Consolidated statements of operations in which the effects of cash flow hedging instruments are recorded</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:inherit;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:inherit;font-size:10pt;"><span>192,535</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><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:inherit;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:inherit;font-size:10pt;"><span>237,661</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:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;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:20px;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:20px;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:20px;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:20px;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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Gain (loss) on cash flow hedging relationships:</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom: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:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts:</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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:bottom;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Amount of gain (loss) reclassified from AOCI into earnings</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:inherit;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:inherit;font-size:10pt;"><span>1,957</span></span></div></td><td style="vertical-align: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:inherit;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:inherit;font-size:10pt;"><span>(144</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:inherit;font-size:10pt;">)</span></div></td></tr></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> <div style="line-height:120%;padding-top:6px;text-align:left;padding-left:0px;text-indent:0px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Gains (losses) associated with derivative instruments not designated as hedging instruments are 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="10"/></tr><tr><td style="width:41%;"/><td style="width:25%;"/><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 style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Classification</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">(Loss) gain recognized in income</span></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:center;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Other (expense) income, net</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>(545</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>433</span></span></div></td><td style="vertical-align: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></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div> -545000 433000 <div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following tables reflect the effect of derivatives designated as cash flow hedging (in thousands): </span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;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="9"/></tr><tr><td style="width:66%;"/><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 style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom: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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Gain (loss) recognized in OCI on Derivative (1)</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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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="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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">Foreign currency forward contracts</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>7,566</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><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;">$</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:9.5pt;"><span style="font-family:inherit;font-size:9.5pt;"><span>6,404</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></table></div><span style="font-family:inherit;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;padding-left:64px;"><span style="font-family:inherit;font-size:10pt;">(1)</span></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The amount represents the change in fair value of derivative contracts due to changes in spot rates.</span></div> 7566000 6404000 192535000 237661000 1957000 -144000 Fair Value Measurements<div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company’s financial assets and liabilities measured at fair value on a recurring basis 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="12"/></tr><tr><td style="width:59%;"/><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="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="11" 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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Fair Value Measurements as of<br/>March 28, 2020</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:inherit;font-size:8pt;"><br/></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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 1</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 2 (1)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 3 (2)</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:inherit;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:inherit;font-size:10pt;">Money market funds</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:inherit;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:inherit;font-size:10pt;"><span>120,144</span></span></div></td><td 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:inherit;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:inherit;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:inherit;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:inherit;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:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Corporate bonds, $13,489 at cost (3)</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:inherit;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:inherit;font-size:10pt;"><span>13,509</span></span></div></td><td style="vertical-align: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:inherit;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></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:inherit;font-size:10pt;">Convertible notes</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:inherit;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:inherit;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:inherit;font-size:10pt;"><span>1,250</span></span></div></td><td 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:inherit;font-size:10pt;">Derivative instruments (Note 8)</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:inherit;font-size:10pt;"><span>—</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:inherit;font-size:10pt;"><span>20,891</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:inherit;font-size:10pt;"><span>—</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: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:inherit;font-size:10pt;">Total assets measured at fair value</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:inherit;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:inherit;font-size:10pt;"><span>120,144</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;border-top:1px solid #000000;"><div style="text-align:left;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-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>34,400</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:inherit;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:inherit;font-size:10pt;"><span>1,250</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;height:20px;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;height:20px;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;height:20px;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;height:20px;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;height:20px;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;height:20px;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:inherit;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:inherit;font-size:10pt;">Derivative instruments (Note 8)</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #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:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</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 style="vertical-align:bottom;border-bottom:1px solid #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:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>559</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 style="vertical-align:bottom;border-bottom:1px solid #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:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</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: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:inherit;font-size:10pt;">Total liabilities measured at fair value</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:inherit;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:inherit;font-size:10pt;"><span>—</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:inherit;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:inherit;font-size:10pt;"><span>559</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:inherit;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:inherit;font-size:10pt;"><span>—</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></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></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:59%;"/><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="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;"> </span></div></td><td colspan="11" 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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Fair Value Measurements as of<br/>December 28, 2019</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:inherit;font-size:8pt;"> </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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 2 (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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Level 3 (2)</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:inherit;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:inherit;font-size:10pt;">Corporate and government bonds, $17,016 at cost</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:inherit;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:inherit;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:inherit;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:inherit;font-size:10pt;"><span>17,032</span></span></div></td><td 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:inherit;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:inherit;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:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Derivative instruments (Note 8)</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:inherit;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:inherit;font-size:10pt;"><span>15,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><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div 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:inherit;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></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:inherit;font-size:10pt;">Total assets measured at fair value</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:inherit;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:inherit;font-size:10pt;"><span>—</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:inherit;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:inherit;font-size:10pt;"><span>32,346</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:inherit;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:inherit;font-size:10pt;"><span>—</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;height:20px;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;height:20px;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;height:20px;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;height:20px;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;height:20px;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;height:20px;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:inherit;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:inherit;font-size:10pt;">Derivative instruments (Note 8)</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #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:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</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 style="vertical-align:bottom;border-bottom:1px solid #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:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>758</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 style="vertical-align:bottom;border-bottom:1px solid #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:inherit;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>—</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: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:inherit;font-size:10pt;">Total liabilities measured at fair value</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:inherit;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:inherit;font-size:10pt;"><span>—</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;border-top:1px solid #000000;"><div style="text-align:left;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-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><span>758</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:inherit;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:inherit;font-size:10pt;"><span>—</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></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:40px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:16px;"><span style="font-family:inherit;font-size:10pt;">(1)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.</span></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:40px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:16px;"><span style="font-family:inherit;font-size:10pt;">(2)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities.</span></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:4px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:40px;"/><td/></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:16px;"><span style="font-family:inherit;font-size:10pt;">(3)</span></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">As of </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;">, the Company’s investments had maturity dates ranging from May 2020 to March 2021.</span></div></td></tr></table><div style="line-height:120%;padding-top:4px;text-indent:48px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">    </span></div><div style="line-height:120%;padding-top:4px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides a summary of changes in fair value of our Level 3 investment for the three months ended </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;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:95.3125%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:81%;"/><td style="width:1%;"/><td style="width:17%;"/><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:inherit;font-size:10pt;">Balance as of December 28, 2019</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:inherit;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:inherit;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></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:inherit;font-size:10pt;">Investment in convertible notes</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:inherit;font-size:10pt;"><span>1,250</span></span></div></td><td 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:inherit;font-size:10pt;">Balance as of March 28, 2020</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:inherit;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:inherit;font-size:10pt;"><span>1,250</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:inherit;font-size:10pt;"><br/></span></div> 120144000 0 0 0 13509000 0 0 0 1250000 0 20891000 0 120144000 34400000 1250000 0 559000 0 0 559000 0 0 17032000 0 0 15314000 0 0 32346000 0 0 758000 0 0 758000 0 <div style="line-height:120%;padding-top:4px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The following table provides a summary of changes in fair value of our Level 3 investment for the three months ended </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;text-indent:0px;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:95.3125%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:81%;"/><td style="width:1%;"/><td style="width:17%;"/><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:inherit;font-size:10pt;">Balance as of December 28, 2019</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:inherit;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:inherit;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></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:inherit;font-size:10pt;">Investment in convertible notes</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:inherit;font-size:10pt;"><span>1,250</span></span></div></td><td 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:inherit;font-size:10pt;">Balance as of March 28, 2020</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:inherit;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:inherit;font-size:10pt;"><span>1,250</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:inherit;font-size:10pt;"><br/></span></div> 0 1250000 1250000 Stockholders' Equity<div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Share Repurchase Activity</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's Board of Directors approved a stock repurchase program authorizing up to $200.0 million in share repurchases from time to time until September 2021. On March 10, 2020, the Company entered into a Rule 10b5-1 plan to repurchase </span><span style="font-family:inherit;font-size:10pt;"><span>$25.0 million</span></span><span style="font-family:inherit;font-size:10pt;"> of common stock in the aggregate beginning March 13, 2020 and ending April 30, 2020. As of </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;">, the Company repurchased </span><span style="font-family:inherit;font-size:10pt;"><span>663,602</span></span><span style="font-family:inherit;font-size:10pt;"> shares of its common stock at an average price of $37.65, totaling </span><span style="font-family:inherit;font-size:10pt;"><span>$25.0 million</span></span><span style="font-family:inherit;font-size:10pt;">.</span></div> 25000000.0 663602 25000000.0 Commitments and Contingencies<div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Legal Proceedings</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">From time to time and in the ordinary course of business, the Company is subject to various claims, charges and litigation. The outcome of litigation cannot be predicted with certainty and some lawsuits, claims or proceedings may be disposed of unfavorably to us, which could materially affect our financial condition or results of operations. For the following litigation matters, a liability is not probable or the amount cannot be reasonably estimated and therefore accruals have not been made.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">On October 24, 2019, purported Company shareholder Miramar Firefighters’ Pension Fund filed a putative class action in the U.S. District Court for the Southern District of New York against the Company and certain of its directors and officers, captioned Miramar Firefighters’ Pension Fund v. iRobot Corporation, et al., No. 1:19-cv-09837.  The case has been transferred to the U.S. District Court for the District of Massachusetts. A similar case captioned Campbell v. iRobot Corporation, et al., No. 1:19-cv-12483 was also filed in the U.S. District Court for the Southern District of New York and subsequently transferred to the U.S. District Court for the District of Massachusetts. On January 24, 2020, the Court consolidated the Miramar and Campbell cases and appointed a lead plaintiff and lead plaintiff's Counsel. On April 3, 2020, the plaintiff filed an amended complaint alleging violations of Sections 10(b) and 20(a) of the Securities Exchange Act of 1934 and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the impact of competition and Section 301 tariffs on the Company’s financial performance.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">On December 20, 2019, purported Company shareholders David Katz and Thomas Wightman, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court for Southern District of New York against the Company and certain of its directors and officers, captioned David Katz and Thomas Wightman, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:19-cv-11692. The complaint alleges breaches of fiduciary duties, unjust enrichment, violations of Sections 10(b) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief. This case has been transferred to the U.S. District Court for the District of Massachusetts. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">On January 9, 2020, purported Company shareholder Robert Truman, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court for the District of Massachusetts against the Company and certain of its directors and officers, captioned Robert Truman, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10034. The complaint alleges breaches of fiduciary duties, unjust enrichment, abuse of control, gross mismanagement, waste of corporate assets, and violations of Sections 10(b), 14(a) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">On January 22, 2020, purported Company shareholder Alexa Ruhfass, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court of the District of Massachusetts against the Company and certain of its directors and officers, captioned Alexa Ruhfass, on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-cv-10133. The complaint alleges breaches of fiduciary duties, unjust enrichment, waste of corporate assets, and violations of Sections 14(a) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief. </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">On February 10, 2020, purported Company shareholder William Tasco, derivatively on behalf of iRobot Corporation, filed a complaint in the U.S. District Court for the District of Massachusetts against the Company and certain of its directors and officers, captioned William Tasco, derivatively on behalf of iRobot Corporation v. iRobot Corporation, et al., No. 1:20-</span></div><div style="line-height:120%;padding-top:6px;text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">cv-10253. The complaint alleges breaches of fiduciary duties, unjust enrichment, abuse of control, gross mismanagement, waste of corporate assets, and violations of Sections 10(b), 14(a) and 20(a) of the Exchange Act and Rule 10b-5 thereunder based on allegedly false and misleading statements and omissions concerning the Company's acquisitions of Sales on Demand Corporation and Robopolis SAS and the Company's subsequent financial performance. The complaint seeks, among other things, unspecified compensatory damages, including interest, in connection with the Company's allegedly inflated stock price, attorneys' fees and costs, and unspecified equitable/injunctive relief. </span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Outstanding Purchase Orders</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">At </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;">, the Company had outstanding purchase orders aggregating approximately </span><span style="font-family:inherit;font-size:10pt;"><span>$154.0 million</span></span><span style="font-family:inherit;font-size:10pt;">. The purchase orders, the majority of which are with the Company's contract manufacturers for the purchase of inventory in the normal course of business, are for manufacturing and non-manufacturing related goods and services, and are generally cancelable without penalty. In circumstances where the Company has determined that it has financial exposure associated with any of these commitments, the Company records a liability in the period in which that exposure is identified. </span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Guarantees and Indemnification Obligations</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company enters into standard indemnification agreements in the ordinary course of business. Pursuant to these agreements, the Company indemnifies and agrees to reimburse the indemnified party for losses incurred by the indemnified party, generally the Company’s customers, in connection with any patent, copyright, trade secret or other proprietary right infringement claim by any third party. The term of these indemnification agreements is generally perpetual any time after execution of the agreement. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is unlimited. The Company has never incurred costs to defend lawsuits or settle claims related to these indemnification agreements. As a result, the Company believes the estimated fair value of these agreements is minimal. Accordingly, the Company has no liabilities recorded for these agreements as of </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">December 28, 2019</span><span style="font-family:inherit;font-size:10pt;">, respectively.</span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Warranty</span></div><div style="line-height:120%;padding-top:6px;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company provides warranties on most products and has established a reserve for warranty obligations based on estimated warranty costs. The reserve is included as part of accrued expenses (Note 7) in the accompanying consolidated balance sheets.    </span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Activity related to the warranty accrual was as follows (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;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="8"/></tr><tr><td style="width:67%;"/><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="text-align:left;font-size:8pt;"><span style="font-family:inherit;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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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:inherit;font-size:8pt;"> </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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:inherit;font-size:10pt;">Balance at beginning of period</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:inherit;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:inherit;font-size:10pt;"><span>13,856</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><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:inherit;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:inherit;font-size:10pt;"><span>11,964</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: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:inherit;font-size:10pt;">Provision</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:inherit;font-size:10pt;"><span>4,475</span></span></div></td><td 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:inherit;font-size:10pt;"><span>2,652</span></span></div></td><td 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:inherit;font-size:10pt;">Warranty usage</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:inherit;font-size:10pt;"><span>(4,333</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: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="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:inherit;font-size:10pt;"><span>(2,988</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: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:inherit;font-size:10pt;">Balance at end of period</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:inherit;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:inherit;font-size:10pt;"><span>13,998</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:inherit;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:inherit;font-size:10pt;"><span>11,628</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:inherit;font-size:10pt;"><br/></span></div> 154000000.0 <div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">Activity related to the warranty accrual was as follows (in thousands):</span></div><div style="line-height:120%;padding-top:6px;text-align:center;padding-left:0px;text-indent:0px;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="8"/></tr><tr><td style="width:67%;"/><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="text-align:left;font-size:8pt;"><span style="font-family:inherit;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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">Three 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:inherit;font-size:8pt;"> </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;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 28, 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="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:8pt;"><span style="font-family:inherit;font-size:8pt;font-weight:bold;">March 30, 2019</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:inherit;font-size:10pt;">Balance at beginning of period</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:inherit;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:inherit;font-size:10pt;"><span>13,856</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><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right: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:inherit;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:inherit;font-size:10pt;"><span>11,964</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: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:inherit;font-size:10pt;">Provision</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:inherit;font-size:10pt;"><span>4,475</span></span></div></td><td 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:inherit;font-size:10pt;"><span>2,652</span></span></div></td><td 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:inherit;font-size:10pt;">Warranty usage</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:inherit;font-size:10pt;"><span>(4,333</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: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="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:inherit;font-size:10pt;"><span>(2,988</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: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:inherit;font-size:10pt;">Balance at end of period</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:inherit;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:inherit;font-size:10pt;"><span>13,998</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:inherit;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:inherit;font-size:10pt;"><span>11,628</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:inherit;font-size:10pt;"><br/></span></div> 13856000 11964000 4475000 2652000 4333000 2988000 13998000 11628000 Income Taxes<div style="line-height:120%;padding-bottom:12px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company’s effective income tax rate for the three months ended </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">March 30, 2019</span><span style="font-family:inherit;font-size:10pt;">, was </span><span style="font-family:inherit;font-size:10pt;"><span>10.4%</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>4.3%</span></span><span style="font-family:inherit;font-size:10pt;">, respectively. The increase in the effective income tax rate was primarily due to the recognition of a valuation allowance on certain state income tax credits and lower tax benefits recognized related to stock-based compensation.</span></div><div style="line-height:120%;padding-top:6px;text-align:left;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company's effective income tax rate of </span><span style="font-family:inherit;font-size:10pt;"><span>10.4%</span></span><span style="font-family:inherit;font-size:10pt;"> for the three months ended </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> differed from the federal statutory tax rate of 21% primarily due to the recognition of a valuation allowance on certain state income tax credits and tax expense related to stock-based compensation.</span></div><div style="line-height:120%;padding-top:6px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act ("CARES Act") was enacted in response to the COVID-19 pandemic. The Company is currently evaluating the impact of the CARES Act, but at present does not expect the CARES Act would result in any material tax benefit.</span></div> 0.104 0.043 0.104 Industry Segment, Geographic Information and Significant Customers<div style="line-height:120%;padding-top:6px;text-align:left;text-indent:32px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">The Company operates as </span><span style="font-family:inherit;font-size:10pt;"><span>one</span></span><span style="font-family:inherit;font-size:10pt;"> operating segment. The Company's consumer robots products are offered to consumers through a variety of distribution channels, including chain stores and other national retailers, through its on-line stores, and through value-added distributors and resellers worldwide. </span></div><div style="line-height:120%;padding-top:6px;text-indent:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;">Significant Customers</span></div><span style="font-family:inherit;font-size:10pt;">For the three months ended </span><span style="font-family:inherit;font-size:10pt;">March 28, 2020</span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;">March 30, 2019</span><span style="font-family:inherit;font-size:10pt;">, the Company generated </span><span style="font-family:inherit;font-size:10pt;"><span>13.4%</span></span><span style="font-family:inherit;font-size:10pt;"> and </span><span style="font-family:inherit;font-size:10pt;"><span>16.1%</span></span> of total revenue, respectively, from one of its retailers (Amazon). <span style="font-family:inherit;font-size:10pt;">The Company operates as </span><span style="font-family:inherit;font-size:10pt;"><span>one</span></span> operating segment. 1 0.134 0.161 <div style="line-height:120%;padding-bottom:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;font-weight:bold;">14. Subsequent Event</span></div><div style="line-height:120%;padding-bottom:12px;text-indent:30px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">On April 24, 2020, the Company was granted a temporary exclusion from Section 301 List 3 tariffs by the United States Trade Representative. This exclusion eliminates the 25% tariff on Roomba products until August 7, 2020 and entitles the Company to a refund of approximately </span><span style="font-family:inherit;font-size:10pt;"><span>$57.0 million</span></span><span style="font-family:inherit;font-size:10pt;"> in tariffs paid since the date the Section 301 List 3 tariffs were imposed. No amounts have been recorded in the consolidated financial statements as of and for the three months ended March 28, 2020.</span></div> 57000000.0 Level 2 fair value estimates are based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities. Level 3 fair value estimates are based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability. Unobservable inputs used in the models are significant to the fair values of the assets and liabilities. (1)The amount represents the change in fair value of derivative contracts due to changes in spot rates. As of March 28, 2020, the Company’s investments had maturity dates ranging from May 2020 to March 2021. XML 74 R58.htm IDEA: XBRL DOCUMENT v3.20.1
Subsequent Event (Details)
$ in Millions
Apr. 24, 2020
USD ($)
Subsequent Event [Line Items]  
Recovery of Import Duties $ 57.0
XML 75 R54.htm IDEA: XBRL DOCUMENT v3.20.1
Commitments and Contingencies - Activity Related to Warranty Accrual (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Movement in Standard Product Warranty Accrual [Roll Forward]    
Balance at beginning of period $ 13,856 $ 11,964
Provision 4,475 2,652
Warranty usage (4,333) (2,988)
Balance at end of period $ 13,998 $ 11,628
XML 76 R50.htm IDEA: XBRL DOCUMENT v3.20.1
Derivative Instruments (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 28, 2020
Mar. 30, 2019
Derivative Instruments, Gain (Loss) [Line Items]    
Document Period End Date Mar. 28, 2020  
Revenue $ 192,535 $ 237,661
Total cost of revenue 114,580 118,115
Foreign Exchange Forward [Member] | Cash Flow Hedging [Member]    
Derivative Instruments, Gain (Loss) [Line Items]    
Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax [1] 7,566 6,404
Foreign Exchange Forward [Member] | Revenue Benchmark [Member] | Cash Flow Hedging [Member]    
Derivative Instruments, Gain (Loss) [Line Items]    
Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net $ 1,957 $ (144)
[1]
(1)
The amount represents the change in fair value of derivative contracts due to changes in spot rates.